Skip to content
Registry StackDocsDevelopment (unreleased)

records.directory-entry.patch

PATCH
/v1/records/directory-entries/{record_id}
curl --request PATCH \
--url https://example.com/v1/records/directory-entries/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json-patch+json' \
--header 'Idempotency-Key: example' \
--header 'If-Match: example' \
--data '[ { "op": "add", "path": "example", "value": "example" } ]'
record_id
required
string format: uuid

Canonical record UUID.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Optional W3C trace context. Responses carry Registry trace context for the request.

Idempotency-Key
required
string
>= 1 characters <= 256 characters /^[\x21-\x2B\x2D-\x3A\x3C-\x7E]+$/

Idempotency key bound to method, route, caller, target record, package revision, request body, and response field set.

If-Match
required
string
>= 6 characters <= 256 characters /^\"breg-[\x21\x23-\x7E]+\"$/

Strong Registry ETag for the currently visible record representation.

accessProfile
string
<= 128 characters

Select one compiled access profile. Required when the route has no default; otherwise omission uses its default.

Media typeapplication/json-patch+json
Array<object>
>= 1 items <= 128 items
object
op
required
string
Allowed values: add replace remove test
path
required
string
value

Record patched

object
data
required
object
domainData
required
object
email
required
string
>= 1 characters <= 254 characters
jurisdiction
required
string
>= 1 characters <= 40 characters
name
required
string
>= 1 characters <= 160 characters
recordIdentifier
required
string format: uuid
revisionIdentifier
required
string
/^[1-9][0-9]*$/
snapshot
required
string
<= 4096 characters
meta
required
object
datasetIdentifier
required
Allowed value: facility-registry
entityTypeIdentifier
required
Allowed value: directory-entry
registryIdentifier
required
Allowed value: facility-registry

Example

{
"meta": {
"datasetIdentifier": "facility-registry",
"entityTypeIdentifier": "directory-entry",
"registryIdentifier": "facility-registry"
}
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

ETag
string
/^\"breg-[\x21\x23-\x7E]+\"$/

Strong Registry ETag bound to the record, package revision, caller profile, and response field set.

Link
string
Example
<https://id.registrystack.org/profiles/registry-record/v1>; rel="profile", </v1/schemas/directory-entry>; rel="describedby"

Emitted only for application/json and application/ld+json Registry Record responses and omitted for application/geo+json. Carries the Registry Record profile and caller-visible record type schema. The describedby target includes the configured deployment prefix and is never derived from Host or forwarded headers.

Vary
string

Responses vary by authorization and negotiated representation.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Examplerequest.invalid
{
"code": "request.invalid",
"detail": "The request is invalid.",
"status": 400,
"title": "Bad Request",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/request/invalid"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleauthentication.refused
{
"code": "authentication.refused",
"detail": "The bearer credential is missing or refused.",
"status": 401,
"title": "Unauthorized",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/authentication/refused"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleresource.not_found
{
"code": "resource.not_found",
"detail": "The requested resource was not found.",
"status": 404,
"title": "Not Found",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/resource/not_found"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

{
"code": "idempotency.conflict",
"detail": "The idempotency key is bound to another request.",
"status": 409,
"title": "Conflict",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/idempotency/conflict"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleidempotency.expired
{
"code": "idempotency.expired",
"detail": "The held response of the idempotency key expired; the key stays spent.",
"status": 410,
"title": "Gone",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/idempotency/expired"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleprecondition.failed
{
"code": "precondition.failed",
"detail": "The mutation precondition failed.",
"status": 412,
"title": "Precondition Failed",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/precondition/failed"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleunsupported.media_type
{
"code": "unsupported.media_type",
"detail": "The request media type is not supported.",
"status": 415,
"title": "Unsupported Media Type",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/unsupported/media_type"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleprecondition.required
{
"code": "precondition.required",
"detail": "The mutation precondition is required.",
"status": 428,
"title": "Precondition Required",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/precondition/required"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Exampleservice.unavailable
{
"code": "service.unavailable",
"detail": "The Registry mutation service is unavailable.",
"status": 503,
"title": "Service Unavailable",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/service/unavailable"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01

Problem response

Media typeapplication/problem+json
object
code
required
string
Allowed values: action.evidence_failed action.guard_failed action.handler_failed action.refused authentication.refused idempotency.conflict idempotency.expired ingestion.chunk_mismatch ingestion.profile_mismatch ingestion.receipt_erased ingestion.run_blocked ingestion.run_not_open lookup.unresolved mutation.conflict precondition.failed precondition.required proposal.rejected proposal.review_result_mismatch proposal.submission_expired query.cursor_invalid query.invalid request.invalid request.timeout resource.not_found runtime.field_encryption.unavailable service.unavailable source.unavailable statistical_dataset.domain_violation statistical_dataset.release_refused statistical_dataset.version_conflict statistical_dataset.version_withdrawn unsupported.media_type
constraintId
string
>= 1 characters <= 128 characters
constraintKind
string
Allowed values: compare int-range vocabulary
detail
required
string
<= 256 characters
field
string
>= 1 characters <= 128 characters
fieldId
string
>= 1 characters <= 128 characters
fieldPath
string
<= 256 characters
left
string
>= 1 characters <= 128 characters
reasonCode
string
Allowed values: computation-error source-data-error disclosure-risk
recordType
string
>= 1 characters <= 128 characters
refusalCode
string
>= 1 characters <= 128 characters
right
string
>= 1 characters <= 128 characters
status
required
integer
>= 400 <= 599
title
required
string
<= 128 characters
traceId
required
string
>= 32 characters <= 32 characters /^[0-9a-f]{32}$/
type
required
string format: uri
<= 256 characters

Examples

Examplerequest.timeout
{
"code": "request.timeout",
"detail": "The request timed out.",
"status": 504,
"title": "Gateway Timeout",
"traceId": "11111111111111111111111111111111",
"type": "https://id.registrystack.org/problems/registry-breg/request/timeout"
}
Cache-Control
Allowed value: no-store

Caller-dependent responses must not be stored.

traceparent
string
>= 55 characters <= 55 characters /^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/

Trace context for this problem response.

Example
00-11111111111111111111111111111111-2222222222222222-01