Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

Your secret key, rk_test_… or rk_live_…, sent as Authorization: Bearer <key>. Keep it on your server. Restricted keys carry only the scopes you give them.

Headers

Reflections-Version
string

The dated API version. Defaults to the version your account is pinned to.

Example:

"2026-10-15"

Idempotency-Key
string

A unique key for this operation, up to 255 characters. In test mode, POST keys are scoped to your account and mode and bind the endpoint and body for 24 hours. A different endpoint or body with the same key is refused.

Initial live check and generation creation require a nonempty key. Each operation has a separate account-scoped namespace; retain the same API key, body and idempotency key for retries within 24 hours of creation. A pending check returns 202 with status: "checking". Completed checks replay their sealed response; successful generation POSTs replay the original accepted 202, so use GET for current state. Live verification is a read-only query that returns a fresh verification ID on each call, without exact response caching.

The broader delegated-account contract also scopes keys to Reflections-Account; delegated requests and the other planned live POST operations remain unsupported.

Maximum string length: 255

Body

application/json
url
string<uri>
required

An HTTPS URL.

events
(enum<string> | string)[]
required

Event types to send, or ["*"] for all.

Minimum array length: 1
Available options:
license.issued,
license.accepted,
license.revised,
license.revision_pending,
license.revision_declined,
license.suspended,
license.resumed,
license.revoked,
license.expired,
license.declined,
license_request.created,
license_request.signed,
license_request.declined,
license_draft.signed,
license_draft.declined,
check.resolved,
escalation.created,
generation.allowed,
generation.released,
generation.denied,
generation.expired,
session.terminated,
revocation.created,
revocation.overdue,
connection.created,
connection.revoked,
facet.updated,
talent.updated,
statement.issued,
statement.disputed,
mandate.created,
mandate.ended,
webhook_endpoint.disabled
description
string

Your label for the endpoint, such as Production.

Maximum string length: 500
api_version
string

The version events are rendered in. Defaults to your account's version.

connected
boolean
default:false

Also send events about connected licensees' objects.

metadata
object

Keys and values of your own, returned on the endpoint.

Response

The endpoint, with its secret.

id
string
required

The endpoint's ID, we_….

Pattern: ^we_[0-9a-hjkmnp-tv-z]{26}$
object
string
required

Always webhook_endpoint.

Allowed value: "webhook_endpoint"
livemode
boolean
required

true for an endpoint created with a live key, which receives only live events. false for one created with a test key, which receives only test events.

url
string<uri>
required

The HTTPS URL events are sent to.

events
(enum<string> | string)[]
required

The event types sent to this endpoint. ["*"] sends every type, including types added later.

Available options:
license.issued,
license.accepted,
license.revised,
license.revision_pending,
license.revision_declined,
license.suspended,
license.resumed,
license.revoked,
license.expired,
license.declined,
license_request.created,
license_request.signed,
license_request.declined,
license_draft.signed,
license_draft.declined,
check.resolved,
escalation.created,
generation.allowed,
generation.released,
generation.denied,
generation.expired,
session.terminated,
revocation.created,
revocation.overdue,
connection.created,
connection.revoked,
facet.updated,
talent.updated,
statement.issued,
statement.disputed,
mandate.created,
mandate.ended,
webhook_endpoint.disabled
status
enum<string>
required

enabled, or disabled after every delivery failed for 5 days. Re-enable a disabled endpoint by updating it with status: enabled.

Available options:
enabled,
disabled
api_version
string
required

The version events are rendered in. Set when the endpoint is created; it cannot be changed.

created_at
string<date-time>
required

When the endpoint was created.

description
string | null

Your label for the endpoint. null when you set none.

disabled_reason
string | null

Why Reflections disabled the endpoint. null while enabled.

connected
boolean

Whether the endpoint also receives events about connected licensees' objects. Those events carry the licensee's ID in account.

secret
string | null

whsec_…. Returned only when the endpoint is created or its secret rotated.

metadata
object

Keys and values of your own.