Webhooks

List webhook deliveries

Retrieve recent deliveries for an endpoint, newest first, with the HTTP status and response body of the last attempt. Deliveries are kept for 30 days.

get/api/v1/webhook_endpoints/{endpoint_id}/deliveries

Request

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

Path parameters

endpoint_idstring required
Example:whep_9Lm2Xc7VqT4bRn

The webhook endpoint ID

Query parameters

status'pending' | 'succeeded' | 'failed'
Example:failed

Filter by delivery status

limitinteger
Example:50

Maximum rows to return (default 50)

cursorstring

Opaque cursor from a previous page's next_cursor. Returns the rows after that position.

Response

Successful response

has_moreboolean required

True when rows exist after the last one in data

next_cursorstring nullable required

Pass back as cursor to read the next page

Example response

{
  "data": [
    {
      "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.