---
title: "List webhook deliveries"
method: GET
path: "/webhooks/deliveries"
tags: ["Webhooks"]
---

# List webhook deliveries

`GET /webhooks/deliveries`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/webhooks/deliveries`
- Auth: HTTP bearer

Returns redacted webhook delivery evidence and the current retry policy for the authenticated integration client. External URL: `/v1/webhooks/deliveries`. Current Next.js implementation path: `/api/platform/v1/webhooks/deliveries`. This read-only route does not require `Idempotency-Key` and never returns webhook payloads, response bodies, response headers, raw signing secrets, or signing-secret digests.

## Query parameters

- `limit` integer
- `cursor` string
- `endpoint_id` string, uuid
- `status` 'pending' | 'success' | 'failed' | 'abandoned'

## Headers

- `X-Correlation-Id` string

## Response `200`

Redacted webhook delivery evidence.

- PlatformWebhookDeliveryListResponse
  - `deliveries` PlatformWebhookDelivery[], required
    - `id` string, uuid, required
    - `endpoint_id` string, uuid, required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `environment` 'sandbox' | 'live', required
    - `event_type` 'listing.updated' | 'viewing.requested' | 'viewing.status_changed' | 'agent.lead_created' | 'agent.lead_status_changed' | 'agency.member_changed' | 'agency.listing_distribution_changed' | 'listing_feed.status_changed' | 'site.published' | 'site.form_submitted' | 'site.scheduling_requested' | 'site.crm_delivery_failed' | 'developer.project_published' | 'developer.inventory_updated' | 'developer.price_list_published' | 'developer.showflat_requested' | 'developer.crm_delivery_failed' | 'bank.application_created' | 'bank.document_requested' | 'bank.document_uploaded' | 'bank.application_submitted' | 'bank.status_changed' | 'bank.callback_failed' | 'official_source.refresh_started' | 'official_source.refresh_completed' | 'official_source.refresh_failed' | 'official_source.schema_changed' | 'official_source.freshness_degraded' | 'service.booking_status_changed' | 'service.payment_succeeded' | 'service.payment_failed' | 'provider.payable_created' | 'provider.payout_scheduled' | 'provider.payout_paid' | 'provider.payout_failed' | 'service.refund_created' | 'service.chargeback_opened' | 'service.settlement_adjusted' | 'service.settlement_reconciled' | 'finance.application_status_changed' | 'transaction.matter_created' | 'transaction.milestone_changed' | 'transaction.document_requested' | 'transaction.document_shared' | 'conveyancing.matter_status_changed' | 'partner.certification_submitted' | 'partner.certification_approved' | 'integration.installed' | 'integration.revoked' | 'consent.granted' | 'consent.revoked' | 'data_dispute.opened' | 'data_dispute.resolved' | 'usage.quota_exceeded' | 'billing.invoice_created' | 'abuse.credential_suspended' | 'api.deprecation_notice_created', required: Additive platform webhook event type. Event-specific payload DTOs are added only when a workflow route or deterministic sandbox producer can back the contract.
    - `event_id` string, required
    - `delivery_status` 'pending' | 'success' | 'failed' | 'abandoned', required
    - `attempt_count` integer, required
    - `next_attempt_at` string, date-time, nullable, required
    - `response_status` integer, nullable, required
    - `error_code` string, nullable, required
    - `request_id` string, nullable, required
    - `payload_redaction_version` integer, required
    - `metadata` object, required: Redacted delivery metadata only. Payloads, response bodies, response headers, raw URLs with credentials, and signing secrets are never returned.
      - `endpoint_host` string, nullable, required
      - `payload_bytes` integer, nullable, required
      - `payload_too_large` boolean, nullable, required
      - `payload_redaction_version` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `pagination` object, required
    - `limit` integer, required
    - `next_cursor` string, nullable, required
  - `retry_policy` PlatformWebhookRetryPolicy, required: Current webhook retry posture. Automatic queue dispatch is intentionally deferred; sandbox replay requires an Idempotency-Key and retained outbox payload evidence.
    - `policy_version` 'platform_webhook_retry_policy.v1', required
    - `automatic_retries_enabled` false, required
    - `automatic_dispatch` 'deferred_until_queue_dispatcher', required
    - `outbox_max_attempts` integer, required
    - `manual_replay` 'sandbox_only', required
    - `replay_idempotency` 'required', required
    - `live_replay_supported` false, required
    - `payload_retention_required_for_replay` true, required
  - `livemode` boolean, required
  - `request_id` string, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing or invalid platform API key.
- `403`: Credential, environment, or scope is not allowed.
- `404`: Platform API feature or resource is not available.
- `429`: Rate limit exceeded.
- `500`: Unexpected platform API failure.

---

[API](https://skmtc.dev/homejourney/apis/homejourney-platform-api.md) · [All operations](https://skmtc.dev/homejourney/apis/homejourney-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/homejourney/apis/homejourney-platform-api/revisions/a2c6fe063db1?raw)
