For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Book a demoLog in
DocumentationAPI ReferenceModel VersioningChangelog
DocumentationAPI ReferenceModel VersioningChangelog
    • Authentication
    • API Versioning
    • Deployments
    • Error Handling
  • Endpoints
      • POSTCreate Webhook Endpoint
      • GETList Webhook Endpoints
      • GETGet Webhook Endpoint
      • POSTUpdate Webhook Endpoint
      • DELDelete Webhook Endpoint
      • POSTCreate Webhook Subscription
      • GETList Webhook Subscriptions
      • GETGet Webhook Subscription
      • POSTUpdate Webhook Subscription
      • DELDelete Webhook Subscription
  • Webhook Events
LogoLogo
Book a demoLog in
EndpointsWebhooks

Create Webhook Endpoint

POST
/webhook_endpoints
POST
/webhook_endpoints
1from extend_ai import Extend, WebhookEndpointEventType
2
3client = Extend(
4 token="YOUR_TOKEN_HERE",
5 extend_api_version="2026-02-09",
6)
7
8client.webhook_endpoints.create(
9 url="https://example.com/webhooks",
10 name="Production webhook",
11 enabled_events=[
12 WebhookEndpointEventType.EXTRACT_RUN_PROCESSED,
13 WebhookEndpointEventType.WORKFLOW_CREATED
14 ],
15)
1{
2 "object": "webhook_endpoint",
3 "id": "wh_Xj8mK2pL9nR4vT7qY5wZ",
4 "url": "https://example.com/webhooks",
5 "name": "Production webhook",
6 "status": "enabled",
7 "enabledEvents": [
8 "extract_run.processed",
9 "workflow.created"
10 ],
11 "apiVersion": {},
12 "advancedOptions": {
13 "headers": {},
14 "payload": {
15 "format": "json",
16 "urlThresholdBytes": 1
17 }
18 },
19 "signingSecret": "wss_Av9uCQNrCIEe0XpEpsQUVjEJYr4udK9N",
20 "createdAt": "2024-01-15T09:30:00Z"
21}
Create a new webhook endpoint. The response includes a `signingSecret` that is only returned once — store it securely for verifying webhook signatures. The `enabledEvents` array specifies which global event types this endpoint should receive. Use the [Webhook Events](https://docs.extend.ai/2026-02-09/api-reference/webhook-events) reference to see available event types. To subscribe to events scoped to a specific resource (e.g., a single extractor or workflow), use [Create Webhook Subscription](https://docs.extend.ai/2026-02-09/api-reference/endpoints/webhook/create-webhook-subscription) after creating the endpoint.
Was this page helpful?
Previous

List Webhook Endpoints

Next
Built with

Create a new webhook endpoint. The response includes a signingSecret that is only returned once — store it securely for verifying webhook signatures.

The enabledEvents array specifies which global event types this endpoint should receive. Use the Webhook Events reference to see available event types.

To subscribe to events scoped to a specific resource (e.g., a single extractor or workflow), use Create Webhook Subscription after creating the endpoint.

Authentication

AuthorizationBearer

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

Headers

x-extend-api-version"2026-02-09"OptionalDefaults to 2026-02-09
API version to use for the request. If you're using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a `400 Bad Request` or be set to a previous legacy version. See [API Versioning](https://docs.extend.ai/2026-02-09/api-reference/api-versioning) for more details.

Request

This endpoint expects an object.
urlstringRequiredformat: "uri"
The URL that webhook events will be sent to.
namestringRequired>=1 character

A human-readable name for the webhook endpoint.

enabledEventslist of enumsRequired

The list of global event types to subscribe to. Pass an empty array to create an endpoint with no global events (useful if you only plan to use resource-scoped subscriptions).

apiVersionstringRequired
statusenumOptional
The status of the webhook endpoint.
Allowed values:
advancedOptionsobjectOptional
Advanced configuration options for the webhook endpoint, including custom headers and payload delivery settings.

Response

Successfully created webhook endpoint
objectenum
Allowed values:
idstring
Unique identifier for the webhook endpoint.
urlstringformat: "uri"
The URL that webhook events are sent to.
namestring

A human-readable name for the webhook endpoint.

statusenum
The status of the webhook endpoint.
Allowed values:
enabledEventslist of enums
The list of event types this endpoint is subscribed to at the global level. These are events that are not scoped to a specific resource.
apiVersionstring
advancedOptionsobject or null
Advanced configuration options for the webhook endpoint, including custom headers and payload delivery settings.
signingSecretstring

The signing secret used to verify webhook payloads. This is only returned when creating the endpoint and cannot be retrieved again.

Store it securely — you will need it to verify webhook signatures.

createdAtstringformat: "date-time"
The date and time the webhook endpoint was created.

Errors

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error
500
Internal Server Error

API version to use for the request. If you’re using an SDK, you can ignore this parameter. If you are not using an SDK and do not specify a version, you will either receive a 400 Bad Request or be set to a previous legacy version. See API Versioning for more details.