API for webhook-endepunkter
Registrer HTTPS-endepunkter for å motta HMAC-signerte hendelses-POST-er hver gang noe interessant skjer i plattformen — økter åpnes, bevis fanges, audit-kjeder forankres. Hver levering forsøkes på nytt med eksponentiell backoff, signeres med en hemmelighet per endepunkt, og er replay-sikker via et 5-minutters tidsstempelvindu.
For hendelseskatalogen + payload-formene, se Webhooks-oversikt. Denne siden er API-overflaten for å administrere endepunkter + inspisere leveringsforsøk.
Endpoint-objektet
{
"id": "we-1f2a...",
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"],
"active": true,
"created_at": "2026-04-12T09:00:00Z"
} Merk: signing_secret-feltet returneres nøyaktig én gang i POST-responsen — lagre den umiddelbart, eller roter den senere via PATCH hvis du mister den.
List opp endepunkter
GET /api/v1/public/webhook-endpoints — scope webhooks:read
curl https://app.nexbasira.com/api/v1/public/webhook-endpoints \
-H "Authorization: Bearer nb_sec_..." Opprett et endepunkt
POST /api/v1/public/webhook-endpoints — scope webhooks:write
curl -X POST https://app.nexbasira.com/api/v1/public/webhook-endpoints \
-H "Authorization: Bearer nb_sec_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"]
}' Body-felter
| Felt | Type | Påkrevd | Merknader |
|---|---|---|---|
url | HTTPS URL | ja | Må være tilgjengelig + svare 2xx innen 10 s. HTTP avvises. |
description | string | nei | Fritekst-etikett. Nyttig når du har flere endepunkter per org. |
event_types | string[] | nei | Abonner kun på et delsett av hendelsestyper. Utelat / tom = abonner på alt. |
{
"id": "we-1f2a...",
"url": "https://hooks.acme.com/cvp",
"description": "Production claims pipeline",
"event_types": ["session.completed", "evidence.created"],
"active": true,
"created_at": "2026-04-12T09:00:00Z",
"signing_secret": "whsec_4f9d2a8b3c1e..."
} signing_secret er HMAC-SHA256-nøkkelen plattformen bruker til å signere hver POST. Verifiser NB-Signature-headeren på mottakeren din — SDK-ene våre leverer en hjelpefunksjon på én linje.
Hent / oppdater / slett
GET / PATCH / DELETE /api/v1/public/webhook-endpoints/{endpoint_id}
GET krever webhooks:read; PATCH + DELETE krever webhooks:write. PATCH aksepterer samme body-form som POST — alle felter valgfrie. Bruk den til å pause et endepunkt ({"active": false}), snevre inn abonnementet, eller rotere signeringshemmeligheten.
Roter signeringshemmeligheten
curl -X PATCH https://app.nexbasira.com/api/v1/public/webhook-endpoints/we-1f2a... \
-H "Authorization: Bearer nb_sec_..." \
-H "Content-Type: application/json" \
-d '{"rotate_secret": true}' Den nye hemmeligheten returneres nøyaktig én gang i response-bodyen, samme form som opprettelseskallet. Både gammel + ny hemmelighet er gyldige de neste 24 t for å gi mottakeren din tid til å deploye — deretter tilbakekalles den gamle.
Inspiser leveringsforsøk
GET /api/v1/public/webhook-events — scope webhooks:read
Siste 100 leveringsforsøk for legitimasjonens org. Filtrer med ?endpoint={id} eller ?status=pending|delivered|failed|dropped.
{
"data": [{
"id": "wev-9a01...",
"endpoint": "we-1f2a...",
"event_type": "session.completed",
"status": "delivered",
"response_status": 200,
"attempt_count": 1,
"created_at": "2026-05-23T10:32:00Z",
"delivered_at": "2026-05-23T10:32:01Z"
}],
"has_more": false,
"next_cursor": null
} Rytme for nye forsøk
Mislykkede leveringer forsøkes på nytt etter denne planen, deretter forkastes de:
- +30 sekunder
- +5 minutter
- +1 time
- +6 timer
- +24 timer
- deretter →
dropped(synlig i leveringsloggen)
Vanlige feil
| Status | Kode | Når |
|---|---|---|
| 400 | validation_error | Ikke-HTTPS-URL, ukjent hendelsestype, eller utilgjengelig endepunkt ved opprettelse. |
| 403 | permission_denied | Legitimasjonen mangler scope. |
| 404 | not_found | Endepunktet finnes ikke i legitimasjonens org. |
| 409 | endpoint_paused | Forsøk på å sende en testutløsning til et active=false-endepunkt. |