Released docs. You are viewing the documentation published with v0.41.0. Development docs are available at Latest.
Read the original appointment receipt
const url = 'https://scheduling.example.test/v1/appointments/receipt';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"admission":{"capabilities":["example"],"channel":"example","duplicateKey":"example","externalReferences":[{"identifier":"example","product":"example","recordType":"example"}],"offering":"example","party":{"attendees":1,"recipients":1},"policyRevision":1,"prerequisites":["example"],"start":"2026-04-15T12:00:00Z","windowRevision":1},"hold":"example"}'};
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://scheduling.example.test/v1/appointments/receipt \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "admission": { "capabilities": [ "example" ], "channel": "example", "duplicateKey": "example", "externalReferences": [ { "identifier": "example", "product": "example", "recordType": "example" } ], "offering": "example", "party": { "attendees": 1, "recipients": 1 }, "policyRevision": 1, "prerequisites": [ "example" ], "start": "2026-04-15T12:00:00Z", "windowRevision": 1 }, "hold": "example" }'Reads only a retained success receipt matching the verified caller’s issuer and subject, the original key, and the original request. It requires current ordinary read authority, can observe work after task authority ends, and never creates or replays a capacity command. Missing, expired, changed, or refused receipts are receipt.unresolved; this is not evidence that no effect occurred.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Optional W3C trace context continued in the response.
Caller-selected ASCII graphic key bound to this exact request. An exact retry replays the first answer, a changed request is idempotency.key-reused, and a receipt retained past its window is idempotency.expired.
Request Bodyrequired
Section titled “Request Bodyrequired”Exactly one of hold or admission: confirming a held allocation, or a direct create. Both, or neither, is request.invalid.
object
object
object
object
Examplegenerated
{ "admission": { "capabilities": [ "example" ], "channel": "example", "duplicateKey": "example", "externalReferences": [ { "identifier": "example", "product": "example", "recordType": "example" } ], "offering": "example", "party": { "attendees": 1, "recipients": 1 }, "policyRevision": 1, "prerequisites": [ "example" ], "start": "2026-04-15T12:00:00Z", "windowRevision": 1 }, "hold": "example"}Responses
Section titled “Responses”Success
object
object
Example
{ "state": "confirmed"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: request.invalid
object
Example
{ "code": "request.invalid", "detail": "The request could not be read as a Scheduling request.", "status": 400, "title": "Request invalid", "type": "https://id.registrystack.org/problems/registry-scheduling/request/invalid"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
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-scheduling/authentication/refused"}Headers
Section titled “Headers”Bearer authentication challenge.
Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: profile.not-authorized
object
Example
{ "code": "profile.not-authorized", "detail": "The selected Scheduling profile does not authorize this request.", "status": 403, "title": "Profile not authorized", "type": "https://id.registrystack.org/problems/registry-scheduling/profile/not-authorized"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: request.method-not-allowed
object
Example
{ "code": "request.method-not-allowed", "detail": "The route exists but not for this method.", "status": 405, "title": "Method not allowed", "type": "https://id.registrystack.org/problems/registry-scheduling/request/method-not-allowed"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: receipt.unresolved
object
Example
{ "code": "receipt.unresolved", "detail": "No retained success receipt matches this caller, key, and original request. The original outcome remains unknown; this is not evidence that no effect occurred.", "status": 409, "title": "Original receipt unresolved", "type": "https://id.registrystack.org/problems/registry-scheduling/receipt/unresolved"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
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 accepted size.", "status": 413, "title": "Payload too large", "type": "https://id.registrystack.org/problems/registry-scheduling/request/body-too-large"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: request.unsupported-media-type
object
Example
{ "code": "request.unsupported-media-type", "detail": "The request body is not JSON.", "status": 415, "title": "Unsupported media type", "type": "https://id.registrystack.org/problems/registry-scheduling/request/unsupported-media-type"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: request.unprocessable
object
Example
{ "code": "request.unprocessable", "detail": "The request body could not be processed.", "status": 422, "title": "Request unprocessable", "type": "https://id.registrystack.org/problems/registry-scheduling/request/unprocessable"}Headers
Section titled “Headers”Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.
Problem response: service.unavailable
object
Example
{ "code": "service.unavailable", "detail": "Scheduling storage is unavailable. Try again after the service recovers.", "status": 503, "title": "Scheduling service unavailable", "type": "https://id.registrystack.org/problems/registry-scheduling/service/unavailable"}Headers
Section titled “Headers”Seconds before retrying the unavailable dependency; the runtime answers 5.
Every answer is marked no-store, so a booking view is never served from a cache.
W3C trace context for the request and response.