Skip to content
Registry StackDocsDevelopment (unreleased)

Describe casework

GET
/v1/casework
curl --request GET \
--url https://example.com/v1/casework \
--header 'Authorization: Bearer <token>' \
--header 'registry-casework-profile: example'
traceparent
string
registry-casework-profile
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9._:-]+$/

The caller’s exact governed access profile for this protocol.

Success

Media typeapplication/json
object
calendars
required
Array<object>
default:
object
holidaySet
required
string
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
timezone
required
string
workingWeekdays
required
Array<string>
unique items
Allowed values: monday tuesday wednesday thursday friday saturday sunday
clocks
required
Array
default:
One of:
object
after
required
One of:
object
minutes
required
integer format: uint32
>= 1 <= 5256000
anchor
required

The instant a subject clock counts from: anchor: {type: request-accepted}.

object
type
required
string
Allowed values: request-accepted
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
type
required
string
Allowed value: subject
contextProviders
required
Array<object>
object
capabilities
required
Array<string>
unique items
Allowed values: human-display service-status task-grant-context routing-context
deploymentRef
required
string
description
string | null
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
serviceProfiles
required
object
human-display
string
routing-context
string
service-status
string
task-grant-context
string
sourceNamespace
required
string
policyVersion
required
string
projectId
required
string
queues
required
Array<object>
object
id
required
string
label
required
string
reviewPolicies
required
Array<object>
object
clocks
Array<string>
context
required
One of:
object
mode
required
string
Allowed value: submitted
displaySchema
required
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
label
Any of:

Human-readable display text. Bidirectional embedding, override, and isolate controls, byte-order marks, line and paragraph separators, and Unicode noncharacters are refused; multilingual joiners and direction marks remain valid.

string
/[

‪-‮⁦-⁩﷐-﷯￾￿]|🿾|🿿|𯿾|𯿿|𿿾|𿿿|񏿾|񏿿|񟿾|񟿿|񯿾|񯿿|񿿾|񿿿|򏿾|򏿿|򟿾|򟿿|򯿾|򯿿|򿿾|򿿿|󏿾|󏿿|󟿾|󟿿|󯿾|󯿿|󿿾|󿿿|􏿾|􏿿/
outcomes

Written in configuration as a mapping from each outcome id; served as a list by id.

Array<object>
object
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
label
required

Human-readable display text. Bidirectional embedding, override, and isolate controls, byte-order marks, line and paragraph separators, and Unicode noncharacters are refused; multilingual joiners and direction marks remain valid.

string
/[

‪-‮⁦-⁩﷐-﷯￾￿]|🿾|🿿|𯿾|𯿿|𿿾|𿿿|񏿾|񏿿|񟿾|񟿿|񯿾|񯿿|񿿾|񿿿|򏿾|򏿿|򟿾|򟿿|򯿾|򯿿|򿿾|򿿿|󏿾|󏿿|󟿾|󟿿|󯿾|󯿿|󿿾|󿿿|􏿾|􏿿/
publicReason
required

Whether a decision with this outcome gives text for release to the subject’s owner. There is no default: the policy author decides what an applicant is told.

string
Allowed values: required optional none
reasonRequired
required
boolean
resultRequired
boolean
settlement
required
string
Allowed values: approved rejected changes-requested answered
purpose
required
string
Allowed values: approval answer
resultSchema
retention
required
object
accountabilityRetentionDays
required
integer format: uint32
>= 1 <= 3650
terminalRetentionDays
required
integer format: uint32
>= 1 <= 3650
routing
Array<object>
object
because
required

Human-readable display text. Bidirectional embedding, override, and isolate controls, byte-order marks, line and paragraph separators, and Unicode noncharacters are refused; multilingual joiners and direction marks remain valid.

string
/[

‪-‮⁦-⁩﷐-﷯￾￿]|🿾|🿿|𯿾|𯿿|𿿾|𿿿|񏿾|񏿿|񟿾|񟿿|񯿾|񯿿|񿿾|񿿿|򏿾|򏿿|򟿾|򟿿|򯿾|򯿿|򿿾|򿿿|󏿾|󏿿|󟿾|󟿿|󯿾|󯿿|󿿾|󿿿|􏿾|􏿿/
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
label
Any of:

Human-readable display text. Bidirectional embedding, override, and isolate controls, byte-order marks, line and paragraph separators, and Unicode noncharacters are refused; multilingual joiners and direction marks remain valid.

string
/[

‪-‮⁦-⁩﷐-﷯￾￿]|🿾|🿿|𯿾|𯿿|𿿾|𿿿|񏿾|񏿿|񟿾|񟿿|񯿾|񯿿|񿿾|񿿿|򏿾|򏿿|򟿾|򟿿|򯿾|򯿿|򿿾|򿿿|󏿾|󏿿|󟿾|󟿿|󯿾|󯿿|󿿾|󿿿|􏿾|􏿿/
queue
required
string
when
required
object
fields
object
stage
string | null
stages
required
Array<object>
object
decidingProfiles
required
Array<string>
excludeInitiator
required
boolean
excludePreviousStageReviewers
required
boolean
id
required

A local identifier: a lowercase letter, then up to 63 lowercase letters, digits, _, or -.

string
/^[a-z][a-z0-9_-]{0,63}$/
label
Any of:

Human-readable display text. Bidirectional embedding, override, and isolate controls, byte-order marks, line and paragraph separators, and Unicode noncharacters are refused; multilingual joiners and direction marks remain valid.

string
/[

‪-‮⁦-⁩﷐-﷯￾￿]|🿾|🿿|𯿾|𯿿|𿿾|𿿿|񏿾|񏿿|񟿾|񟿿|񯿾|񯿿|񿿾|񿿿|򏿾|򏿿|򟿾|򟿿|򯿾|򯿿|򿿾|򿿿|󏿾|󏿿|󟿾|󟿿|󯿾|󯿿|󿿾|󿿿|􏿾|􏿿/
negativeDecisions
One of:

A rejection or change request settles the whole review immediately.

string
Allowed value: settle
queue
required
string
requiredApprovals
required
integer format: uint32
>= 1 <= 32
version
required
string

Example

{
"calendars": [],
"clocks": [],
"contextProviders": [
{
"capabilities": [
"human-display"
],
"serviceProfiles": {}
}
],
"reviewPolicies": [
{
"context": {
"mode": "submitted"
},
"outcomes": [
{
"publicReason": "required",
"settlement": "approved"
}
],
"purpose": "approval",
"stages": [
{
"excludeInitiator": false,
"excludePreviousStageReviewers": false,
"negativeDecisions": "settle"
}
]
}
]
}
traceparent
string

W3C trace context.

Problem: cursor.invalid, request.invalid, request.limit-out-of-range, source-profile.not-applicable, source-profile.required

Media typeapplication/problem+json
One of:
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: cursor.invalid
detail
required
Allowed value: The cursor is invalid for this request.
status
required
Allowed value: 400
title
required
Allowed value: Cursor invalid
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/cursor/invalid

Example

{
"code": "cursor.invalid",
"detail": "The cursor is invalid for this request.",
"status": 400,
"title": "Cursor invalid",
"type": "https://id.registrystack.org/problems/registry-casework/cursor/invalid"
}
traceparent
string

W3C trace context.

Problem: authentication.refused

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: authentication.refused
detail
required
Allowed value: The bearer credential is missing, invalid, or expired. Sign in again.
status
required
Allowed value: 401
title
required
Allowed value: Authentication refused
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/authentication/refused

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"
}
WWW-Authenticate
Allowed value: Bearer
traceparent
string

W3C trace context.

Problem: operation.not-authorized, profile.not-authorized, profile.not-human

Media typeapplication/problem+json
One of:
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: operation.not-authorized
detail
required
Allowed value: Your current Casework authority does not allow this operation.
status
required
Allowed value: 403
title
required
Allowed value: Operation not authorized
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/operation/not-authorized

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"
}
traceparent
string

W3C trace context.

Problem: request.not-found

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: request.not-found
detail
required
Allowed value: The requested Casework route does not exist.
status
required
Allowed value: 404
title
required
Allowed value: Route not found
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/request/not-found

Example

{
"code": "request.not-found",
"detail": "The requested Casework route does not exist.",
"status": 404,
"title": "Route not found",
"type": "https://id.registrystack.org/problems/registry-casework/request/not-found"
}
traceparent
string

W3C trace context.

Problem: cursor.expired, review.result-expired

Media typeapplication/problem+json
One of:
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: cursor.expired
detail
required
Allowed value: This cursor has expired. Start again without a cursor and deduplicate entries by eventId.
status
required
Allowed value: 410
title
required
Allowed value: Cursor expired
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/cursor/expired

Example

{
"code": "cursor.expired",
"detail": "This cursor has expired. Start again without a cursor and deduplicate entries by eventId.",
"status": 410,
"title": "Cursor expired",
"type": "https://id.registrystack.org/problems/registry-casework/cursor/expired"
}
traceparent
string

W3C trace context.

Problem: request.body-too-large

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: request.body-too-large
detail
required
Allowed value: The request body exceeds the one MiB limit.
status
required
Allowed value: 413
title
required
Allowed value: Request body too large
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/request/body-too-large

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"
}
traceparent
string

W3C trace context.

Problem: request.unsupported-media-type

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: request.unsupported-media-type
detail
required
Allowed value: Send a JSON request body with Content-Type application/json.
status
required
Allowed value: 415
title
required
Allowed value: Unsupported media type
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/request/unsupported-media-type

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"
}
traceparent
string

W3C trace context.

Problem: request.unprocessable

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: request.unprocessable
detail
required
Allowed value: The request body does not match the Casework contract.
status
required
Allowed value: 422
title
required
Allowed value: Request could not be processed
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/request/unprocessable

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"
}
traceparent
string

W3C trace context.

Problem: runtime.failure

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: runtime.failure
detail
required
Allowed value: Casework could not complete the request.
status
required
Allowed value: 500
title
required
Allowed value: Casework runtime failure
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/runtime/failure

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"
}
traceparent
string

W3C trace context.

Problem: source.bad-gateway, source.version-mismatch, source.version-unavailable

Media typeapplication/problem+json
One of:
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: source.bad-gateway
detail
required
Allowed value: The source returned a response that does not match its registered contract.
status
required
Allowed value: 502
title
required
Allowed value: Invalid source response
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/source/bad-gateway

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"
}
traceparent
string

W3C trace context.

Problem: service.unavailable

Media typeapplication/problem+json
object
code
required
string
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
code
required
Allowed value: service.unavailable
detail
required
Allowed value: Casework storage is unavailable. Try again after the service recovers.
status
required
Allowed value: 503
title
required
Allowed value: Casework service unavailable
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/service/unavailable

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"
}
Retry-After
integer
traceparent
string

W3C trace context.