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

# Update Webhook

> Update an existing webhook's URL and status. Webhooks are created with 'disabled' status by default and must be enabled using this endpoint.

**Important:** The event category cannot be changed after webhook creation. Only the URL and status can be updated.

**Default Behavior:**
- All webhooks are created with `status: "disabled"`
- Use this endpoint to set `status: "enabled"` to start receiving events
- URL can be updated to change the webhook destination



## OpenAPI

````yaml /api-reference/openapi.json put /onboarding/api/v1/webhooks
openapi: 3.0.0
info:
  title: Carbn Connect API
  version: 1.0.0
  description: >-
    API documentation for Carbn Connect services including user onboarding, KYC,
    wallet management, and transfers.
servers:
  - url: https://api.carbnconnect.com
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /onboarding/api/v1/webhooks:
    put:
      tags:
        - Webhook Management
      summary: Update Webhook
      description: >-
        Update an existing webhook's URL and status. Webhooks are created with
        'disabled' status by default and must be enabled using this endpoint.


        **Important:** The event category cannot be changed after webhook
        creation. Only the URL and status can be updated.


        **Default Behavior:**

        - All webhooks are created with `status: "disabled"`

        - Use this endpoint to set `status: "enabled"` to start receiving events

        - URL can be updated to change the webhook destination
      operationId: updateWebhook
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookUpdateRequest'
      responses:
        '200':
          description: Webhook updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookUpdateResponse'
        '400':
          description: Invalid request - URL must be HTTPS or invalid status
        '401':
          description: Unauthorized - API key is missing or invalid
        '404':
          description: Webhook not found
      security:
        - ApiKeyAuth: []
components:
  schemas:
    WebhookUpdateRequest:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          format: uuid
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          description: Unique identifier of the webhook to update
        url:
          type: string
          format: uri
          pattern: ^https://.*
          example: https://testmywebhook.requestcatcher.com/test112
          description: >-
            The HTTPS URL where webhook events will be sent. Must use HTTPS
            protocol.
        status:
          type: string
          enum:
            - enabled
            - disabled
          example: disabled
          description: >-
            Status of the webhook. Webhooks are created with 'disabled' status
            by default and must be enabled using this endpoint.
    WebhookUpdateResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          description: Unique identifier of the updated webhook
        url:
          type: string
          format: uri
          example: https://testmywebhook.requestcatcher.com/test112
          description: Updated webhook URL
        status:
          type: string
          enum:
            - enabled
            - disabled
          example: enabled
          description: Updated webhook status
        event_category:
          type: string
          example: ONRAMP_TRANSACTION_STATUS
          description: >-
            The event category for this webhook (cannot be changed after
            creation)
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication. Must be included in the x-api-key header.

````