Resolve an unknown invocation
Record what the destination confirms happened to an invocation whose status is unknown. Nothing is sent to the destination. Resolved succeeded is billed; resolved failed releases the reserved usage and refunds the key’s budget reservation. The resolution, with its evidence, operator and time, is kept permanently and returned as resolution. Only one resolution can win: an invocation that is no longer unknown returns 409. Needs actions:resolve (never granted by default) or a workspace admin in the console. The key that requested the invocation can never resolve it. The Idempotency-Key of the original stays taken; to run the action again, invoke with a new key and retryOf. An invocation governed by an effect (effectId set) is refused with 409 EFFECT_RESOLUTION_REQUIRED and the effect in details.effectId: resolve the effect at POST /api/v2/actions/effects/{id}/resolve, which settles its business allowance too.
/api/v2/actions/invocations/{id}/resolveAuthorizationBearer token (Anlyon API key) · headerrequiredWorkspace API key sent as Authorization: Bearer <key>.
better-auth.session_tokenAPI key · cookierequiredBrowser session used by dashboard-only operations.
idstringrequiredPublic invocation identifier.
X-Request-IdstringOptional caller correlation ID. Unsafe or oversized values are replaced.
application/jsonoutcomestringrequiredsucceededfailedevidencestringrequiredWhat you checked at the destination.
externalReferencestring | nullThe destination's own reference, such as a charge or ticket id.
Invocation returned.
successbooleanrequiredtruedataInvocationrequiredShow propertiesHide properties
idstringrequiredeffectIdstring | nullrequiredThe 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 | nullOn 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.
confirmedacknowledgedunknownfailedrefuseddeniedpendingnullretryOfstring | nullrequiredThe failed invocation this one deliberately retried.
retriedBystring | nullOn single reads: the invocation that retried this one.
resolutionobject | nullOn single reads: the operator's confirmed outcome for an invocation that was unknown.
Show propertiesHide properties
outcomestringrequiredsucceededfailedevidencestringrequiredexternalReferencestring | nullrequiredresolvedByobjectrequiredShow propertiesHide properties
typestringrequiredapi_keyuseridstringrequiredresolvedAtstring<date-time>requiredactionNamestringrequiredactionVersionIdstring | nullrequiredThe 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.
statusstringrequiredunknown 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.
pending_approvalrunningsucceededfailedunknowndeniedexpiredresponseStatusinteger | nullrequiredbodystring | nullrequiredRedacted and truncated upstream response body.
errorstring | nullrequireddurationMsinteger | nullrequiredapprovalIdstring | nullrequireddecisionInvocationDecision | nullrequiredWhy 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 propertiesHide properties
sourcestringrequiredpolicyhumansystemassistantcodestringrequiredPOLICY_DENIEDPOLICY_APPROVEDHUMAN_APPROVEDHUMAN_DENIEDAPPROVAL_EXPIREDASSISTANT_APPROVEDeffectstringrequiredWhat actually happened to the request.
approveddeniedexpiredexplanationstringrequiredpolicyobject | nullrequiredThe policy that decided, as it stood at decision time. Null when no policy decided.
Show propertiesHide properties
idstringrequirednamestringrequiredversionintegerrequireddecidedAtstring<date-time>requiredDatabase time the decision was committed.
nullcreatedAtstring<date-time>requiredcompletedAtstring<date-time> | nullrequiredBad Request - Invalid input data
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectUnauthorized - Invalid or missing API key
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectAuthenticated credential lacks the required scope or workspace access.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectNot Found - Resource does not exist
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectThe request conflicts with current resource state or a concurrent decision.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectToo Many Requests - Rate limit exceeded
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobject
