Skip to content

Webhook health across user projects

GET
/integrations/webhooks/status
curl --request GET \
--url 'https://example.com/api/integrations/webhooks/status?refresh=true' \
--cookie sb-access-token=<sb-access-token>

Per-repo GitHub webhook health, from two independent signals: the cached hook-CONFIG check (installed, missing_events, last_checked, stale) and the last inbound delivery actually observed by the receiver (last_delivery_at). A delivery is direct evidence the hook works, so it outranks a stale config check — healthy counts repos that are delivering or correctly configured, and never penalises a repo purely for an un-refreshed check (HO-4711). A repo GitHub reports as archived carries archived: true and counts as healthy — it emits no events and takes no hook changes, so it is never pending (HO-11392). Use refresh=true to re-check config via GitHub (requires GitHub token).

refresh
string
Allowed values: true false
project_id
string format: uuid

Status map

Media type application/json
object
repos
required
object
key
additional properties
any
total
required
integer
healthy
required

Repos that are delivering, correctly configured, or archived (nothing pending).

integer
delivering
required

Repos with an inbound delivery observed inside the freshness window.

integer
required_events
required
Array<string>

Invalid query parameters

Not authenticated

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
reconnect

True if re-linking GitHub may fix the issue

boolean

Failed to load projects