Gets one cohort, with its progress and cost so far.
Progress is counted from the members now, so it keeps moving after the cohort settles — a redriven item shows here without re-running anything. Also carries the frozen snapshot the follow-up ran over, a sampled cohort's estimate, any budget windows raised for it, and the steps of its current follow-up.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The trigger identifier.
uuidThe cohort identifier.
uuidThe tenant identifier
Response Body
curl -X GET "https://api.fruxon.com/v1/tenants/string/triggers/497f6eca-6276-4993-bfeb-53cbbbba6f08/ledger/cohorts/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"id": "00000000-0000-0000-0000-000000000000",
"key": "string",
"source": "DOOR",
"name": "string",
"status": "OPEN",
"openedBy": "string",
"createdAt": 0,
"sealedAt": 0,
"settleBy": 0,
"settledAt": 0,
"completedAt": 0,
"partial": false,
"sampleSize": 0,
"confirmedAt": 0,
"confirmedBy": "string",
"detail": "string",
"progress": {
"members": 0,
"live": 0,
"done": 0,
"ignored": 0,
"dead": 0,
"alreadyHeld": 0,
"cells": [
{
"stageId": "string",
"status": "UNSPECIFIED",
"count": 0
}
],
"held": [
{
"stageId": "string",
"until": 0,
"reason": "string"
}
],
"cost": 0,
"credits": 0,
"runs": 0
},
"snapshot": {
"takenAt": 0,
"members": 0,
"done": 0,
"setAside": 0,
"setAsideByHand": 0,
"dead": 0,
"live": 0,
"partial": false,
"cells": [
{
"stageId": "string",
"status": "UNSPECIFIED",
"count": 0
}
],
"reasons": [
{
"reason": "string",
"count": 0
}
],
"stuckItemIds": [
"00000000-0000-0000-0000-000000000000"
],
"alreadyHeld": 0,
"cost": 0,
"credits": 0,
"runs": 0
},
"estimate": {
"computedAt": 0,
"sampleSize": 0,
"remainingCount": 0,
"countIsFloor": false,
"perItemP50": 0,
"perItemP90": 0,
"perItemMax": 0,
"creditsPerItemP90": 0,
"totalP50": 0,
"totalP90": 0,
"creditsP90": 0,
"sampleByStatus": {},
"budgetImpact": [
{
"agentId": "string",
"managed": false,
"projectedP90": 0,
"windows": null
}
],
"hash": "string",
"insufficient": false
},
"budgetGrants": [
{
"agentId": "string",
"period": "string",
"environmentSlug": "string",
"before": 0,
"after": 0,
"restored": false,
"note": "string"
}
],
"followUpGeneration": 0,
"followUps": [
{
"id": "00000000-0000-0000-0000-000000000000",
"generation": 0,
"stepIndex": 0,
"kind": "NOTIFY",
"step": {
"kind": "UNSPECIFIED",
"audience": null,
"hook": "string",
"agentId": "string",
"instruction": "string",
"actionCeiling": null,
"after": null,
"effectiveActionCeiling": "READ_ONLY",
"isSafeToRepeat": false
},
"status": "PENDING",
"attempts": 0,
"nextAttemptAt": 0,
"detail": "string",
"externalRef": "string",
"executionRecordId": "00000000-0000-0000-0000-000000000000",
"resolvedAt": 0
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Fetches a single delivery-attempt row.
Used by the Mappings tab's "Use as filter sample" affordance to seed the dry-run preview with a real (rejected) payload. Returns 404 when the attempt id is unknown or does not belong to the trigger.
Deliberately excludes every work item in a selection, with one reason.
"Drain this stage" is this verb with a stage filter. Same selection and confirmation rules as the re-drive; only READY, FAILED and DEAD items qualify, never one a pass holds. An explicit-id selection gets the same `skipped` list, naming what was left alone and why.