LIVE · AUDIT-KJEDE · EU-VERTET
SYSTEM · 99,99 % OPPETID
v 1.0 ↗ LAGET I EU

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

FeltTypePåkrevdMerknader
urlHTTPS URLjaMå være tilgjengelig + svare 2xx innen 10 s. HTTP avvises.
descriptionstringneiFritekst-etikett. Nyttig når du har flere endepunkter per org.
event_typesstring[]neiAbonner 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

StatusKodeNår
400validation_errorIkke-HTTPS-URL, ukjent hendelsestype, eller utilgjengelig endepunkt ved opprettelse.
403permission_deniedLegitimasjonen mangler scope.
404not_foundEndepunktet finnes ikke i legitimasjonens org.
409endpoint_pausedForsøk på å sende en testutløsning til et active=false-endepunkt.