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

# Webhook Subscribe

> Route a conversation to a webhook. The agent pipeline is skipped while the override is active.

Switches the conversation to `webhook` routing and sets the per-conversation
webhook override. Fires `subscription.activated` on the newly assigned
webhook unless it was already the active subscriber.

While the override is in place, every inbound user message produces a
`subscription.message.received` event sent to the assigned webhook **only** —
the agent pipeline is not run. Clear the override with
[`POST /conversations/{id}/unsubscribe/`](/api-reference/conversations/unsubscribe).

<Note>
  Webhooks themselves must be created in the [dashboard](https://wassist.app/developers/webhooks).
  There is no API for webhook creation.
</Note>


## OpenAPI

````yaml api-reference/openapi.json POST /api/v1/conversations/{id}/subscribe/
openapi: 3.0.3
info:
  title: Wassist API
  version: 1.0.0
  description: API for building WhatsApp AI agents
servers:
  - url: https://alpha-plagiocephalic-darrell.ngrok-free.dev
    description: Development
security: []
tags:
  - name: Agents
    description: Create and manage AI agents
  - name: Conversations
    description: Chat conversations and messages
  - name: WhatsApp
    description: WhatsApp Business account management
  - name: Contacts
    description: Contact management
  - name: Integrations
    description: Third-party integrations
paths:
  /api/v1/conversations/{id}/subscribe/:
    post:
      tags:
        - api
      description: Route this conversation to a webhook
      operationId: api_v1_conversations_subscribe_create
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscribeConversationInput'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conversation'
          description: ''
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SubscribeConversationInput:
      type: object
      description: Subscribe a webhook to this conversation.
      properties:
        webhookId:
          type: string
          format: uuid
          description: ID of an existing webhook to route this conversation to.
      required:
        - webhookId
    Conversation:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        contact:
          $ref: '#/components/schemas/ConversationContact'
        activeAgent:
          type: string
          readOnly: true
        whatsappNumber:
          type: string
          readOnly: true
        chatWindowRemainingTime:
          type: string
          readOnly: true
        lastMessage:
          type: string
          readOnly: true
        isHumanTakeover:
          type: string
          readOnly: true
        active:
          type: string
          readOnly: true
        routing:
          type: string
          readOnly: true
        webhookId:
          type: string
          readOnly: true
        routingOverride:
          type: string
          readOnly: true
      required:
        - active
        - activeAgent
        - chatWindowRemainingTime
        - contact
        - id
        - isHumanTakeover
        - lastMessage
        - routing
        - routingOverride
        - webhookId
        - whatsappNumber
    ConversationContact:
      type: object
      properties:
        phoneNumber:
          type: string
        name:
          type: string
          nullable: true
      required:
        - name
        - phoneNumber
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key authentication. Pass your API key in the X-API-Key header.

````