Skip to main content
POST
Create a webhook endpoint
The create response contains the endpoint resource, but it does not contain a signing secret. After creation, call Retrieve Signing Secret with the returned endpoint id.

Authorizations

X-API-Key
string
header
required

A Modulus API key with the required webhook scope.

Body

application/json
url
string<uri>
required

Public HTTPS callback URL.

enabled_events
enum<string>[]
required

Distinct payment event types to deliver to this endpoint. At least one is required.

Minimum array length: 1

Payment event type delivered to a subscribed endpoint.

Available options:
payment.succeeded,
payment.declined,
payment.failed,
payment.expired
description
string | null

Optional merchant-defined label for the endpoint. Maximum 255 characters.

Maximum string length: 255
metadata
object | null

Optional endpoint metadata. At most 50 keys, 40 characters per key, and 500 characters per string value. null is stored as an empty object.

Response

Endpoint created. The signing secret is not included; retrieve it through the signing-secret operation.

id
string<uuid>
required

Unique webhook endpoint identifier.

url
string<uri>
required

Public HTTPS callback URL that receives subscribed events.

enabled_events
enum<string>[]
required

Payment event types currently delivered to this endpoint.

Payment event type delivered to a subscribed endpoint.

Available options:
payment.succeeded,
payment.declined,
payment.failed,
payment.expired
status
enum<string>
required

Delivery state of the endpoint.

Available options:
ENABLED,
DISABLED
metadata
object
required

Merchant-owned endpoint metadata. This is endpoint configuration and is not payment-event metadata.

created_at
string<date-time>
required

UTC RFC 3339 timestamp when the endpoint was created.

updated_at
string<date-time>
required

UTC RFC 3339 timestamp when the endpoint was last updated.

description
string | null

Merchant-defined endpoint label, or null when none was supplied.