Documentation Index
Fetch the complete documentation index at: https://docs.offloadapi.com/llms.txt
Use this file to discover all available pages before exploring further.
Endpoint
Purpose
Returns the current public state of a case owned by the authenticated client.
Authentication
Path Parameters
| Parameter | Type | Required | Notes |
|---|
id | string | Yes | The case ID returned by POST /cases. |
Query Parameters
| Parameter | Type | Required | Notes |
|---|
includeTranscript | string | No | When the value is the literal string true, Offload fetches the tracked AgentMail thread and includes conversationThread. |
Returned Fields
| Field | Notes |
|---|
caseId | Offload case ID |
clientReferenceId | Present when provided at creation time |
status | Current case status |
createdAt | Unix timestamp in milliseconds |
updatedAt | Unix timestamp in milliseconds |
nextActionAt | Scheduled timestamp, or the unscheduled sentinel 253402300799999 |
attemptCount | Number of outbound messages sent so far |
maxAttempts | Maximum follow-up attempts after the initial outreach |
channel | Current schema allows EMAIL or SMS, but production workflow is email-based |
counterparty | Public counterparty object |
attachments | Inbound attachment metadata only |
resultStatus | Open string for workflow outcome |
result | Present when the case has structured output |
goal | Original goal object |
resultSchema | Present if provided at creation time |
senderPersona | Original sender persona |
constraints | Present if provided at creation time |
inputRequest | null or { id, question, status, requestedAt } |
conversationThread | Only included when includeTranscript=true |
Important Omissions
GET /cases/{id} does not currently return:
metadata
failureReason
clientWebhookUrl
- internal scheduling fields like
nextActionType
Example Response
{
"ok": true,
"data": {
"caseId": "4fc5904d-0e44-4ed3-aa57-c4a47ad0ae4f",
"clientReferenceId": "vendor_2048",
"status": "INPUT_NEEDED",
"createdAt": 1774131000000,
"updatedAt": 1774131900300,
"nextActionAt": 253402300799999,
"attemptCount": 1,
"maxAttempts": 3,
"channel": "EMAIL",
"counterparty": {
"address": "ap@northstar.example",
"name": "Maya Chen",
"company": "Northstar Supplies",
"timezone": "America/Los_Angeles"
},
"attachments": [],
"goal": {
"objective": "Collect a signed W-9 from the vendor"
},
"resultSchema": {
"type": "object"
},
"senderPersona": {
"name": "Avery",
"role": "Accounts Payable"
},
"constraints": ["Email only"],
"inputRequest": {
"id": "c8c6a7ca-a913-4d13-8cd8-5887efb0531c",
"question": "The vendor asked whether a signed PDF is acceptable. How should I respond?",
"status": "PENDING",
"requestedAt": 1774131900300
}
}
}
Example Response With Transcript
Request:
GET /cases/{id}?includeTranscript=true
Response:
{
"ok": true,
"data": {
"caseId": "4fc5904d-0e44-4ed3-aa57-c4a47ad0ae4f",
"status": "RUNNING",
"createdAt": 1774131000000,
"updatedAt": 1774131900000,
"nextActionAt": 1774387500000,
"attemptCount": 2,
"maxAttempts": 3,
"channel": "EMAIL",
"counterparty": {
"address": "ap@northstar.example",
"name": "Maya Chen"
},
"attachments": [],
"goal": {
"objective": "Collect a signed W-9 from the vendor"
},
"senderPersona": {
"name": "Avery"
},
"inputRequest": null,
"conversationThread": "From: Avery <avery@agentmail.to>\nTimestamp: 2026-03-20T18:10:00.000Z\nMessage: Hi Maya, could you send the signed W-9?\n\n---\n\nFrom: Maya Chen <ap@northstar.example>\nTimestamp: 2026-03-21T15:42:00.000Z\nMessage: Attached here."
}
}
conversationThread is formatted plain text, not an array of structured messages.
Attachment Downloads
Use GET /cases/{id}/attachments/{attachmentId} when you need a fresh downloadUrl.
Errors
| Status | Code | Meaning |
|---|
400 | INVALID_REQUEST | Missing case ID |
401 | UNAUTHORIZED | Missing or invalid API key |
403 | FORBIDDEN | Inactive API key or case belongs to another user |
404 | CASE_NOT_FOUND | No case exists for that ID |
If includeTranscript=true and the live AgentMail fetch fails, the current implementation may return a generic platform 500 instead of the standard JSON error envelope.