Skip to content
Registry StackDocsDevelopment (unreleased)

List current directory targets

GET
/v1/directory/targets
curl --request GET \
--url 'https://casework.example.test/v1/directory/targets?purpose=assignment' \
--header 'Authorization: Bearer <token>' \
--header 'Registry-Casework-Profile: example'

Returns only directory members currently eligible for the requested use. Each member carries an issuer-qualified identity and may carry the display name stored on an authorized team membership. assignment is available to Staff currently serving the queue and Supervisors currently supervising it, and lists current Staff serving that queue across teams; Administrators use the existing full directory for assignment discovery. absence_person lists people the caller may currently manage; absence_cover rechecks authority over the exact person and lists valid current covers under the existing absence roles. Requester profiles are refused. Empty eligible sets return a complete page. No source profile is accepted, and teams and absence details are never returned.

traceparent
string

Optional W3C trace context continued in the response.

Registry-Casework-Profile
required
string
>= 1 characters <= 128 characters /^[A-Za-z0-9_.:-]+$/

Explicit Casework access profile. It never selects BReg authority.

purpose
required
string
Allowed values: assignment absence_person absence_cover

Required target-discovery purpose. assignment requires queue and forbids person fields; absence_person forbids queue and person fields; absence_cover requires both exact personIssuer and personSubject and forbids queue.

queue
string
>= 1 characters

Required nonempty queue identifier for assignment; forbidden for absence purposes.

personIssuer
string
>= 1 characters <= 2048 characters /^[^\u0000-\u001F\u007F-\u009F]+$/

Exact issuer of the managed absent person. Required together with personSubject for absence_cover and forbidden otherwise.

personSubject
string
>= 1 characters <= 2048 characters /^[^\u0000-\u001F\u007F-\u009F]+$/

Exact subject of the managed absent person. Required together with personIssuer for absence_cover and forbidden otherwise.

cursor
string

Opaque 15-minute cursor bound to the authenticated human principal, selected Casework profile, purpose, queue, and person fields. Malformed, unknown, or context-mismatched values are cursor.invalid. On cursor.expired, restart without it and deduplicate by issuer and subject.

limit
integer
>= 1 <= 100

Page size from 1 through 100; values outside that range are request.invalid.

Success

Media typeapplication/json
object
items
required
Array<object>
object
displayName
Any of:
string
>= 1 characters <= 500 characters /^[^\u0000-\u001F\u007F-\u009F]+$/
issuer
required
string
>= 1 characters <= 2048 characters /^[^\u0000-\u001F\u007F-\u009F]+$/
subject
required
string
>= 1 characters <= 2048 characters /^[^\u0000-\u001F\u007F-\u009F]+$/
nextCursor
Any of:
string
status
required
string
Allowed values: complete budget_exhausted source_unavailable
Example
{
"status": "complete"
}
traceparent
string

W3C trace context for the request and response.

Problem response: cursor.invalid, request.invalid, source-profile.not-applicable

Media typeapplication/problem+json
One of:
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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 for the request and response.

Problem response: authentication.refused

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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

Bearer authentication challenge.

traceparent
string

W3C trace context for the request and response.

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

Media typeapplication/problem+json
One of:
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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 for the request and response.

Problem response: request.method-not-allowed

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
code
required
Allowed value: request.method-not-allowed
detail
required
Allowed value: This route does not accept that HTTP method.
status
required
Allowed value: 405
title
required
Allowed value: Method not allowed
type
required
Allowed value: https://id.registrystack.org/problems/registry-casework/request/method-not-allowed
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"
}
traceparent
string

W3C trace context for the request and response.

Problem response: cursor.expired

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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 for the request and response.

Problem response: request.body-too-large

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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 for the request and response.

Problem response: runtime.failure

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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 for the request and response.

Problem response: service.unavailable

Media typeapplication/problem+json
object
code
required
string
Allowed values: absence.cover-cycle absence.invalid-period absence.overlap absence.self-cover authentication.refused clock.recompute-preview-expired cursor.expired cursor.invalid idempotency.expired idempotency.key-reused operation.not-authorized precondition.failed precondition.required profile.not-authorized profile.not-human request.body-too-large request.invalid request.method-not-allowed request.not-found request.reason-unsupported request.source-rejected request.unprocessable request.unsupported-media-type runtime.failure service.unavailable source-profile.not-applicable source-profile.required source.bad-gateway source.not-found source.record-missing source.reviewer-not-authorized source.signature-invalid work-item.already-claimed work-item.not-holder work-item.not-offered work-item.not-visible work-item.proposal-changed work-item.recovery-pending work-item.source-unavailable work-item.superseded
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string format: uri
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

Seconds before retrying the unavailable dependency.

traceparent
string

W3C trace context for the request and response.