Skip to content
Registry StackDocsv0.39.0

Take one delivery callback from a provider whose runtime configuration names a `path-token` callback verifier, with the secret token as the last path segment. Otherwise as `receiveProviderCallback`.

POST
/v1/provider-callbacks/{provider_id}/{token}
curl --request POST \
--url https://example.com/v1/provider-callbacks/example/example \
--header 'Content-Type: application/json' \
--data '"example"'
provider_id
required
string
>= 1 characters
token
required
string
>= 1 characters

The body the provider sends, JSON or form-encoded, read only by the provider package’s receipt script after the callback verified.

Examplegenerated
example

The operation succeeded. The body is empty.

A problem: request.invalid.

Media typeapplication/problem+json
object
code
required
string
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: request.invalid
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
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: callback.unverified
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
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: request.method-not-allowed
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
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: request.body-too-large
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
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: callback.unreadable
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
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: rate-limit.exceeded
Example
{
"code": "rate-limit.exceeded",
"type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"
}
Retry-After
required
integer
>= 1

Whole seconds to wait before trying again.

A problem: service.unavailable.

Media typeapplication/problem+json
object
code
required
string
Allowed values: authentication.refused callback.unreadable callback.unverified content.invalid content.too-large content.too-many-segments idempotency.expired idempotency.key-reused message.dispatch-started message.not-visible message.terminal operation.not-authorized profile.not-authorized quota.exceeded rate-limit.exceeded request.body-too-large request.invalid request.method-not-allowed request.not-found request.unprocessable request.unsupported-media-type service.unavailable template.data-invalid template.locale-unavailable template.not-found template.render-refused
detail
required
string
status
required
integer
title
required
string
traceId
required
string
type
required
string
Allowed values: https://id.registrystack.org/problems/registry-messaging/authentication/refused https://id.registrystack.org/problems/registry-messaging/callback/unreadable https://id.registrystack.org/problems/registry-messaging/callback/unverified https://id.registrystack.org/problems/registry-messaging/content/invalid https://id.registrystack.org/problems/registry-messaging/content/too-large https://id.registrystack.org/problems/registry-messaging/content/too-many-segments https://id.registrystack.org/problems/registry-messaging/idempotency/expired https://id.registrystack.org/problems/registry-messaging/idempotency/key-reused https://id.registrystack.org/problems/registry-messaging/message/dispatch-started https://id.registrystack.org/problems/registry-messaging/message/not-visible https://id.registrystack.org/problems/registry-messaging/message/terminal https://id.registrystack.org/problems/registry-messaging/operation/not-authorized https://id.registrystack.org/problems/registry-messaging/profile/not-authorized https://id.registrystack.org/problems/registry-messaging/quota/exceeded https://id.registrystack.org/problems/registry-messaging/rate-limit/exceeded https://id.registrystack.org/problems/registry-messaging/request/body-too-large https://id.registrystack.org/problems/registry-messaging/request/invalid https://id.registrystack.org/problems/registry-messaging/request/method-not-allowed https://id.registrystack.org/problems/registry-messaging/request/not-found https://id.registrystack.org/problems/registry-messaging/request/unprocessable https://id.registrystack.org/problems/registry-messaging/request/unsupported-media-type https://id.registrystack.org/problems/registry-messaging/service/unavailable https://id.registrystack.org/problems/registry-messaging/template/data-invalid https://id.registrystack.org/problems/registry-messaging/template/locale-unavailable https://id.registrystack.org/problems/registry-messaging/template/not-found https://id.registrystack.org/problems/registry-messaging/template/render-refused
code
required
Allowed values: service.unavailable
Example
{
"code": "service.unavailable",
"type": "https://id.registrystack.org/problems/registry-messaging/authentication/refused"
}
Retry-After
required
integer
>= 1

Whole seconds to wait before trying again.