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

# Update a webhook endpoint

> Update a webhook endpoint's address, event subscriptions, or status (`active` re-enables, `disabled` pauses; re-enabling does not re-send the gap, replay covers it). `destination_kind` cannot change: batches already planned against the old transport are in flight, so a move means a new endpoint alongside this one until it has drained.



## OpenAPI

````yaml PATCH /api/webhooks/v1/endpoints/{id}
openapi: 3.1.0
info:
  title: LangWatch API
  version: 1.0.0
  description: LangWatch openapi spec
servers:
  - url: https://app.langwatch.ai
security:
  - project_api_key: []
paths:
  /api/webhooks/v1/endpoints/{id}:
    patch:
      tags:
        - Webhooks
      summary: Update a webhook endpoint
      description: >-
        Update a webhook endpoint's address, event subscriptions, or status
        (`active` re-enables, `disabled` pauses; re-enabling does not re-send
        the gap, replay covers it). `destination_kind` cannot change: batches
        already planned against the old transport are in flight, so a move means
        a new endpoint alongside this one until it has drained.
      operationId: patchApiWebhooksV1EndpointsById
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                destination_kind:
                  type: string
                  enum:
                    - http
                    - sqs
                url:
                  type: string
                  minLength: 1
                  maxLength: 2000
                sqs:
                  type: object
                  properties:
                    queue_url:
                      type: string
                      minLength: 1
                      maxLength: 2000
                    role_arn:
                      type: string
                      minLength: 1
                      maxLength: 2048
                    external_id:
                      type: string
                      minLength: 1
                      maxLength: 1224
                    access_key_id:
                      type: string
                      minLength: 1
                      maxLength: 128
                    secret_access_key:
                      type: string
                      minLength: 1
                      maxLength: 256
                enabled_events:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 200
                  minItems: 1
                  maxItems: 100
                status:
                  type: string
                  enum:
                    - active
                    - disabled
                max_batch_size:
                  type: integer
                max_batch_delay_ms:
                  type: integer
                max_in_flight:
                  type: integer
      responses:
        '200':
          description: The endpoint as it now stands
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    oneOf:
                      - type: object
                        properties:
                          destination_kind:
                            type: string
                            const: http
                          url:
                            type: string
                          sqs:
                            type: 'null'
                          id:
                            type: string
                          enabled_events:
                            type: array
                            items:
                              type: string
                          status:
                            type: string
                            enum:
                              - active
                              - disabled
                          disabled_reason:
                            type:
                              - string
                              - 'null'
                          disabled_at:
                            type:
                              - string
                              - 'null'
                          failing_since:
                            type:
                              - string
                              - 'null'
                          last_success_at:
                            type:
                              - string
                              - 'null'
                          last_failure_at:
                            type:
                              - string
                              - 'null'
                          max_batch_size:
                            type: integer
                          max_batch_delay_ms:
                            type: integer
                          max_in_flight:
                            type: integer
                          created_at:
                            type: string
                          updated_at:
                            type: string
                        required:
                          - destination_kind
                          - url
                          - sqs
                          - id
                          - enabled_events
                          - status
                          - disabled_reason
                          - disabled_at
                          - failing_since
                          - last_success_at
                          - last_failure_at
                          - max_batch_size
                          - max_batch_delay_ms
                          - max_in_flight
                          - created_at
                          - updated_at
                      - type: object
                        properties:
                          destination_kind:
                            type: string
                            const: sqs
                          url:
                            type: 'null'
                          sqs:
                            type: object
                            properties:
                              queue_url:
                                type: string
                              region:
                                type: string
                              account_id:
                                type: string
                              queue_name:
                                type: string
                              credential_mode:
                                type: string
                                enum:
                                  - assume_role
                                  - static
                                  - ambient
                              role_arn:
                                type:
                                  - string
                                  - 'null'
                              external_id:
                                type:
                                  - string
                                  - 'null'
                              access_key_id:
                                type:
                                  - string
                                  - 'null'
                            required:
                              - queue_url
                              - region
                              - account_id
                              - queue_name
                              - credential_mode
                              - role_arn
                              - external_id
                              - access_key_id
                          id:
                            type: string
                          enabled_events:
                            type: array
                            items:
                              type: string
                          status:
                            type: string
                            enum:
                              - active
                              - disabled
                          disabled_reason:
                            type:
                              - string
                              - 'null'
                          disabled_at:
                            type:
                              - string
                              - 'null'
                          failing_since:
                            type:
                              - string
                              - 'null'
                          last_success_at:
                            type:
                              - string
                              - 'null'
                          last_failure_at:
                            type:
                              - string
                              - 'null'
                          max_batch_size:
                            type: integer
                          max_batch_delay_ms:
                            type: integer
                          max_in_flight:
                            type: integer
                          created_at:
                            type: string
                          updated_at:
                            type: string
                        required:
                          - destination_kind
                          - url
                          - sqs
                          - id
                          - enabled_events
                          - status
                          - disabled_reason
                          - disabled_at
                          - failing_since
                          - last_success_at
                          - last_failure_at
                          - max_batch_size
                          - max_batch_delay_ms
                          - max_in_flight
                          - created_at
                          - updated_at
                required:
                  - data
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      meta:
                        type: object
                        additionalProperties: {}
                      trace_id:
                        type: string
                      span_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      meta:
                        type: object
                        additionalProperties: {}
                      trace_id:
                        type: string
                      span_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                required:
                  - error
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      meta:
                        type: object
                        additionalProperties: {}
                      trace_id:
                        type: string
                      span_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                required:
                  - error
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      meta:
                        type: object
                        additionalProperties: {}
                      trace_id:
                        type: string
                      span_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                required:
                  - error
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                      code:
                        type: string
                      message:
                        type: string
                      meta:
                        type: object
                        additionalProperties: {}
                      trace_id:
                        type: string
                      span_id:
                        type: string
                    required:
                      - type
                      - code
                      - message
                required:
                  - error
      security:
        - admin_api_key: []
components:
  securitySchemes:
    project_api_key:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        Project API key for sending traces and accessing project-scoped
        resources. Format: sk-lw-... (no underscore). Obtain one by creating a
        project via the Admin API or the LangWatch UI.
    admin_api_key:
      type: http
      scheme: bearer
      description: >-
        Admin API key for organization-level operations (managing projects, API
        keys). Create one in Settings > API Keys or via POST /api/api-keys.
        Format: sk-lw-{id}_{secret}.

````