Update Case
Move a case to another status, archive it, or restore it
status to move the case through its lifecycle, archived to
archive or restore it, or both in the same call. At least one of the two is required.
Statuses
These five keys are always accepted:statuses array of
Get Case — you never have to hardcode them.
There is no transition matrix: any accepted key can follow any other, reopening a
closed case included. This is the same freedom a user has inside Penbox.
parent_status is derived by Penbox from the status you set and cannot be written.
Authorizations
API token (starts with pnbx_). Create at https://app.penbox.io/workspace/settings/api. Include as: Authorization: Bearer {token}
Path Parameters
Case UUID
Body
The status key to move the case to. Always accepted: draft, pending, in_progress, closed, cancelled. A case created from a case template also accepts that template's custom status keys — read them from the statuses array of GET /cases/{id}. Any other key returns 422 with the list of accepted keys.
"in_progress"
Set to true to archive the case, false to restore it.
true
Response
Case updated successfully
Case UUID
Case title
Parent status
draft, pending, in_progress, closed, cancelled Creation timestamp
Last update timestamp
Workspace the case belongs to
Case description
Language/locale code
Custom reference number
Key of the current status
Human-readable label of the current status. Custom statuses return the label configured on the case template, in the language it was written in. Built-in statuses (draft, pending, in_progress, closed, cancelled) return an English label, as the API has no notion of the reader's language.
"Waiting for documents"
Who the case is waiting for
none, owner, contact Statuses available on this case, inherited from its case template. Use it to resolve the status key into a readable label. Null when no status is configured.
Timestamp when archived
Array of contact objects
Template reference
Case owner information
Who decided to create the case: human a person, ai a model, automation a rule configured on a case template, partner a partner integration, system Penbox itself or an API token. Read-only, and null on cases created before this was recorded.
human, ai, automation, partner, system The surface the case came through: the Penbox app, the Outlook add-in, an AI assistant, this API, an email, a completed form, a connection or Penbox itself. Read-only, and null on cases created before this was recorded.
app, outlook, mcp, api, email, form, connection, system The workspace member who created the case. Null when no person created it, and null on cases created before this was recorded. Read-only.
Array of step objects representing the case workflow
Array of data fields with their current values