Skip to content
Anlyon
Esc
↑↓navigate↵open⌘Jpreview

List action invocations

GET/api/v2/actions/invocations
Authorization
AuthorizationBearer token (Anlyon API key) · headerrequired

Workspace API key sent as Authorization: Bearer <key>.

or
better-auth.session_tokenAPI key · cookierequired

Browser session used by dashboard-only operations.

Query parameters
actionstring

Action name or public action ID.

min length 1 · max length 100
statusstring

Filter by status. unknown lists calls waiting for an operator to confirm their outcome.

Allowed:pending_approvalrunningsucceededfailedunknowndeniedexpired
limitinteger
min 1 · max 100 · default: 20
offsetinteger
min 0 · default: 0
Header parameters
X-Request-Idstring

Optional caller correlation ID. Unsafe or oversized values are replaced.

max length 128
Responses
200

Invocations returned.

successbooleanrequired
Allowed:true
dataInvocation[]required
Show properties
Array of Invocation
idstringrequired
effectIdstring | nullrequired

The governed effect this invocation created, for a governed action (an adapter or a declaration). Its outcome, evidence and recovery are at GET /api/v2/actions/effects/{id}. Null for template actions.

gradestring | null

On invoke responses and single reads: the receipt grade of the effect this invocation created. See Effect.grade. Absent when the invocation has no effect, and on list reads.

Allowed:confirmedacknowledgedunknownfailedrefuseddeniedpendingnull
retryOfstring | nullrequired

The failed invocation this one deliberately retried.

retriedBystring | null

On single reads: the invocation that retried this one.

resolutionobject | null

On single reads: the operator's confirmed outcome for an invocation that was unknown.

Show properties
outcomestringrequired
Allowed:succeededfailed
evidencestringrequired
externalReferencestring | nullrequired
resolvedByobjectrequired
Show properties
typestringrequired
Allowed:api_keyuser
idstringrequired
resolvedAtstring<date-time>required
actionNamestringrequired
actionVersionIdstring | nullrequired

The immutable action version this invocation ran. Lets an audit answer which definition executed a given call rather than inferring it. Null only for invocations recorded before versioning existed.

statusstringrequired

unknown means the request may have reached the destination and Anlyon cannot confirm what happened a timeout, or a socket that died after the request was written. It is deliberately distinct from failed, which means the call did not happen: an error before anything left, such as a blocked URL or an invalid template. Do not retry an unknown invocation automatically. Reconcile it with the destination first; retrying is how one refund becomes two. This value is additive clients that do not know it should treat an unrecognised status as not-successful rather than as failed.

Allowed:pending_approvalrunningsucceededfailedunknowndeniedexpired
responseStatusinteger | nullrequired
min 100 · max 599
bodystring | nullrequired

Redacted and truncated upstream response body.

errorstring | nullrequired
durationMsinteger | nullrequired
min 0
approvalIdstring | nullrequired
decisionInvocationDecision | nullrequired

Why the request was allowed or refused, when a policy, a person or expiry decided it. Persisted on the invocation, so it reads the same after the policy is edited or deleted. Null while undecided, for an invocation that ran with no gate, and on rows recorded before this field existed. For a request that was never sent, responseStatus and body stay null: no response is fabricated.

Show properties
Any of:
InvocationDecision
sourcestringrequired
Allowed:policyhumansystemassistant
codestringrequired
Allowed:POLICY_DENIEDPOLICY_APPROVEDHUMAN_APPROVEDHUMAN_DENIEDAPPROVAL_EXPIREDASSISTANT_APPROVED
effectstringrequired

What actually happened to the request.

Allowed:approveddeniedexpired
explanationstringrequired
policyobject | nullrequired

The policy that decided, as it stood at decision time. Null when no policy decided.

Show properties
idstringrequired
namestringrequired
versionintegerrequired
decidedAtstring<date-time>required

Database time the decision was committed.

null
null
createdAtstring<date-time>required
completedAtstring<date-time> | nullrequired
paginationOffsetPaginationrequired
Show properties
totalintegerrequired
min 0
pageintegerrequired
min 1
limitintegerrequired
min 1
totalPagesintegerrequired
min 0
hasMorebooleanrequired
400

Bad Request - Invalid input data

successbooleanrequired
requestIdstringrequired

Correlation ID matching the X-Request-Id response header.

errorobjectrequired
Show properties
codestring
messagestring
detailsobject
401

Unauthorized - Invalid or missing API key

successbooleanrequired
requestIdstringrequired

Correlation ID matching the X-Request-Id response header.

errorobjectrequired
Show properties
codestring
messagestring
detailsobject
403

Authenticated credential lacks the required scope or workspace access.

successbooleanrequired
requestIdstringrequired

Correlation ID matching the X-Request-Id response header.

errorobjectrequired
Show properties
codestring
messagestring
detailsobject
404

Not Found - Resource does not exist

successbooleanrequired
requestIdstringrequired

Correlation ID matching the X-Request-Id response header.

errorobjectrequired
Show properties
codestring
messagestring
detailsobject
429

Too Many Requests - Rate limit exceeded

successbooleanrequired
requestIdstringrequired

Correlation ID matching the X-Request-Id response header.

errorobjectrequired
Show properties
codestring
messagestring
detailsobject
Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.anlyon.com/api/v2/actions/invocations' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "success": true,
  "data": [
    {
      "id": "inv_01JABCDEF",
      "effectId": "eff_01JABCDEF",
      "grade": "confirmed",
      "retryOf": "string",
      "retriedBy": "string",
      "resolution": {
        "outcome": "succeeded",
        "evidence": "string",
        "externalReference": "string",
        "resolvedBy": {
          "type": "api_key",
          "id": "string"
        },
        "resolvedAt": "2019-08-24T14:15:22Z"
      },
      "actionName": "string",
      "actionVersionId": "acv_01JABCDEF",
      "status": "pending_approval",
      "responseStatus": 100,
      "body": "string",
      "error": "string",
      "durationMs": 0,
      "approvalId": "string",
      "decision": {
        "source": "policy",
        "code": "POLICY_DENIED",
        "effect": "approved",
        "explanation": "Denied by policy \"refund_order_denied\", version 2. The request was not sent.",
        "policy": {
          "id": "apol_01JABCDEF",
          "name": "string",
          "version": 0
        },
        "decidedAt": "2019-08-24T14:15:22Z"
      },
      "createdAt": "2019-08-24T14:15:22Z",
      "completedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "pagination": {
    "total": 0,
    "page": 1,
    "limit": 1,
    "totalPages": 0,
    "hasMore": true
  }
}