Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation
Theme

Create Webhook Endpoint

POST
/webhook_endpoints

Creates a webhook endpoint for the authenticated project.

Create Webhook Endpoint

curl https://api.openai.com/v1/webhook_endpoints \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
          "event_types": [
            "batch.completed"
          ],
          "name": "x",
          "url": "https://"
        }'
200 — Example
{
  "id": "id",
  "created_at": 0,
  "event_types": [
    "string"
  ],
  "name": "name",
  "object": "webhook_endpoint",
  "signing_secret": "signing_secret",
  "signing_secret_hint": "signing_secret_hint",
  "url": "url",
  "updated_at": 0
}
Body Parameters
JSON
event_types: array of "batch.completed" or "batch.failed" or "batch.expired" or 24 more

The event types that trigger deliveries to this endpoint.

minItems1
One of the following:
"batch.completed"
"batch.failed"
"batch.expired"
"batch.cancelled"
"response.completed"
"response.failed"
"response.cancelled"
"response.incomplete"
"eval.run.succeeded"
"eval.run.failed"
"eval.run.canceled"
"fine_tuning.job.succeeded"
"fine_tuning.job.failed"
"fine_tuning.job.cancelled"
"realtime.call.incoming"
"video.completed"
"video.failed"
"agent.environment.ready"
"agent.environment.failed"
"agent.environment.suspended"
"agent.environment.expired"
"agent.session.created"
"agent.session.action_required"
"agent.session.in_progress"
"agent.session.idle"
"agent.session.failed"
"safety.alert.created"
name: string

A human-readable name for the webhook endpoint.

minLength1
maxLength256
url: string

The HTTPS URL that receives webhook deliveries.

pattern^https://
maxLength2048
Returns
WebhookEndpointWithSecret object { id, created_at, event_types, 6 more }
id: string

The unique ID of the webhook endpoint.

created_at: integer

The Unix timestamp when the endpoint was created.

formatunixtime
event_types: array of string

The event types that trigger deliveries to this endpoint.

name: string

The human-readable name of the endpoint.

object: "webhook_endpoint" (default: "webhook_endpoint")

The object type, which is always webhook_endpoint.

signing_secret: string

The endpoint’s signing secret. This is returned only when the endpoint is created or the secret is rotated.

signing_secret_hint: string or null

A masked hint for the endpoint’s signing secret.

url: string

The HTTPS URL that receives webhook deliveries.

updated_at: optional integer

The Unix timestamp of the last endpoint configuration or signing-secret change. Initialized at creation; tests and unchanged updates do not advance it.

formatunixtime
Returns Examples
200 — Example
{
  "id": "id",
  "created_at": 0,
  "event_types": [
    "string"
  ],
  "name": "name",
  "object": "webhook_endpoint",
  "signing_secret": "signing_secret",
  "signing_secret_hint": "signing_secret_hint",
  "url": "url",
  "updated_at": 0
}