Unreleased documentation. These pages follow the main branch and can change before the next release. For supported guidance, use v0.26.1.
List a caller-authorized inbox view
const url = 'https://casework.example.test/v1/work-items?view=mine&sort=due';const options = { method: 'GET', headers: {'Registry-Casework-Profile': 'example', Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://casework.example.test/v1/work-items?view=mine&sort=due' \ --header 'Authorization: Bearer <token>' \ --header 'Registry-Casework-Profile: example'With Registry-Source-Profile, reads BReg-backed work under that separate authority. A complete sourceId, subjectKind, and subjectId selector filters by one exact source-neutral subject. An exact reference lookup first uses the explicitly retained source field as a bounded candidate index, then returns an item only when the current caller read still discloses the same reference. Callers must follow every page and handle every visible occurrence rather than assuming a subject or reference is unique. The cursor is bound to the full selector, including a hash of the reference, and the selected sort; the raw reference is not stored in the cursor context. Without Registry-Source-Profile, a human Staff profile configured to decide at least one hosted kind reads hosted work for currently served queues in ascending createdAt and itemId order. A human Supervisor profile reads hosted work whenever the deployment configures any hosted kind. If the deployment configures a source, omission returns source-profile.required when the selected Staff profile decides no hosted kind or when no hosted kind is configured for a Supervisor. Hosted requests reject subject and reference selectors and non-default sorts.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Optional W3C trace context continued in the response.
Explicit Casework access profile. It never selects BReg authority.
Explicit source profile used for the caller-scoped BReg read or action.
Query Parameters
Section titled “Query Parameters”Required view evaluated before pagination.
Source-backed ordering. due orders by effective due date with undated items last, then age and item id; age orders oldest first; type orders by source-neutral subject kind, then age and item id. Defaults to due. Hosted inboxes reject age and type.
Optional queue identifier.
Exact source identifier. For source-backed requests, supply this together with subjectKind and subjectId or omit all three. The component must be nonempty and is carried without normalization.
Exact source-neutral subject kind. Supply together with sourceId and subjectId or omit all three. The component must be nonempty and is carried without normalization.
Exact source-neutral subject identifier. Supply together with sourceId and subjectKind or omit all three. The component must be nonempty, is carried without normalization, and is not restricted to UUID syntax.
Exact case-sensitive human reference. Available only for source-backed requests whose source policy explicitly names a displayReference field. Mutually exclusive with the three-part subject selector.
Opaque cursor bound to this authorized query.
Bounded page size; values above 100 are served as 100.
Responses
Section titled “Responses”Success
object
object
object
object
object
For running or verification-pending clocks, the earliest unapplied reminder and earliest unapplied reassignment, ordered by time, effect kind, and identifier. Omitted when no firing instant can be promised, including while paused. These are pinned authored instants, not scheduler retry times.
object
object
Human-facing source reference disclosed by the source to the current caller. Present only for source-backed items whose request policy explicitly names a reference field and whose current caller read discloses that field.
object
object
Sorted unique queue identifiers currently served by the authenticated Staff or Supervisor. Present even when items is empty.
Example
{ "items": [ { "assignment": { "staffingDiagnostic": "no_cover_available" }, "clockOccurrences": [ { "nextEffect": { "kind": "reminder" }, "state": "running", "upcomingEffects": [ { "kind": "reminder" } ] } ], "liveAttempt": { "state": "pending" }, "occurrenceKind": "review", "state": "open" } ], "status": "complete"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.invalid, source-profile.required
object
object
Example
{ "code": "request.invalid", "detail": "The Casework request is invalid.", "status": 400, "title": "Invalid request", "type": "https://id.registrystack.org/problems/registry-casework/request/invalid"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: authentication.refused
object
Example
{ "code": "authentication.refused", "detail": "The bearer credential is missing, invalid, or expired. Sign in again.", "status": 401, "title": "Authentication refused", "type": "https://id.registrystack.org/problems/registry-casework/authentication/refused"}Headers
Section titled “Headers”Bearer authentication challenge.
W3C trace context for the request and response.
Problem response: profile.not-authorized, profile.not-human
object
object
Example
{ "code": "profile.not-authorized", "detail": "The selected Casework profile does not authorize this request.", "status": 403, "title": "Profile not authorized", "type": "https://id.registrystack.org/problems/registry-casework/profile/not-authorized"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: work-item.not-visible
object
Example
{ "code": "work-item.not-visible", "detail": "The registry did not show you this request, so Casework cannot show you the item.", "status": 404, "title": "Work item not visible", "type": "https://id.registrystack.org/problems/registry-casework/work-item/not-visible"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.method-not-allowed
object
Example
{ "code": "request.method-not-allowed", "detail": "This route does not accept that HTTP method.", "status": 405, "title": "Method not allowed", "type": "https://id.registrystack.org/problems/registry-casework/request/method-not-allowed"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.body-too-large
object
Example
{ "code": "request.body-too-large", "detail": "The request body exceeds the one MiB limit.", "status": 413, "title": "Request body too large", "type": "https://id.registrystack.org/problems/registry-casework/request/body-too-large"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: runtime.failure
object
Example
{ "code": "runtime.failure", "detail": "Casework could not complete the request.", "status": 500, "title": "Casework runtime failure", "type": "https://id.registrystack.org/problems/registry-casework/runtime/failure"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: source.bad-gateway
object
Example
{ "code": "source.bad-gateway", "detail": "The source returned a response that does not match its registered contract.", "status": 502, "title": "Invalid source response", "type": "https://id.registrystack.org/problems/registry-casework/source/bad-gateway"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: service.unavailable, work-item.source-unavailable
object
object
Example
{ "code": "service.unavailable", "detail": "Casework storage is unavailable. Try again after the service recovers.", "status": 503, "title": "Casework service unavailable", "type": "https://id.registrystack.org/problems/registry-casework/service/unavailable"}Headers
Section titled “Headers”Seconds before retrying the unavailable dependency.
W3C trace context for the request and response.