> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axilio.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Register a webhook endpoint

> Registers an HTTPS endpoint to receive signed events for the caller's organization, subscribed to a set of event types (or all). The signing secret is returned exactly once.

<span class="api-role api-role-admin" title="Admins only.">Minimum role required: Admin</span>


## OpenAPI

````yaml /api-reference/openapi-backend.json post /webhooks/endpoints
openapi: 3.1.0
info:
  description: Axilio backend HTTP API.
  title: Axilio API
  version: 0.107.0
servers:
  - url: https://api.axilio.ai/api/v1
    description: Production
security: []
tags:
  - name: API Keys
  - name: Billing
  - name: Files
  - name: Organization
  - name: Phones
  - name: Runs
  - name: Skill
  - name: Usage
  - name: Webhooks
  - name: Workflows
paths:
  /webhooks/endpoints:
    post:
      tags:
        - Webhooks
      summary: Register a webhook endpoint
      description: >-
        Registers an HTTPS endpoint to receive signed events for the caller's
        organization, subscribed to a set of event types (or all). The signing
        secret is returned exactly once.
      operationId: webhooks_create_endpoint
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookEndpointCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointCreateResponse'
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/V2ErrorModel'
          description: Error
      security:
        - apiKeyAuth: []
components:
  schemas:
    WebhookEndpointCreateRequest:
      additionalProperties: false
      description: Request body for registering an outbound webhook or BYOS endpoint.
      properties:
        config:
          additionalProperties:
            type: string
          description: >-
            Non-secret configuration for a BYOS destination (e.g. queue_url +
            region for aws_sqs).
          type: object
        credentials:
          additionalProperties:
            type: string
          description: >-
            Customer secrets for a BYOS destination (e.g. AWS key/secret). Never
            stored or logged by Axilio; passed to the delivery gateway, which
            encrypts them.
          type: object
        event_types:
          description: Event types to subscribe to. Empty means all event types.
          items:
            type: string
          maxItems: 100
          type:
            - array
            - 'null'
        type:
          description: >-
            Destination type: webhook (default when omitted), aws_sqs, aws_s3,
            or aws_kinesis.
          enum:
            - webhook
            - aws_sqs
            - aws_s3
            - aws_kinesis
          type: string
        url:
          description: >-
            HTTPS endpoint that signed events are delivered to (webhook
            destinations).
          format: uri
          maxLength: 2048
          type: string
      type: object
    WebhookEndpointCreateResponse:
      additionalProperties: false
      description: >-
        A newly registered webhook endpoint, including its signing secret (shown
        once).
      properties:
        config:
          additionalProperties:
            type: string
          description: >-
            Non-secret configuration of a BYOS destination (e.g. queue_url +
            region). Absent for webhook destinations.
          type: object
        created_at:
          description: Timestamp when the endpoint was registered.
          format: date-time
          type: string
        event_types:
          description: Subscribed event types ("*" means all).
          items:
            type: string
          type:
            - array
            - 'null'
        id:
          description: Endpoint identifier.
          type: string
        secret:
          description: >-
            Standard Webhooks signing secret (whsec_...), webhook destinations
            only. Shown once at creation and never returned again. Absent for
            BYOS destinations.
          type: string
        type:
          description: >-
            Destination type: webhook or a BYOS type (aws_sqs, aws_s3,
            aws_kinesis).
          enum:
            - webhook
            - aws_sqs
            - aws_s3
            - aws_kinesis
          type: string
        url:
          description: Delivery endpoint URL (webhook destinations).
          type: string
      required:
        - id
        - type
        - event_types
        - created_at
      type: object
    V2ErrorModel:
      additionalProperties: false
      description: >-
        Error response, following RFC 9457 (Problem Details for HTTP APIs).
        Returned with a application/problem+json content type.
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/V2ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    V2ErrorDetail:
      additionalProperties: false
      description: >-
        One specific problem within an error response, locating the offending
        part of the request.
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    apiKeyAuth:
      description: Customer API key (axl_ prefix).
      in: header
      name: X-Axilio-Api-Key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.