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

# Test Workflow Webhook API

> Send one sample execution webhook to the workflow's configured destination and see exactly what your server did with it.



## OpenAPI

````yaml POST /workflows/{workflow_id}/webhook:test
openapi: 3.1.0
info:
  title: Bolna API
  description: >-
    Use and leverage Bolna Voice AI using APIs through HTTP requests from any
    language in your applications and workflows.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.bolna.ai
    description: Production server
security:
  - bearerAuth: []
paths:
  /workflows/{workflow_id}/webhook:test:
    post:
      description: >
        Sends one sample execution webhook to the workflow's configured
        `settings.webhook.url`, with its

        headers, and reports what your server did with it, so you can verify the
        destination before

        running real contacts.


        The sample is built from this workflow's own latest published graph — it
        walks the first branch

        of each node from the start node to an end node — so it carries your
        node ids and your

        extraction field names, in exactly the shape a real execution sends.
        Nothing is queued, no

        execution is created, and redirects are not followed.
      parameters:
        - in: path
          name: workflow_id
          required: true
          schema:
            type: string
            format: uuid
          description: The unique `id` of the workflow
      responses:
        '200':
          description: The test ran. Check `result` for what your server did with it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowWebhookTest'
        '404':
          description: Workflow not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowError'
        '409':
          description: No webhook is configured on this workflow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowError'
        '422':
          description: >-
            The workflow has never been published, so there is no graph to build
            a sample from
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowError'
components:
  schemas:
    WorkflowWebhookTest:
      type: object
      properties:
        webhook_url:
          type: string
          description: The destination the sample was sent to.
        workflow_version:
          type: integer
          description: The published version whose graph the sample was built from.
        sample_path:
          type: array
          items:
            type: string
          description: The node ids the sample trail walked, in order.
          example:
            - n_start
            - n_call1
            - n_extract
            - n_end
        sample_outcome:
          type: string
          enum:
            - success
            - failure
            - neutral
          description: The outcome of the end node the sample path reached.
        result:
          type: object
          properties:
            delivered:
              type: boolean
              description: >-
                True when your server replied with a 2xx status. Redirects are
                not followed, so a 3xx is not delivered.
            http_status:
              type: integer
              nullable: true
              description: The status your server replied with, when it replied at all.
            response_body:
              type: string
              nullable: true
              description: The first 500 characters of your server's response.
            error_type:
              type: string
              nullable: true
              enum:
                - http_error
                - unreachable
              description: >
                `http_error` when your server replied with anything other than
                2xx; `unreachable` when

                it could not be contacted at all (DNS, TLS, connection refused,
                or timeout).
            error:
              type: string
              nullable: true
              description: A human-readable description of the failure.
    WorkflowError:
      type: object
      description: >-
        Error envelope returned by every workflow endpoint. `detail.code` is a
        stable machine-readable code; extra keys (such as `current_revision` on
        `revision_conflict`, `execution_id` on `duplicate_run`, or `issues` on
        `invalid_definition`) ride alongside it.
      required:
        - detail
      properties:
        detail:
          type: object
          additionalProperties: true
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Machine-readable error code.
              example: revision_conflict
            message:
              type: string
              description: Human-readable explanation.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````