API reference
Get insights
/ api/ v1/ insightsThe telemetry behind the Insights page: recent transfers, cycle runs, cycle snapshots, treasury moves and screenings. referenceDisagreementCount: null means the cycle predates the comparison, and status: "partial" is reported as it is, not rewritten as completed or failed.
Send a workspace API key as Authorization: Bearer ….
Parameters
No parameters.
Try it
The key is kept in memory only, for this page.
Code samples
curl "https://www.vestiarion.xyz/api/v1/insights" \
-H "Authorization: Bearer $VESTIARION_API_KEY"Response
Example{
"data": {
"transfers": [
{
"id": "359e82e1-958d-4327-9174-e0b885eebe8f",
"targetType": "invoice",
"targetId": "1d7e1714-3f84-493e-a3ea-c984a2881100",
"txRef": "0x36ea71ac97cad3743f227860785207e6f25148251735569be0f6b16c73130343",
"feeUsd": 0.003248,
"feeSource": "chain_reported",
"settledInMs": 5000,
"chain": "ARC-TESTNET",
"providerMode": "live",
"executedAt": "2026-09-24T11:55:24.131+00:00",
"status": "confirmed"
}
],
"runs": [
{
"id": "8cbcf6ca-2d58-43c9-9237-3000851e7046",
"startedAt": "2026-09-24T11:53:06.672+00:00",
"finishedAt": "2026-09-24T11:53:16.101+00:00",
"durationMs": 9429,
"decisionCount": 1,
"paidCount": 0,
"heldCount": 0,
"flaggedCount": 0,
"awaitingInfoCount": 0,
"releasedCount": 0,
"modelDecisionCount": 1,
"heuristicDecisionCount": 0,
"guardrailOverrideCount": 0,
"referenceDisagreementCount": null,
"status": "completed",
"failedStage": null,
"errorMessage": null,
"chainMode": "live",
"screeningMode": "simulate"
},
{
"id": "bd76f653-4352-42b3-aec5-5ddbbe01c882",
"startedAt": "2026-09-24T15:22:50.871+00:00",
"finishedAt": "2026-09-24T15:23:00.617+00:00",
"durationMs": 9746,
"decisionCount": 0,
"paidCount": 0,
"heldCount": 0,
"flaggedCount": 0,
"awaitingInfoCount": 0,
"releasedCount": 0,
"modelDecisionCount": 0,
"heuristicDecisionCount": 0,
"guardrailOverrideCount": 0,
"referenceDisagreementCount": 0,
"status": "partial",
"failedStage": "ap",
"errorMessage": "ap: AGENT_LLM_PROVIDER=openai but OPENAI_API_KEY is not set; treasury: AGENT_LLM_PROVIDER=openai but OPENAI_API_KEY is not set",
"chainMode": "live",
"screeningMode": "simulate"
}
],
"snapshots": [
{
"id": "352d94e4-a945-420f-a933-34b06b46412b",
"cycleRunId": "8cbcf6ca-2d58-43c9-9237-3000851e7046",
"capturedAt": "2026-09-24T11:53:16.101+00:00",
"totalLiquid": 27.58,
"openPayables": 10.695,
"openReceivables": 9,
"obligationsDue7d": 12.195,
"obligationsDue14d": 12.195,
"reservePosition": 0,
"chainMode": "live"
}
],
"treasuryMoves": [],
"screenings": [
{
"id": "54d6f2a8-d939-45ef-a41e-61f88fd362ae",
"counterpartyId": "dc5e5751-3287-46c9-8bd1-83a42ab02699",
"counterpartyName": "Anthropic API Services",
"riskLevel": "clear",
"previousRiskLevel": null,
"tierChanged": false,
"mode": "simulate",
"source": "simulated-sanctions-list",
"status": "complete",
"createdAt": "2026-09-24T11:55:11.147351+00:00"
}
]
}
}dataobjectThe telemetry behind the Insights charts: the most recent transfers, cycle runs, snapshots, treasury moves and screenings, each oldest first.
5 fields in data
transfersarray of object11 fields in transfers
idstringtargetTypestringOne of
invoicemilestonetargetIdstringtxRefstringfeeUsdnumberfeeSourcestringOne of
chain_reportedprovider_estimatesimulated_profilesettledInMsnumber · nullablechainstringproviderModestringOne of
livesimulateexecutedAtstringstatusstring
runsarray of object19 fields in runs
idstringstartedAtstringfinishedAtstringdurationMsnumberdecisionCountnumberpaidCountnumberheldCountnumberflaggedCountnumberawaitingInfoCountnumberreleasedCountnumbermodelDecisionCountnumberheuristicDecisionCountnumberguardrailOverrideCountnumberreferenceDisagreementCountnumber · nullableModel verdicts that chose a different action from the rule-based policy. Null for cycles run before the comparison existed, never zero, which would claim perfect agreement over decisions never compared.
statusstringA cycle that failed partway is not a quiet cycle, and must not read as one. Its counts are real but partial: they cover the stages that ran before it stopped, and nothing after.
One of
runningcompletedpartialfailedfailedStagestring · nullableerrorMessagestring · nullablechainModestringOne of
livesimulatescreeningModestringOne of
livesimulate
snapshotsarray of object10 fields in snapshots
idstringcycleRunIdstringcapturedAtstringtotalLiquidnumberopenPayablesnumberopenReceivablesnumberobligationsDue7dnumberobligationsDue14dnumberreservePositionnumberchainModestringOne of
livesimulate
treasuryMovesarray of object4 fields in treasuryMoves
idstringactionstringOne of
sweep_to_usycredeem_from_usycrebalanceamountnumbercreatedAtstring
screeningsarray of object10 fields in screenings
idstringcounterpartyIdstringcounterpartyNamestringriskLevelstringpreviousRiskLevelstring · nullabletierChangedbooleanmodestringOne of
livesimulatesourcestringstatusstringOne of
completefailedcreatedAtstring
Errors
| Status | Code | When |
|---|---|---|
| 401 | unauthorized | No key, or a malformed, unknown or revoked one: "A valid API key is required." |
| 403 | forbidden | The key's scopes do not cover this route: "This key cannot do that." Or, on a write, the person who created the key can no longer add records: "This key's issuer can no longer add records in this workspace." |
| 500 | internal | An unexpected server error. Implementation details are not exposed. |