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

# Send a test event

> POST a sample event to this endpoint right now and report what happened.

No call is placed. The sample carries `call_id: "call_test_00000000"` and
`metadata: {"test": true}` so your handler can recognize it, and it is
signed with the endpoint's real secret, so a `401` from your server usually
means your signature check is the problem. One attempt, no retries; the
send appears in the delivery log with `event: test`.



## OpenAPI

````yaml api-reference/openapi.json POST /v1/webhook-endpoints/{endpoint_id}/test
openapi: 3.1.0
info:
  description: >-
    Programmatic access to Contour from your own backend: place outbound calls,
    read their results, and manage the webhook endpoints that receive signed
    `call.started`, `call.ended` and `call.analyzed` events.
  title: Contour API
  version: '1.0'
servers:
  - url: https://api.contourvoice.com
security:
  - HTTPBearer: []
tags:
  - description: Place outbound calls and read their state and recordings.
    name: Calls
  - description: >-
      Register URLs to receive signed events, send test events, and inspect or
      retry deliveries.
    name: Webhook Endpoints
paths:
  /v1/webhook-endpoints/{endpoint_id}/test:
    post:
      tags:
        - Webhook Endpoints
      summary: Send a test event
      description: >-
        POST a sample event to this endpoint right now and report what happened.


        No call is placed. The sample carries `call_id: "call_test_00000000"`
        and

        `metadata: {"test": true}` so your handler can recognize it, and it is

        signed with the endpoint's real secret, so a `401` from your server
        usually

        means your signature check is the problem. One attempt, no retries; the

        send appears in the delivery log with `event: test`.
      operationId: send_test_webhook
      parameters:
        - in: path
          name: endpoint_id
          required: true
          schema:
            format: uuid
            title: Endpoint Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/TestEventRequest'
                - type: 'null'
              title: Body
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestEventResponse'
          description: Successful Response
        '401':
          content:
            application/json:
              example:
                detail: Invalid or expired API key
          description: Missing or invalid API key.
        '404':
          content:
            application/json:
              example:
                detail: Webhook endpoint not found.
          description: No webhook endpoint with this id in your organization.
        '422':
          content:
            application/json:
              example:
                detail: event must be one of call.started, call.ended, call.analyzed.
          description: Unknown event name.
      security:
        - HTTPBearer: []
components:
  schemas:
    TestEventRequest:
      properties:
        event:
          default: call.ended
          description: >-
            Which sample event to send. One of `call.started`, `call.ended`,
            `call.analyzed`.
          title: Event
          type: string
      title: TestEventRequest
      type: object
    TestEventResponse:
      examples:
        - delivery_id: 6a0d5e4f-3c2b-4a19-8e7d-6c5b4a392817
          status: succeeded
          status_code: 200
      properties:
        delivery_id:
          description: The delivery row recorded for this send.
          format: uuid
          title: Delivery Id
          type: string
        error:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Why it failed. `HTTP 401` usually means your signature check
            rejected it; other values describe connection problems.
          title: Error
        status:
          description: '`succeeded` or `failed`. Test sends are never retried.'
          title: Status
          type: string
        status_code:
          anyOf:
            - type: integer
            - type: 'null'
          description: HTTP status your server returned, or null if it never answered.
          title: Status Code
      required:
        - delivery_id
        - status
      title: TestEventResponse
      type: object
  securitySchemes:
    HTTPBearer:
      description: >-
        Your organization's API key (`sk_cont_...`), sent as `Authorization:
        Bearer sk_cont_...`. Keep it server-side.
      scheme: bearer
      type: http

````