Webhook Endpoints
Register HTTPS endpoints to receive signed event notifications. Each delivery is signed following the Standard Webhooks specification — verify the webhook-id, webhook-timestamp, and webhook-signature headers against the endpoint secret (returned once on create / roll-secret) using one of the spec’s drop-in verification libraries instead of implementing the HMAC-SHA256 check yourself.
List webhook endpoints
Credential: a company's API key or OAuth token.
Returns the company’s webhook endpoints, newest first.
Required Scope
webhook-endpoints-read
query Parameters
pagePage number (1-based).
limitPage size (max 100).
List webhook endpoints › Responses
Paginated list of webhook endpoints.
totalTotal number of endpoints matching the query.
pageCurrent page (1-based).
pageSizePage size.
Create a webhook endpoint
Credential: a company's API key or OAuth token.
Registers a new endpoint. url must be a public HTTPS URL. The response includes the signing secret exactly once — store it securely.
Required Scope
webhook-endpoints-write
Headers
x-api-idempotency-keyOptional idempotency key for safely retrying mutating requests.
Create a webhook endpoint › Request Body
urlThe HTTPS URL events are delivered to. Must be a public https URL (loopback/private/link-local hosts are rejected).
enabledEventsThe events to subscribe to. Must contain at least one known event type.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
descriptionOptional human-facing description.
Create a webhook endpoint › Responses
Endpoint created. Includes the one-time signing secret.
idUnique identifier of the webhook endpoint.
urlThe HTTPS URL events are delivered to.
enabledEventsThe events this endpoint is subscribed to. An event is delivered to every enabled endpoint subscribed to its type.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
statusDelivery status. disabled endpoints are retained but receive no events.
createdAtISO 8601 creation timestamp.
updatedAtISO 8601 last-update timestamp.
secretThe signing secret (shown only on create and roll-secret). Used to verify the webhook-signature header.
descriptionOptional human-facing description of what this endpoint is used for.
Retrieve a webhook endpoint
Credential: a company's API key or OAuth token.
Retrieves a single webhook endpoint configuration by its id. Returns 404
with code WEBHOOK_ENDPOINT_NOT_FOUND when the endpoint does not exist in
your company.
Required Scope
webhook-endpoints-read
path Parameters
idThe webhook endpoint id.
Retrieve a webhook endpoint › Responses
The webhook endpoint.
idUnique identifier of the webhook endpoint.
urlThe HTTPS URL events are delivered to.
enabledEventsThe events this endpoint is subscribed to. An event is delivered to every enabled endpoint subscribed to its type.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
statusDelivery status. disabled endpoints are retained but receive no events.
createdAtISO 8601 creation timestamp.
updatedAtISO 8601 last-update timestamp.
descriptionOptional human-facing description of what this endpoint is used for.
Update a webhook endpoint
Credential: a company's API key or OAuth token.
All fields optional. enabledEvents replaces the full subscription set. Send description: null to clear it.
Required Scope
webhook-endpoints-write
path Parameters
idThe webhook endpoint id.
Headers
x-api-idempotency-keyOptional idempotency key for safely retrying mutating requests.
Update a webhook endpoint › Request Body
urlNew HTTPS delivery URL.
enabledEventsReplace the full set of subscribed events.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
statusEnable or disable delivery without deleting the endpoint.
descriptionUpdate the description. Send null to clear it.
Update a webhook endpoint › Responses
The updated webhook endpoint.
idUnique identifier of the webhook endpoint.
urlThe HTTPS URL events are delivered to.
enabledEventsThe events this endpoint is subscribed to. An event is delivered to every enabled endpoint subscribed to its type.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
statusDelivery status. disabled endpoints are retained but receive no events.
createdAtISO 8601 creation timestamp.
updatedAtISO 8601 last-update timestamp.
descriptionOptional human-facing description of what this endpoint is used for.
Delete a webhook endpoint
Credential: a company's API key or OAuth token.
Permanently removes the endpoint and its delivery log.
Required Scope
webhook-endpoints-write
path Parameters
idThe webhook endpoint id.
Headers
x-api-idempotency-keyOptional idempotency key for safely retrying mutating requests.
Delete a webhook endpoint › Responses
Endpoint deleted.
Roll the signing secret
Credential: a company's API key or OAuth token.
Generates a new signing secret for the endpoint, returned once. The endpoint id is unchanged. The previous secret stops verifying immediately.
Required Scope
webhook-endpoints-write
path Parameters
idThe webhook endpoint id.
Headers
x-api-idempotency-keyOptional idempotency key for safely retrying mutating requests.
Roll the signing secret › Responses
The endpoint with its new one-time signing secret.
idUnique identifier of the webhook endpoint.
urlThe HTTPS URL events are delivered to.
enabledEventsThe events this endpoint is subscribed to. An event is delivered to every enabled endpoint subscribed to its type.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
statusDelivery status. disabled endpoints are retained but receive no events.
createdAtISO 8601 creation timestamp.
updatedAtISO 8601 last-update timestamp.
secretThe signing secret (shown only on create and roll-secret). Used to verify the webhook-signature header.
descriptionOptional human-facing description of what this endpoint is used for.
Send a test event
Credential: a company's API key or OAuth token.
Synchronously POSTs a signed sample payload for the given event to the endpoint’s URL and returns the result. No delivery is recorded.
Required Scope
webhook-endpoints-read
path Parameters
idThe webhook endpoint id.
Headers
x-api-idempotency-keyOptional idempotency key for safely retrying mutating requests.
Send a test event › Request Body
eventThe event type to simulate. Must be one of the endpoint’s subscribed events.
Available events:
subscription.assigned— Fired when a subscription is assigned to a customer (may be future-dated / upcoming).subscription.started— Fired when a subscription becomes active — grant entitlement/access on this event, not on assigned.subscription.updated— Fired when a config property changes without a structural transition (e.g. name, payment method, billing direction).subscription.transitioned— Fired on a structural change: plan replace, product edit, billing cadence change, phase change, or realign.subscription.paused— Fired when a subscription is paused.subscription.resumed— Fired when a subscription resumes from a pause.subscription.trial_ended— Fired when a subscription trial ends. The payload outcome says whether billing begins (ACTIVE) or the subscription was held for a missing payment card (PAUSED).subscription.cancellation_scheduled— Fired when a future cancellation is scheduled for a subscription (still active until then).subscription.cancellation_cleared— Fired when a previously scheduled cancellation is cleared.subscription.churned— Fired when a subscription is cancelled/finalized — revoke entitlement on this event.subscription.billed— Fired once per subscription that billed onto an invoice — one per child on a parent-paid consolidated invoice, one per member on a billing-group invoice. amount is always the whole document total; deduplicate on invoiceId, attribute on billingGroupId, never sum amount across events.subscription.billing_held— Fired when a billing run holds an invoice instead of issuing it, because it is below the minimum invoice amount or below the smallest amount the subscription's card can be charged: nothing is invoiced or charged, and the held periods are added to the subscription's next invoice. One event per subscription with a period on the held invoice.subscription.payment_succeeded— Fired when a card charge for the subscription clears — the success pair of the charge_failed error signal. On a billing-group card charge one event fires per member, each carrying the full charged amount and the shared billingGroupId.subscription.error— Fired when a delivery/processing problem occurs for a subscription (e.g. undeliverable recipient).billing.invoice_sent— Fired when an invoice document is sent to the customer.billing.credit_note_sent— Fired when a credit note document is sent to the customer.billing.invoice_updated— Fired when an invoice is changed, in the app or through the API alike: its fields, its lines or their order, or its status. A draft scheduled or cancelled fires it, and so does an invoice reaching sent once it is delivered, beside billing.invoice_sent. A save that changes nothing fires nothing; changedFields names what moved.billing.invoice_deleted— Fired when a draft invoice is deleted, in the app or through the API alike. Only drafts can be deleted; a sent invoice is corrected with a credit note instead.billing.invoice_paid— Fired when a customer invoice becomes paid in full: by payments, by a settlement, or by a credit note applied to it. Only the invoice fires it — the credit note it was settled against does not, and neither does a reminder fee or an advance. A partial payment fires nothing. An invoice reopened (a payment reverted) and paid again fires again. Invoices brought in by an import do not fire it.customer.created— Fired when a customer is created (payload flags whether it was a portal self-signup).card.added— Fired when a card is successfully saved for a customer (provider-opaque).card.removed— Fired when a saved card is removed in-app or cancelled at the provider.card.updated— Fired when a saved card’s details change (network auto-update or refresh).card.expiring— Fired when a saved card is approaching expiry.card.expired— Fired when a saved card is observed to have expired.card.default_changed— Fired when the customer’s default card changes (explicit or auto-default).card.backup_changed— Fired when the customer’s designated backup card is set, replaced, or cleared.card.add_failed— Fired when a card-save attempt fails (decline or authentication failure).quote.sent— Fired when a quote is sent to the customer.quote.converted— Fired when a quote is converted into an order confirmation or an invoice.order_confirmation.sent— Fired when an order confirmation is sent to the customer.order_confirmation.converted— Fired when an order confirmation is converted into an invoice.checkout.card_ready— Fired when the buyer's card lands on a checkout session's card window — confirm may proceed. The card-status poll remains authoritative.checkout.card_failed— Fired when a checkout card window closes without a card (the provider window expired mid-capture) — open a fresh window to retry.checkout.session_expired— Fired when a checkout session expires unconsumed — the abandoned-checkout signal.project.created— Fired when a project is created (payload carries the owned dimension id for correlation with the dimensions API).project.updated— Fired when a project's fields are updated (payload lists the changed field names). Also fires on un-archive.project.archived— Fired when a project is archived (its dimension is deactivated; postings history is preserved).stock.balance_changed— Fired for every stock movement that changes sellable stock, carrying the position's on-hand after it — the signal a sales channel republishes availability on.shipment.dispatched— Fired when a shipment leaves the warehouse and its cost of goods sold posts.shipment.cancelled— Fired when a DISPATCHED shipment is cancelled and its posting unwound. Cancelling a draft moves nothing and fires nothing.flow.tap— Fired when a flow tap this endpoint is named on fires: once per document, carrying the tap id, the optional subject and body the tap was written with, and the object the step declares for that outcome when the tap attaches it (otherwise null). Subscribing makes the endpoint available to taps; it receives only the taps that name it.agent.message— Fired when an agent's Post block that names this endpoint posts: once per message that reaches the block, carrying the agent, the run, the post's title and text, and the message's structured content. Subscribing makes the endpoint available to Post blocks; it receives only the posts of the blocks that name it.
Send a test event › Responses
The probe result.
successWhether the endpoint responded with a 2xx status.
durationMsRound-trip time of the probe in milliseconds.
statusCodeHTTP status returned by the endpoint, or null on a transport error.
errorTransport/error message when the probe failed, otherwise null.