Webhooks

Send a test event

Queue a webhook.test event to the endpoint. It is signed and retried like a real event, so use it to check your verifier.

post/api/v1/webhook_endpoints/{endpoint_id}/test

Request

  • Base URL
    https://app.voicepanel.com
  • URL
    https://app.voicepanel.com/api/v1/webhook_endpoints/{endpoint_id}/test
  • Auth
    HTTP bearer

Path parameters

endpoint_idstring required
Example:whep_9Lm2Xc7VqT4bRn

The webhook endpoint ID

Response

The queued test delivery

idstring required

The webhook delivery ID

endpoint_idstring required

The webhook endpoint ID

account_idstring required

The account that owns the endpoint

event_idstring required

Event ID sent in the webhook-id header

event_type'response.completed' | 'webhook.test' required

Event type sent in the x-voicepanel-event header

status'pending' | 'succeeded' | 'failed' required

pending while attempts remain

attemptsinteger required

Attempts made so far

last_attempt_atstring date-time nullable required
response_statusinteger nullable required

HTTP status of the last attempt

response_bodystring nullable required

Response body of the last attempt, truncated

errorstring nullable required

Error of the last attempt, when no response arrived

created_atstring date-time required
updated_atstring date-time required

Example response

{
  "id": "whdl_5Pq8Rt2WkM6zHc",
  "endpoint_id": "whep_9Lm2Xc7VqT4bRn",
  "account_id": "acct_7Kq2mVbXpR4nZa",
  "event_id": "evt_response_completed_3f9c2b7e-5d41-4a8e-9b0c-7e2f1a6d4c58",
  "event_type": "response.completed",
  "payload": {
    "id": "evt_response_completed_3f9c2b7e-5d41-4a8e-9b0c-7e2f1a6d4c58",
    "type": "response.completed",
    "created_at": "2026-03-09T18:45:01.000Z",
    "data": {
      "response": {
        "id": "3f9c2b7e-5d41-4a8e-9b0c-7e2f1a6d4c58",
        "study_id": "stdy_Qm3vR8tLp2XnWz",
        "distribution_id": "dst_7C1hPliVteu3n4",
        "segment_id": null,
        "status": "completed",
        "status_reason": "answered_all_questions",
        "mode": "production",
        "format": "audio",
        "language": "en",
        "custom_id": "user-48213",
        "query_params": {
          "cid": "user-48213",
          "utm_source": "newsletter"
        },
        "seconds_elapsed": 270,
        "quality_score": {
          "overallRating": "high",
          "reason": "Specific, first-hand answers with concrete details."
        },
        "seq_num": 42,
        "opened_at": "2026-03-09T18:39:00.000Z",
        "first_message_at": "2026-03-09T18:39:30.000Z",
        "last_message_at": "2026-03-09T18:43:15.000Z",
        "created_at": "2026-03-09T18:38:50.000Z",
        "updated_at": "2026-03-09T18:45:00.000Z"
      }
    }
  },
  "status": "succeeded",
  "attempts": 1,
  "last_attempt_at": "2026-03-09T18:45:02.000Z",
  "response_status": 200,
  "response_body": "ok",
  "created_at": "2026-03-09T18:45:01.000Z",
  "updated_at": "2026-03-09T18:45:02.000Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.