Unreleased documentation. These pages follow the main branch and can change before the next release. For supported guidance, use v0.26.1.
Create or recover a unified review request
const url = 'https://casework.example.test/v1/review-requests';const options = { method: 'POST', headers: { 'Registry-Casework-Profile': 'example', 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"context":{"snapshot":{},"strategy":"submitted"},"initiator":{"issuer":"example","subject":"example"},"kind":"example","requesterReference":"example","resultConstraints":{},"subject":{"digest":"example","id":"example","source":"example","type":"example","version":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://casework.example.test/v1/review-requests \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'Registry-Casework-Profile: example' \ --data '{ "context": { "snapshot": {}, "strategy": "submitted" }, "initiator": { "issuer": "example", "subject": "example" }, "kind": "example", "requesterReference": "example", "resultConstraints": {}, "subject": { "digest": "example", "id": "example", "source": "example", "type": "example", "version": "example" } }'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.
Caller-selected ASCII graphic key bound to this exact mutation.
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
Responses
Section titled “ Responses ”Recovered the exact existing request binding.
object
object
object
Examplegenerated
{ "policy": { "digest": "example", "id": "example", "version": "example" }, "requestId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "subject": { "digest": "example", "id": "example", "source": "example", "type": "example", "version": "example" }, "submissionDigest": "example"}Headers
Section titled “Headers”W3C trace context for the request and response.
Success
object
object
object
Examplegenerated
{ "policy": { "digest": "example", "id": "example", "version": "example" }, "requestId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "subject": { "digest": "example", "id": "example", "source": "example", "type": "example", "version": "example" }, "submissionDigest": "example"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.invalid, source-profile.not-applicable
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”Bounded JSON path for a typed review validation failure. Present together with Registry-Casework-Validation-Reason; rejected values are never echoed.
Stable, value-free reason for a typed review validation failure. Present together with Registry-Casework-Validation-Path.
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: operation.not-authorized, profile.not-authorized
object
object
Example
{ "code": "operation.not-authorized", "detail": "Your current Casework authority does not allow this operation.", "status": 403, "title": "Operation not authorized", "type": "https://id.registrystack.org/problems/registry-casework/operation/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: idempotency.key-reused, review.submission-conflict
object
object
Example
{ "code": "idempotency.key-reused", "detail": "This idempotency key was used for a different request.", "status": 409, "title": "Idempotency key reused", "type": "https://id.registrystack.org/problems/registry-casework/idempotency/key-reused"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: idempotency.expired, review.result-expired
object
object
Example
{ "code": "idempotency.expired", "detail": "The stored response for this idempotency key has expired. Reconcile the original operation before choosing a new key.", "status": 410, "title": "Idempotency window expired", "type": "https://id.registrystack.org/problems/registry-casework/idempotency/expired"}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: request.unsupported-media-type
object
Example
{ "code": "request.unsupported-media-type", "detail": "Send a JSON request body with Content-Type application/json.", "status": 415, "title": "Unsupported media type", "type": "https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type"}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.unprocessable, review.initiator-required
object
object
Example
{ "code": "request.unprocessable", "detail": "The request body does not match the Casework contract.", "status": 422, "title": "Request could not be processed", "type": "https://id.registrystack.org/problems/registry-casework/request/unprocessable"}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: service.unavailable
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.