Get a function run
A run with its input and output, every call it made in order (refused ones included) and its receipt. A plan run carries its plan and the plan’s approval; an apply run names the plan run it carried out. A key created with endUserRequired reads its own end user’s runs and no others.
/api/v2/function-runs/{id}AuthorizationBearer token (Anlyon API key) · headerrequiredWorkspace API key sent as Authorization: Bearer <key>.
better-auth.session_tokenAPI key · cookierequiredBrowser session used by dashboard-only operations.
idstringrequiredThe run's id (frn_...).
X-Request-IdstringOptional caller correlation ID. Unsafe or oversized values are replaced.
Anlyon-End-UserstringThe end user this call acts for: your own id for them, 1 to 128 characters of letters, digits and . _ : @ -. Accepted only with an API key, which stays on your server; a session or an OAuth token that sends it is refused. A key created with endUserRequired must send it on every action call (400 END_USER_REQUIRED). On an /end-users/{endUserId} route it must name the same end user as the path.
The run.
successbooleanrequiredtruedataFunctionRunrequiredShow propertiesHide properties
idstringrequiredfunctionIdstringrequiredfunctionNamestringrequiredfunctionVersionIdstringrequiredmodestringrequiredstraight_throughplanapplystatusstringrequiredrunningsucceededfailedbudget_exceededplannedawaiting_approvaldivergedendUserIdstring | nullrequiredThe end user the run acted for. Every call carried it.
inputobjectrequiredinputDigeststringrequiredoutputany | nullrequiredWhat run returned
errorobject | nullrequiredShow propertiesHide properties
codestringrequiredmessagestringrequiredlogsstring[]requiredLines from anlyon.log. At most 100.
budgetstring | nullrequiredThe budget that ended the run.
maxActionCallsmaxCpuMsmaxSubrequeststimeoutMsactionCallsintegerrequiredcallsFunctionRunCall[]requiredShow propertiesHide properties
FunctionRunCallsequenceintegerrequiredactionstringrequiredkindstringrequiredFrom the action's method. A GET reads.
readwritestatestringrequiredintent is a write a plan run recorded and did not send.
intentdispatchedrefusedfailedinvocationIdstring | nullrequiredThe invocation the call became
refusalstring | nullrequiredWhy the call was refused, when it was. RUN_DIVERGED for an apply run's write that did not match its plan.
plannedSequenceinteger | nullrequiredAn apply run's write
createdAtstring<date-time>requiredplanFunctionRunPlan | nullrequiredA plan run's plan
Show propertiesHide properties
digeststringrequiredCovers the version
writesobject[]requiredShow propertiesHide properties
objectsequenceintegerrequiredactionstringrequiredinputanyrequiredThe write's input
approvalobject | nullrequiredNull when the plan has no writes. It needs no approval.
Show propertiesHide properties
idstringrequiredstatusstringrequiredpendingapproveddeniedexpireddeciderstringrequiredteamend_userappliedByRunIdstring | nullrequiredThe apply run that carried out the plan. A plan is applied at most once.
nullplanRunIdstring | nullrequiredAn apply run's plan run.
planDigeststring | nullrequiredAn apply run's approved plan digest.
approvalIdstring | nullrequiredAn apply run's plan approval.
receiptFunctionRunReceipt | nullrequiredShow propertiesHide properties
functionIdstringrequiredfunctionVersionIdstringrequireddigeststringrequiredinputDigeststringrequiredmodestringrequiredstraight_throughplanapplyplanDigeststring | nullrequiredA plan run's plan
approvalIdstring | nullrequiredplanRunIdstring | nullrequiredFor an apply run
callsobject[]requiredShow propertiesHide properties
objectsequenceintegerrequiredactionstringrequiredkindstringrequiredreadwritestatestringrequiredintentdispatchedrefusedfailedinvocationIdstring | nullrequiredrefusalstring | nullrequiredplannedSequenceinteger | nullrequiredoutcomestringrequiredsucceededfailedbudget_exceededplannedawaiting_approvaldivergedbudgetstring | nullrequiredmaxActionCallsmaxCpuMsmaxSubrequeststimeoutMsfinishedAtstring<date-time>requirednulldurationMsinteger | nullrequiredcreatedAtstring<date-time>requiredfinishedAtstring<date-time> | nullrequiredUnauthorized - Invalid or missing API key
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectfixErrorFixHow to get past this error, for a person or an agent. Present on refusals with a known next step, such as a missing scope or role, a plan or billing limit, a halted environment, or a missing secret, connected account, OAuth app or end-user header. Absent when there is no fix to give. Kept in production responses, unlike details.
Show propertiesHide properties
summarystringrequiredOne sentence that says what to do.
commandstringAn exact anlyon CLI command that fixes it. Absent when no command does.
urlstring<uri>An absolute console link where a person fixes it.
docsstring<uri>A docs page that explains it.
Authenticated credential lacks the required scope or workspace access.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectfixErrorFixHow to get past this error, for a person or an agent. Present on refusals with a known next step, such as a missing scope or role, a plan or billing limit, a halted environment, or a missing secret, connected account, OAuth app or end-user header. Absent when there is no fix to give. Kept in production responses, unlike details.
Show propertiesHide properties
summarystringrequiredOne sentence that says what to do.
commandstringAn exact anlyon CLI command that fixes it. Absent when no command does.
urlstring<uri>An absolute console link where a person fixes it.
docsstring<uri>A docs page that explains it.
Not Found - Resource does not exist
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectfixErrorFixHow to get past this error, for a person or an agent. Present on refusals with a known next step, such as a missing scope or role, a plan or billing limit, a halted environment, or a missing secret, connected account, OAuth app or end-user header. Absent when there is no fix to give. Kept in production responses, unlike details.
Show propertiesHide properties
summarystringrequiredOne sentence that says what to do.
commandstringAn exact anlyon CLI command that fixes it. Absent when no command does.
urlstring<uri>An absolute console link where a person fixes it.
docsstring<uri>A docs page that explains it.
Too Many Requests - Rate limit exceeded. A workspace's API requests are limited per minute and per UTC clock hour by plan; Retry-After says when to try again, and an hourly refusal names the limit and when the count resets. Successful responses carry the same limits in X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (the minute) and X-RateLimit-Limit-Hour, X-RateLimit-Remaining-Hour, X-RateLimit-Reset-Hour (the hour).
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectfixErrorFixHow to get past this error, for a person or an agent. Present on refusals with a known next step, such as a missing scope or role, a plan or billing limit, a halted environment, or a missing secret, connected account, OAuth app or end-user header. Absent when there is no fix to give. Kept in production responses, unlike details.
Show propertiesHide properties
summarystringrequiredOne sentence that says what to do.
commandstringAn exact anlyon CLI command that fixes it. Absent when no command does.
urlstring<uri>An absolute console link where a person fixes it.
docsstring<uri>A docs page that explains it.

