openmemory
Docs
Actions

Move an action to a new status, only if it is still in `from`

POST
/v1/actions/{id}/transition

Compare-and-set: two callers cannot both move A7 from approved to executing. Allowed: pending→approved|executing|denied|expired|superseded|blocked, approved→executing|denied|expired|superseded, executing→done|failed, blocked→pending|denied|superseded, failed→pending. Expired actions cannot be approved or executed.

Authorization

headerAuthorizationBearer <token>

Your space key (om_...). Create one with POST /v1/spaces.

Path Parameters

id*string

Short action id, e.g. A7

Length1 <= length <= 32

Request Body

application/json
  1. body
from*string

The status you expect the action to be in now.

Value in"pending""approved""executing""done""failed""denied""expired""superseded""blocked"
to*ActionStatus
Value in"pending""approved""executing""done""failed""denied""expired""superseded""blocked"
receipt?

What the execution did. Usually sent with to=done or to=failed.

Response Body

Moved

application/json
  1. response
id*string
class*string
summary*string
payload*
payload_hash*string
preconditions*array<unknown>
meta*
idempotency_key*string
status*ActionStatus
Value in"pending""approved""executing""done""failed""denied""expired""superseded""blocked"
receipt*|null
expires_at*string|null
created_at*string
updated_at*string
Example Request
curl -X POST 'https://api.openmemory.sh/v1/actions/string/transition' \  -H 'Content-Type: application/json' \  -d '{  "from": "pending",  "to": "pending"}'
Example Response
{  "id": "string",  "class": "string",  "summary": "string",  "payload": {    "property1": null,    "property2": null  },  "payload_hash": "string",  "preconditions": [    null  ],  "meta": {    "property1": null,    "property2": null  },  "idempotency_key": "string",  "status": "pending",  "receipt": {    "property1": null,    "property2": null  },  "expires_at": "string",  "created_at": "string",  "updated_at": "string"}