Skip to main content
Create a Webhook Endpoint V2
Use this endpoint to register a URL that SpherePay delivers events to, together with the list of events it should receive. Subscribe with exact event names from the event catalog, or with a wildcard — * for everything, or a resource wildcard such as customer.*. A new endpoint is enabled immediately and starts receiving matching events.
The signing secret (prefixed whsec_) is returned exactly once, in this response. No GET returns it and it cannot be retrieved later. Store it securely — you need it to verify the signature on every delivery.
Each application may hold at most six active endpoints, counting the enabled, disabled, and errored states. Exceeding that returns 409. There is no update operation, so changing a URL or a subscription means creating a replacement and deleting the old endpoint — see managing endpoints for the zero-gap sequence.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
apiVersion
string
required

API version date string provided by the client.

Example:

"2026-04-01"

subscribedEvents
string[]
required

List of event types this endpoint should receive.

Minimum array length: 1
Example:
url
string<uri>
required

The HTTPS URL to deliver webhook events to.

Maximum string length: 2048
Example:

"https://example.com/webhooks/sphere"

description
string

Human-readable description of this webhook endpoint.

Maximum string length: 500
Example:

"Production payment events handler"

metadata
object

Arbitrary key-value metadata to attach to this endpoint.

Example:

Response

The created webhook endpoint, including the signing secret. The secret is returned only here and cannot be retrieved again.

apiVersion
string | null
required
createdAt
string
required
description
string | null
required
id
string
required
metadata
unknown
required
secret
string
required

Signing secret for this endpoint. Returned only on creation and never retrievable afterwards.

Example:

"whsec_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"

status
enum<string>
required
Available options:
enabled,
errored,
disabled,
deleted
subscribedEvents
enum<string>[]
required
Available options:
*,
customer.*,
transfer.*,
document.*,
service.*,
customer.created,
customer.pending,
customer.approved,
customer.rejected,
transfer.created,
transfer.pendingFunding,
transfer.pendingReview,
transfer.fundsReceived,
transfer.processing,
transfer.succeeded,
transfer.returned,
transfer.pendingRefundInformation,
transfer.failed,
transfer.canceled,
transfer.refunded,
transfer.unexpectedError,
transfer.failedPrecondition,
transfer.expired,
transfer.unfunded,
document.pending,
document.processing,
document.verified,
document.rejected,
service.pending,
service.processing,
service.succeeded,
service.failed,
service.cancelled
updatedAt
string
required
url
string
required
Last modified on August 27, 2026