REST API · requests
GET /requests/{requestId}/receipts
Every target this request fanned out to, each carrying its delivery receipt or the reason it has none. A delivery still in flight answers the same shape as a settled one. A sync/stream target carries `reason: "sync_or_stream_delivery"` instead, since it completes inside the caller's own HTTP response and never gets one. Mirrors the `get_receipts` MCP tool.
get_api_requests_receipts
Authentication
- Bearer
Parameters
| Name | In | Required | Schema | Description |
|---|---|---|---|---|
| requestId | path | yes | {"type":"string","pattern":"[0-9a-fA-F-]{36}"} |
Responses
200
Delivery receipts for one request, one entry per fanned-out target.
application/json
{
"properties": {
"requestId": {
"type": "string",
"format": "uuid"
},
"receipts": {
"type": "array",
"items": {
"properties": {
"available": {
"type": "boolean"
},
"reason": {
"type": "string",
"nullable": true,
"enum": [
"sync_or_stream_delivery",
"not_found"
]
}
},
"type": "object"
}
}
},
"type": "object"
}
{
"requestId": "a1b2c3d4-5e6f-4a1b-8c2d-9e0f1a2b3c4d",
"receipts": [
{
"targetId": "b2c3d4e5-6f7a-4b2c-8d3e-0f1a2b3c4d5e",
"targetURL": "https://api.support-vendor.example/lifecycle",
"available": true,
"reason": null,
"status": "delivered",
"attempt": 1,
"enqueuedAt": 1768464000000,
"updatedAt": 1768464000600,
"completedAt": 1768464000600,
"terminalError": null,
"callbackState": "none"
}
]
}