Unreleased documentation. These pages follow the main branch and can change before the next release. For supported guidance, use v0.39.0.
Take one delivery callback from a provider whose runtime configuration names an `hmac-sha1-url-form` or `hmac-sha256-body` callback verifier. The verifier, not a bearer token, authenticates the request; the provider package's receipt script reads it. A verified callback answers 204 whether or not its reference names a message, and a receipt never moves a message's report backwards.
POST
/v1/provider-callbacks/{provider_id}
const url = 'https://example.com/v1/provider-callbacks/example';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '"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://example.com/v1/provider-callbacks/example \ --header 'Content-Type: application/json' \ --data '"example"'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”provider_id
required
string
Request Body
Section titled “Request Body”The body the provider sends, JSON or form-encoded, read only by the provider package’s receipt script after the callback verified.
Examplegenerated
exampleobject
Examplegenerated
Responses
Section titled “Responses”The operation succeeded. The body is empty.
A problem: request.invalid.
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
Example
{ "code": "request.invalid", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}A problem: callback.unverified.
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
Example
{ "code": "callback.unverified", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}A problem: request.method-not-allowed.
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
Example
{ "code": "request.method-not-allowed", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}A 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
Example
{ "code": "request.body-too-large", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}A problem: callback.unreadable.
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
Example
{ "code": "callback.unreadable", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}A problem: rate-limit.exceeded.
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
Example
{ "code": "rate-limit.exceeded", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}Headers
Section titled “Headers”Retry-After
required
integer
Whole seconds to wait before trying again.
A 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
Example
{ "code": "service.unavailable", "type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"}Headers
Section titled “Headers”Retry-After
required
integer
Whole seconds to wait before trying again.