Template Registry API: schemas
The request and response bodies of the operations in this API.
AuthoredContentDraftResponseDto
| Property | Type | Required | Description |
|---|
baseRevisionId | object or null | no | |
content | object | yes | |
contentHash | string | yes | |
draftId | string | yes | |
resourceId | string | yes | |
restoredFromRevisionId | object or null | no | |
updatedAt | string | yes | |
updatedBy | object | yes | |
AuthoredContentDraftResponseDtoDataArrayEnvelope
AuthoredContentDraftResponseDtoDataEnvelope
AuthoredContentEvaluationResponseDto
| Property | Type | Required | Description |
|---|
createdAt | string (date-time) | yes | |
createdBy | string | yes | |
draftContentHash | string | yes | |
draftId | string | yes | |
evaluators | array of object | yes | |
findings | array of EvaluationFindingDto | yes | |
id | string | yes | |
identityId | string | yes | |
verdict | one of "pass", "fail" | yes | |
AuthoredContentEvaluationResponseDtoDataArrayEnvelope
AuthoredContentEvaluationResponseDtoDataEnvelope
AuthoredContentIdentityResponseDto
| Property | Type | Required | Description |
|---|
bindableSelector | object or null | no | The selector a consumer must bind this resource with, or null when it is not bindable yet. See AuthoredContentIdentityRecord.bindableSelector for why the registry answers this rather than each consumer guessing. type: Object matches how every other structural field on these DTOs is declared here (ownerSpaceRef, createdBy); the shape is the kernel's RevisionTarget['selector'] union and is enforced there, not restated. |
createdAt | string | yes | |
createdBy | object | yes | |
draftId | object or null | no | |
ownerSpaceRef | object | yes | |
resourceId | string | yes | |
resourceKind | one of "template", "design-system" | yes | |
slug | string | yes | |
updatedAt | string | yes | |
AuthoredContentIdentityResponseDtoDataArrayEnvelope
AuthoredContentIdentityResponseDtoDataEnvelope
AuthoredContentPreviewResponseDto
| Property | Type | Required | Description |
|---|
createdAt | string (date-time) | yes | |
createdBy | string | yes | |
draftContentHash | string | yes | |
draftId | string | yes | |
evaluationId | object or null | no | |
expiresAt | string (date-time) | yes | |
id | string | yes | |
identityId | string | yes | |
outputs | array of object | yes | |
variablesHash | string | yes | |
AuthoredContentPreviewResponseDtoDataArrayEnvelope
AuthoredContentPreviewResponseDtoDataEnvelope
AuthoredContentRevisionResponseDto
| Property | Type | Required | Description |
|---|
content | object | yes | |
contentHash | string | yes | |
createdAt | string | yes | |
createdBy | object | yes | |
idempotencyKey | string | yes | |
resourceId | string | yes | |
restoredFromRevisionId | object or null | no | |
revisionId | string | yes | |
sequence | number | yes | |
AuthoredContentRevisionResponseDtoDataArrayEnvelope
CreateAuthoredContentDto
| Property | Type | Required | Description |
|---|
content | object | yes | |
slug | string | yes | |
CreateAuthoredContentResponseDto
CreateAuthoredContentResponseDtoDataEnvelope
CreateRevisionCandidateDto
| Property | Type | Required | Description |
|---|
expectedDraftId | string | yes | |
idempotencyKey | string | yes | Idempotency key scoped to the resource identity. |
CreateRevisionCandidateResponseDto
CreateRevisionCandidateResponseDtoDataEnvelope
EvaluationFindingDto
| Property | Type | Required | Description |
|---|
code | string | yes | |
message | string | yes | |
nodeId | object or null | no | |
ProblemActionableBy
Who can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed.
Type: one of "user", "org-admin", "platform", "none"
ProblemDetailsDto
RFC 9457 problem document. The declared members are the reserved core; extension members are TOP-LEVEL and OPEN, owned by the refusing plane.
| Property | Type | Required | Description |
|---|
actionableBy | ProblemActionableBy | no | Who can act on this refusal: user (correct the input, sign in), org-admin (an administrator of the organisation), platform (the operators of this installation), none (nobody — it cannot succeed). ABSENT when not known; never guessed. |
code | string | yes | SCREAMING_SNAKE_CASE. The machine-branchable refusal, and the value a policy rule, a retry predicate and a UI branch all name. |
detail | string | no | Human-readable and specific to THIS occurrence. |
errors | array of ProblemFieldIssueDto | no | Field-level issues, when the refusal is about the request body. |
instance | string | no | URI reference identifying the occurrence — a request path, a run, a row. |
params | map of string or number or boolean | no | Safe i18n interpolation values for the message keyed by code — typed and allowlisted per code by its declaration. Never server-authored copy, never internal diagnostics. |
retry | ProblemRetry | no | What a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known. |
status | number | yes | The HTTP status code, repeated in the body so a logged document is self-contained. |
title | string | yes | Short, human-readable, and STABLE for a given type. Never per-occurrence — that is detail. |
traceId | string | no | W3C trace-context trace-id, present when the caller sent a traceparent. Omitted rather than invented when it did not. |
type | string | yes | Absolute URI identifying the refusal TYPE. Derived one-to-one from code, so a caller may branch on either and can never be told two different things. Never about:blank. |
ProblemFieldIssueDto
| Property | Type | Required | Description |
|---|
code | string | no | SCREAMING_SNAKE_CASE code of THIS issue, for a frontend i18n key. Present when the issue was minted by a declared problem. |
detail | string | yes | Prose for logs and developers. A frontend localises from code + params instead. |
params | map of string or number or boolean | no | Safe i18n interpolation values for this issue's code. |
pointer | string | yes | RFC 6901 JSON Pointer into the request body. Root is "/". |
ProblemRetry
What a retry can achieve: transient (later, unchanged), after-change (only after someone changes something), never (a defect until a fixed version ships). ABSENT when not known.
Type: one of "transient", "after-change", "never"
ProposePublicationDto
| Property | Type | Required | Description |
|---|
evaluationId | string | yes | |
expectedChannelVersion | number | yes | |
releaseChannel | string | yes | |
revisionId | string | yes | |
PublicationIntentResponseDto
| Property | Type | Required | Description |
|---|
attempt | number | yes | |
candidateRevisionId | string | yes | |
claimedAt | object or null | no | |
closureHash | object or null | no | |
createdAt | string (date-time) | yes | |
createdBy | string | yes | |
decisionId | object or null | no | |
denialReason | object or null | no | |
evaluationId | object or null | no | |
expectedChannelVersion | number | yes | |
failureCode | object or null | no | |
governanceRequestId | object or null | no | |
id | string | yes | |
identityId | string | yes | |
releaseChannel | string | yes | |
releaseSetId | object or null | no | |
resolutionId | object or null | no | |
status | one of "pending", "dispatching", "pending-decision", "promoted", "denied", "failed" | yes | |
updatedAt | string (date-time) | yes | |
PublicationIntentResponseDtoDataArrayEnvelope
PublicationIntentResponseDtoDataEnvelope
RecordEvaluationDto
| Property | Type | Required | Description |
|---|
draftContentHash | string | yes | |
draftId | string | yes | |
evaluators | array of object | yes | Owner-qualified exact evaluator revision targets. |
findings | array of EvaluationFindingDto | yes | |
verdict | one of "pass", "fail" | yes | |
RecordTemplatePreviewDto
| Property | Type | Required | Description |
|---|
draftContentHash | string | yes | |
draftId | string | yes | |
evaluationId | object or null | no | |
expiresAt | string | yes | ISO-8601 evidence retention deadline, no more than 30 days away. |
outputs | array of object | yes | Content-addressed artifact-store output refs. |
variablesHash | string | yes | |
ResolveAuthoredContentDto
| Property | Type | Required | Description |
|---|
ownerSpaceRef | object | yes | |
target | object | yes | |
ResolvedAuthoredContentResponseDto
| Property | Type | Required | Description |
|---|
closure | array of object | yes | |
closureHash | string | yes | |
content | object | yes | |
edges | array of object | yes | |
followedChannels | array of object | yes | |
ownerSpaceRef | object | yes | |
releaseSetId | object or null | no | |
resolutionId | string | yes | |
target | object | yes | |
ResolvedAuthoredContentResponseDtoDataEnvelope
SaveAuthoredContentDraftDto
| Property | Type | Required | Description |
|---|
content | object | yes | |
expectedDraftId | string | yes | |
TemplateKindDescriptorResponseDto
| Property | Type | Required | Description |
|---|
contributingBiomeId | string | yes | |
contributionVersion | string | yes | |
createdAt | string (date-time) | yes | |
descriptor | object | yes | |
descriptorHash | string | yes | |
kindRef | string | yes | |
updatedAt | string (date-time) | yes | |
TemplateKindDescriptorResponseDtoDataArrayEnvelope