Light AIDocs Beta Open Light AI

API reference

POSTReplay events to an endpoint

POST /v1/webhook_endpoints/{endpoint_id}/replay: Re-queues events of a time range (at most 30 days back, at most 5000 events).

POSThttps://api.light-ai.app/v1/webhook_endpoints/{endpoint_id}/replay

Re-queues events of a time range (at most 30 days back, at most 5000 events). By default only events not yet delivered successfully, including events missed while the endpoint was disabled. Replays reuse the original webhook-id. Test-mode replays count toward the organization's 500 test deliveries a day: a replay that would pass it queues nothing and answers 429 (Retry-After until midnight UTC).

Scopewebhooks:manage
CredentialAPI key: Authorization: Bearer lai_live_… (or lai_test_…). Partner keys add Light-AI-Organization.
Test modeWorks with test keys (test objects only).
IdempotencyIdempotency-Key supported. See Idempotency.

Path parameters#

endpoint_idstringrequired#
The endpoint id (we_…). Id prefix we_.

Headers#

Light-AI-Organizationstring#
Partner keys: the connected organization to act for (org_…). Organization keys may omit it. Id prefix org_.
Light-AI-Versionstring#
Pin a dated API version (defaults to the key's version). One of: 2026-11-01.
Idempotency-Keystring#
Retry-safe writes: the same key and body replay the first response for 24 hours (Idempotent-Replayed: true). 8–128 characters.

Request body#

created_aftertimestamprequired#
Start of the range (at most 30 days ago).
created_beforetimestamp#
RFC 3339 date-time with offset.
typesstring[]#
One of: lead.created, lead.touched, lead.updated, lead.mockup_ready, client.created, client.updated, client.deleted, project.created, project.stage_changed, quote.published, quote.viewed, quote.external_link_clicked, quote.change_requested, quote.approved, quote.declined, quote.expired, quote.link_disabled, quote.link_enabled, quote.superseded, mockup.completed, mockup.failed, organization.entitlement_changed, grant.created, grant.revoked, api_key.expiring, webhook_endpoint.disabled. 1–40 items.
only_failedboolean#
Default true: only events not yet delivered successfully.

Response 200#

How many events were queued.

objectstringrequired#
Always webhook_replay.
queuedintegerrequired#

Errors#

StatusMeaning
400Bad request. bad_request, test_mode_mismatch, test_mode_unsupported, unsupported_api_version
401Missing or invalid credential. authentication_required, invalid_api_key, api_key_revoked, api_key_expired, api_key_suspended
403Not allowed. insufficient_scope, plan_upgrade_required, organization_paused, organization_off_season, api_disabled, api_access_not_enabled, ip_not_allowed, forbidden
404Not found (also for objects of other organizations and for organizations without an active grant).
409Conflict. stale_state, conflict, idempotency_in_progress, idempotency_scope_mismatch, quote_already_decided, quote_not_current, billing_review_required
413Request bodies are limited to 256 KB.
415The body is not JSON: send Content-Type: application/json. unsupported_media_type
422Validation failed. idempotency_key_reused
429Rate limited or daily cap reached. See Retry-After and the RateLimit headers. rate_limited, daily_cap_reached
500Unexpected server error. Safe to retry with exponential backoff; quote the Request-Id to support. internal_error
503Temporarily unavailable. Retry with exponential backoff. service_unavailable