Released docs. You are viewing the documentation published with v0.34.0. Development docs are available at Latest.
Issue a short-lived task assertion
const url = 'https://casework.example.test/v1/task-grants/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/assertion';const options = {method: 'POST', headers: {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 POST \ --url https://casework.example.test/v1/task-grants/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/assertion \ --header 'Authorization: Bearer <token>'Requires a bootstrap agent token with casework:grants:assert, exact single Casework audience, and the registered agent principal/client. Profile headers and grant-bearing tokens are refused. Fresh eligibility and source checks precede issuance; assertion lifetime is at most 60 seconds and never exceeds the original grant deadline.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”Immutable task grant identifier.
Header Parameters
Section titled “Header Parameters”Optional W3C trace context continued in the response.
Responses
Section titled “ Responses ”Success
object
Sensitive short-lived credential. Do not log or persist.
Examplegenerated
{ "assertion": "example", "expiresAt": 1, "grantExpiresAt": 1}Headers
Section titled “Headers”W3C trace context for the request and response.
Problem response: request.invalid
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: operation.not-authorized, profile.not-authorized, profile.not-human
object
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: source.not-found, work-item.not-visible
object
object
Example
{ "code": "source.not-found", "detail": "The requested source is not registered.", "status": 404, "title": "Source not found", "type": "https://id.registrystack.org/problems/registry-casework/source/not-found"}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: work-item.proposal-changed, work-item.not-offered, work-item.recovery-pending
object
object
object
Example
{ "code": "work-item.proposal-changed", "detail": "The proposal changed since you read it. Your private draft is retained.", "status": 409, "title": "Work item proposal changed", "type": "https://id.registrystack.org/problems/registry-casework/work-item/proposal-changed"}Headers
Section titled “Headers”Original attempt UUID, present only when the entitled recovery-pending response can disclose it.
W3C trace context for the request and response.
Problem response: precondition.failed
object
Example
{ "code": "precondition.failed", "detail": "The item or directory changed since you loaded it. Reload and try again.", "status": 412, "title": "Precondition failed", "type": "https://id.registrystack.org/problems/registry-casework/precondition/failed"}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.