OpenAI Webhook Endpoints API

The Webhook Endpoints API from OpenAI — 4 operation(s) for webhook endpoints.

Business capability
Webhook & Event Subscription Management BC-4270.80

Operations 7

GET /webhook_endpoints List Webhook Endpoints #
POST /webhook_endpoints Create Webhook Endpoint #
GET /webhook_endpoints/{webhook_endpoint_id} Retrieve Webhook Endpoint #
POST /webhook_endpoints/{webhook_endpoint_id} Update Webhook Endpoint #
DELETE /webhook_endpoints/{webhook_endpoint_id} Delete Webhook Endpoint #
POST /webhook_endpoints/{webhook_endpoint_id}/rotate_secret Rotate Webhook Endpoint Signing Secret #
POST /webhook_endpoints/{webhook_endpoint_id}/test Test Webhook Endpoint #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openai:openai-webhook-endpoints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openai-webhook-endpoints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Openai Webhook Endpoints API
  version: 2.3.0
  contact:
    name: OpenAI Support
    url: https://help.openai.com/
  license:
    name: MIT
    identifier: MIT
  termsOfService: https://openai.com/policies/terms-of-use
  description: 'Operations tagged Webhook Endpoints across 2 of this provider''s published API definitions: openai-openapi-master-2026-09-23.yml, openai-openapi-master-2026-10-12.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.openai.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Webhook Endpoints
paths:
  /webhook_endpoints:
    get:
      summary: List Webhook Endpoints
      description: Returns webhook endpoints for the authenticated project in newest-first order.
      operationId: ListWebhookEndpoints
      parameters:
      - name: limit
        in: query
        description: Maximum number of webhook endpoints to return. Defaults to 20.
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: after
        in: query
        description: ID of the last webhook endpoint from the previous page.
        required: false
        schema:
          anyOf:
          - example: whe_123
            type: string
          - type: 'null'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointListResource'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    post:
      summary: Create Webhook Endpoint
      description: Creates a webhook endpoint for the authenticated project.
      operationId: CreateWebhookEndpoint
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicCreateEndpointBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointWithSecretResource'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    servers:
    - url: https://api.openai.com/v1
  /webhook_endpoints/{webhook_endpoint_id}:
    get:
      summary: Retrieve Webhook Endpoint
      description: Retrieves a webhook endpoint for the authenticated project.
      operationId: RetrieveWebhookEndpoint
      parameters:
      - name: webhook_endpoint_id
        in: path
        description: The ID of the webhook endpoint to retrieve.
        required: true
        schema:
          example: whe_123
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointBody'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    post:
      summary: Update Webhook Endpoint
      description: Updates a webhook endpoint for the authenticated project.
      operationId: UpdateWebhookEndpoint
      parameters:
      - name: webhook_endpoint_id
        in: path
        description: The ID of the webhook endpoint to update.
        required: true
        schema:
          example: whe_123
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicUpdateEndpointBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointBody'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    delete:
      summary: Delete Webhook Endpoint
      description: Deletes a webhook endpoint for the authenticated project.
      operationId: DeleteWebhookEndpoint
      parameters:
      - name: webhook_endpoint_id
        in: path
        description: The ID of the webhook endpoint to delete.
        required: true
        schema:
          example: whe_123
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedWebhookEndpointResource'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    servers:
    - url: https://api.openai.com/v1
  /webhook_endpoints/{webhook_endpoint_id}/rotate_secret:
    post:
      summary: Rotate Webhook Endpoint Signing Secret
      description: Rotates the signing secret for a webhook endpoint in the authenticated project.
      operationId: RotateWebhookEndpointSigningSecret
      parameters:
      - name: webhook_endpoint_id
        in: path
        description: The ID of the webhook endpoint whose signing secret will be rotated.
        required: true
        schema:
          example: whe_123
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicRotateSecretBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointWithSecretResource'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    servers:
    - url: https://api.openai.com/v1
  /webhook_endpoints/{webhook_endpoint_id}/test:
    post:
      summary: Test Webhook Endpoint
      description: Sends a sample event to a webhook endpoint for the authenticated project.
      operationId: TestWebhookEndpoint
      parameters:
      - name: webhook_endpoint_id
        in: path
        description: The ID of the webhook endpoint to test.
        required: true
        schema:
          example: whe_123
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicTestEndpointBody'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointTestResultResource'
      x-oaiMeta:
        beta: true
      tags:
      - Webhook Endpoints
    servers:
    - url: https://api.openai.com/v1
components:
  schemas:
    WebhookEndpointTestResultResource:
      properties:
        object:
          type: string
          enum:
          - webhook_endpoint.test
          description: The object type, which is always webhook_endpoint.test.
          default: webhook_endpoint.test
          x-stainless-const: true
        webhook_endpoint_id:
          type: string
          description: The ID of the webhook endpoint that received the test.
        event_type:
          type: string
          description: The event type sent in the test.
        status_code:
          type: integer
          description: The HTTP status code returned by the endpoint.
        success:
          type: boolean
          enum:
          - true
          description: Whether the test request completed. Always true for returned results; use status_code to determine the endpoint response.
          default: true
          x-stainless-const: true
      type: object
      required:
      - object
      - webhook_endpoint_id
      - event_type
      - status_code
      - success
    PublicRotateSecretBody:
      properties:
        keep_old_secret_active_for_24_hours:
          type: boolean
          description: Whether to keep the previous signing secret valid for 24 hours after rotation. Defaults to false, which invalidates the previous secret immediately.
      type: object
      required: []
    WebhookEndpointWithSecretResource:
      properties:
        id:
          type: string
          description: The unique ID of the webhook endpoint.
        object:
          type: string
          enum:
          - webhook_endpoint
          description: The object type, which is always webhook_endpoint.
          default: webhook_endpoint
          x-stainless-const: true
        created_at:
          type: integer
          format: unixtime
          description: The Unix timestamp when the endpoint was created.
        updated_at:
          type: integer
          format: unixtime
          description: The Unix timestamp of the last endpoint configuration or signing-secret change. Initialized at creation; tests and unchanged updates do not advance it.
        name:
          type: string
          description: The human-readable name of the endpoint.
        url:
          type: string
          description: The HTTPS URL that receives webhook deliveries.
        event_types:
          items:
            type: string
          type: array
          description: The event types that trigger deliveries to this endpoint.
        signing_secret_hint:
          anyOf:
          - type: string
            description: A masked hint for the endpoint's signing secret.
          - type: 'null'
        signing_secret:
          type: string
          description: The endpoint's signing secret. This is returned only when the endpoint is created or the secret is rotated.
      type: object
      required:
      - id
      - object
      - created_at
      - name
      - url
      - event_types
      - signing_secret_hint
      - signing_secret
    PublicCreateEndpointBody:
      properties:
        name:
          type: string
          maxLength: 256
          minLength: 1
          description: A human-readable name for the webhook endpoint.
        url:
          type: string
          maxLength: 2048
          pattern: ^https://
          description: The HTTPS URL that receives webhook deliveries.
        event_types:
          items:
            $ref: '#/components/schemas/ProjectEventTypeEnum'
          type: array
          minItems: 1
          description: The event types that trigger deliveries to this endpoint.
      type: object
      required:
      - name
      - url
      - event_types
    WebhookEndpointListResource:
      properties:
        object:
          type: string
          enum:
          - list
          description: The object type, which is always list.
          default: list
          x-stainless-const: true
        data:
          items:
            $ref: '#/components/schemas/WebhookEndpointBody'
          type: array
          description: The webhook endpoints in this page.
        first_id:
          anyOf:
          - type: string
            description: The ID of the first endpoint in this page.
          - type: 'null'
        last_id:
          anyOf:
          - type: string
            description: The ID of the last endpoint in this page.
          - type: 'null'
        has_more:
          type: boolean
          description: Whether more webhook endpoints are available.
      type: object
      required:
      - object
      - data
      - first_id
      - last_id
      - has_more
    ProjectEventTypeEnum:
      type: string
      enum:
      - 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
      - safety.alert.created
    WebhookEndpointBody:
      properties:
        id:
          type: string
          description: The unique ID of the webhook endpoint.
        object:
          type: string
          enum:
          - webhook_endpoint
          description: The object type, which is always webhook_endpoint.
          default: webhook_endpoint
          x-stainless-const: true
        created_at:
          type: integer
          format: unixtime
          description: The Unix timestamp when the endpoint was created.
        updated_at:
          type: integer
          format: unixtime
          description: The Unix timestamp of the last endpoint configuration or signing-secret change. Initialized at creation; tests and unchanged updates do not advance it.
        name:
          type: string
          description: The human-readable name of the endpoint.
        url:
          type: string
          description: The HTTPS URL that receives webhook deliveries.
        event_types:
          items:
            type: string
          type: array
          description: The event types that trigger deliveries to this endpoint.
        signing_secret_hint:
          anyOf:
          - type: string
            description: A masked hint for the endpoint's signing secret.
          - type: 'null'
      type: object
      required:
      - id
      - object
      - created_at
      - name
      - url
      - event_types
      - signing_secret_hint
    PublicUpdateEndpointBody:
      properties:
        name:
          type: string
          maxLength: 256
          minLength: 1
          description: A new human-readable name for the webhook endpoint.
        url:
          type: string
          maxLength: 2048
          pattern: ^https://
          description: A new HTTPS URL that receives webhook deliveries.
        event_types:
          items:
            $ref: '#/components/schemas/ProjectEventTypeEnum'
          type: array
          minItems: 1
          description: The complete set of event types that should trigger deliveries.
      type: object
      required: []
    DeletedWebhookEndpointResource:
      properties:
        id:
          type: string
          description: The ID of the deleted webhook endpoint.
        object:
          type: string
          enum:
          - webhook_endpoint.deleted
          description: The object type, which is always webhook_endpoint.deleted.
          default: webhook_endpoint.deleted
          x-stainless-const: true
        deleted:
          type: boolean
          description: Whether the endpoint was deleted.
      type: object
      required:
      - id
      - object
      - deleted
    PublicTestEndpointBody:
      properties:
        event_type:
          $ref: '#/components/schemas/ProjectEventTypeEnum'
          description: The event type to send as a sample delivery.
      type: object
      required:
      - event_type
    _MisalignmentErrorType:
      anyOf:
      - type: string
      - type: string
        enum:
        - potentially_unintended_data_transfer
        - potentially_unintended_data_access
        - potentially_unintended_destructive_activity
        - other
    MisalignmentErrorDetailsResource:
      properties:
        review_target:
          anyOf:
          - not:
              pattern: '[^A-Za-z0-9._~:-]'
            type: string
            maxLength: 96
            minLength: 1
            pattern: ^[A-Za-z0-9._~:-]+$
            description: An opaque target for explicitly continuing this review, or null when unavailable.
          - type: 'null'
        error_type:
          $ref: '#/components/schemas/_MisalignmentErrorType'
          description: An optional classification; clients must accept additional values.
        detailed_explanation:
          type: string
          description: The public explanation for this block.
        steer:
          $ref: '#/components/schemas/_MisalignmentSteer'
          description: An optional public continuation instruction.
      type: object
      required: []
    Error:
      type: object
      properties:
        code:
          anyOf:
          - type: string
          - type: 'null'
        message:
          type: string
        param:
          anyOf:
          - type: string
          - type: 'null'
        type:
          type: string
        misalignment:
          $ref: '#/components/schemas/MisalignmentErrorDetailsResource'
      required:
      - type
      - message
      - param
      - code
    ProjectEventTypeEnum_2:
      type: string
      enum:
      - 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
    _MisalignmentSteer:
      properties:
        message:
          type: string
          description: The public continuation instruction.
      type: object
      required:
      - message
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
      - error
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
    AdminApiKeyAuth:
      type: http
      scheme: bearer
x-refined-from:
- openai-openapi-master-2026-09-23.yml
- openai-openapi-master-2026-10-12.yml
x-oaiMeta:
  groups:
  - id: audio
    title: Audio
    description: 'Learn how to turn audio into text or text into audio.


      Related guide: [Speech to text](/docs/guides/speech-to-text)

      '
    sections:
    - type: endpoint
      key: createSpeech
      path: createSpeech
    - type: endpoint
      key: createTranscription
      path: createTranscription
    - type: endpoint
      key: createTranslation
      path: createTranslation
  - id: chat
    title: Chat
    description: 'Given a list of messages comprising a conversation, the model will return a response.


      Related guide: [Chat Completions](/docs/guides/text-generation)

      '
    sections:
    - type: endpoint
      key: createChatCompletion
      path: create
    - type: object
      key: CreateChatCompletionResponse
      path: object
    - type: object
      key: CreateChatCompletionStreamResponse
      path: streaming
  - id: embeddings
    title: Embeddings
    description: 'Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.


      Related guide: [Embeddings](/docs/guides/embeddings)

      '
    sections:
    - type: endpoint
      key: createEmbedding
      path: create
    - type: object
      key: Embedding
      path: object
  - id: fine-tuning
    title: Fine-tuning
    description: 'Manage fine-tuning jobs to tailor a model to your specific training data.


      Related guide: [Fine-tune models](/docs/guides/fine-tuning)

      '
    sections:
    - type: endpoint
      key: createFineTuningJob
      path: create
    - type: endpoint
      key: listPaginatedFineTuningJobs
      path: list
    - type: endpoint
      key: listFineTuningEvents
      path: list-events
    - type: endpoint
      key: retrieveFineTuningJob
      path: retrieve
    - type: endpoint
      key: cancelFineTuningJob
      path: cancel
    - type: object
      key: FineTuningJob
      path: object
    - type: object
      key: FineTuningJobEvent
      path: event-object
  - id: files
    title: Files
    description: 'Files are used to upload documents that can be used with features like [Assistants](/docs/api-reference/assistants) and [Fine-tuning](/docs/api-reference/fine-tuning).

      '
    sections:
    - type: endpoint
      key: createFile
      path: create
    - type: endpoint
      key: listFiles
      path: list
    - type: endpoint
      key: retrieveFile
      path: retrieve
    - type: endpoint
      key: deleteFile
      path: delete
    - type: endpoint
      key: downloadFile
      path: retrieve-contents
    - type: object
      key: OpenAIFile
      path: object
  - id: images
    title: Images
    description: 'Given a prompt and/or an input image, the model will generate a new image.


      Related guide: [Image generation](/docs/guides/images)

      '
    sections:
    - type: endpoint
      key: createImage
      path: create
    - type: endpoint
      key: createImageEdit
      path: createEdit
    - type: endpoint
      key: createImageVariation
      path: createVariation
    - type: object
      key: Image
      path: object
  - id: models
    title: Models
    description: 'List and describe the various models available in the API. You can refer to the [Models](/docs/models) documentation to understand what models are available and the differences between them.

      '
    sections:
    - type: endpoint
      key: listModels
      path: list
    - type: endpoint
      key: retrieveModel
      path: retrieve
    - type: endpoint
      key: deleteModel
      path: delete
    - type: object
      key: Model
      path: object
  - id: moderations
    title: Moderations
    description: 'Given a input text, outputs if the model classifies it as violating OpenAI''s content policy.


      Related guide: [Moderations](/docs/guides/moderation)

      '
    sections:
    - type: endpoint
      key: createModeration
      path: create
    - type: object
      key: CreateModerationResponse
      path: object
  - id: assistants
    title: Assistants
    beta: true
    description: 'Build assistants that can call models and use tools to perform tasks.


      [Get started with the Assistants API](/docs/assistants)

      '
    sections:
    - type: endpoint
      key: createAssistant
      path: createAssistant
    - type: endpoint
      key: createAssistantFile
      path: createAssistantFile
    - type: endpoint
      key: listAssistants
      path: listAssistants
    - type: endpoint
      key: listAssistantFiles
      path: listAssistantFiles
    - type: endpoint
      key: getAssistant
      path: getAssistant
    - type: endpoint
      key: getAssistantFile
      path: getAssistantFile
    - type: endpoint
      key: modifyAssistant
      path: modifyAssistant
    - type: endpoint
      key: deleteAssistant
      path: deleteAssistant
    - type: endpoint
      key: deleteAssistantFile
      path: deleteAssistantFile
    - type: object
      key: AssistantObject
      path: object
    - type: object
      key: AssistantFileObject
      path: file-object
  - id: threads
    title: Threads
    beta: true
    description: 'Create threads that assistants can interact with.


      Related guide: [Assistants](/docs/assistants/overview)

      '
    sections:
    - type: endpoint
      key: createThread
      path: createThread
    - type: endpoint
      key: getThread
      path: getThread
    - type: endpoint
      key: modifyThread
      path: modifyThread
    - type: endpoint
      key: deleteThread
      path: deleteThread
    - type: object
      key: ThreadObject
      path: object
  - id: messages
    title: Messages
    beta: true
    description: 'Create messages within threads


      Related guide: [Assistants](/docs/assistants/overview)

      '
    sections:
    - type: endpoint
      key: createMessage
      path: createMessage
    - type: endpoint
      key: listMessages
      path: listMessages
    - type: endpoint
      key: listMessageFiles
      path: listMessageFiles
    - type: endpoint
      key: getMessage
      path: getMessage
    - type: endpoint
      key: getMessageFile
      path: getMessageFile
    - type: endpoint
      key: modifyMessage
      path: modifyMessage
    - type: object
      key: MessageObject
      path: object
    - type: object
      key: MessageFileObject
      path: file-object
  - id: runs
    title: Runs
    beta: true
    description: 'Represents an execution run on a thread.


      Related guide: [Assistants](/docs/assistants/overview)

      '
    sections:
    - type: endpoint
      key: createRun
      path: createRun
    - type: endpoint
      key: createThreadAndRun
      path: createThreadAndRun
    - type: endpoint
      key: listRuns
      path: listRuns
    - type: endpoint
      key: listRunSteps
      path: listRunSteps
    - type: endpoint
      key: getRun
      path: getRun
    - type: endpoint
      key: getRunStep
      path: getRunStep
    - type: endpoint
      key: modifyRun
      path: modifyRun
    - type: endpoint
      key: submitToolOuputsToRun
      path: submitToolOutputs
    - type: endpoint
      key: cancelRun
      path: cancelRun
    - type: object
      key: RunObject
      path: object
    - type: object
      key: RunStepObject
      path: step-object
  - id: completions
    title: Completions
    legacy: true
    description: 'Given a prompt, the model will return one or more predicted completions along with the probabilities of alternative tokens at each position. Most developer should use our [Chat Completions API](/docs/guides/text-generation/text-generation-models) to leverage our best and newest models. Most models that support the legacy Completions endpoint [will be shut off on January 4th, 2024](/docs/deprecations/2023-07-06-gpt-and-embeddings).

      '
    sections:
    - type: endpoint
      key: createCompletion
      path: create
    - type: object
      key: CreateCompletionResponse
      path: object