POST/v1/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver
Event opnieuw leveren
redeliver_webhook
Verstuurt de levering opnieuw met dezelfde X-KB-Event-Id en webhook-id, zodat een ontvanger die het event al heeft geaccepteerd de herhaling negeert. Een afgeronde levering (success, exhausted, cancelled) wordt herhaald als nieuwe levering achteraan in de volgorde van leveringen van de webhook (redelivery_of verwijst naar het origineel) en gaat meteen uit als er geen openstaande leveringen voor staan. Een openstaande levering die als eerste in de volgorde staat, gaat meteen uit als handmatige poging die het schema van nieuwe pogingen niet verschuift. Bij een gepauzeerde webhook wachten leveringen tot hij wordt hervat. De response is de levering na de poging (de nieuwe bij een afgeronde levering).
Authenticatie
Stuur een API-sleutel mee in de header Authorization: Authorization: Bearer <sleutel>.
Padparameters
webhook_idintegerverplichtdelivery_idintegerverplicht
Headerparameters
Idempotency-KeystringSleutel om een schrijfactie veilig opnieuw te proberen: 1 tot 255 afdrukbare ASCII-tekens; een UUID v4 per logische bewerking wordt aanbevolen. Een nieuwe poging met dezelfde sleutel binnen 24 uur voert de bewerking niet opnieuw uit: Sursa geeft de opgeslagen response terug (status, headers en body) met de header
Idempotency-Replayed: true. Dezelfde sleutel met een andere methode, een ander pad, een andereContent-Typeof een andere body geeft409 api.idempotency_mismatch; zolang het eerste request nog loopt,409 api.idempotency_in_progressmetRetry-After: 1. Na een 5xx- of 429-response wordt de sleutel vrijgegeven en voert een nieuwe poging de bewerking opnieuw uit. De sleutel geldt per organisatie en per aanroeper (API-sleutel, gebruiker of bronsleutel).length ≥ 1, length ≤ 255
Responses
200De levering na de poging
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
Idempotency-Replayedtrue: de response is opnieuw afgespeeld uit de opgeslagen response voor dezeIdempotency-Key; de bewerking is niet opnieuw uitgevoerd.
application/json
expandedWebhookDeliveryExpandedidintegerverplichtwebhook_idintegerverplichtevent_idstringverplichtID van het event (
evt_…), ook meegestuurd in de headerX-KB-Event-Iden in de body van de levering.event_created_atstring (date-time)verplichtattemptintegerverplichtAantal gedane pogingen.
response_codeinteger | nullduration_msinteger | nullnext_retry_atstring (date-time) | nullerrorstring | nulldelivered_atstring (date-time) | nullcreated_atstring (date-time)verplichtupdated_atstring (date-time)verplichtsequenceinteger | nullNummer in de volgorde van leveringen van de webhook (
X-KB-Sequence);nullbij een testlevering.testbooleanverplichtEen testlevering (
POST /v1/webhooks/{webhook_id}/test).redelivery_ofinteger | nullDe oorspronkelijke levering, als dit een nieuwe levering is.
error_codestring | nullNeutrale code van de laatste mislukking:
timeout,connection_failed,tls_error,private_address,unresolvable,redirect,http_error,request_failed,endpoint_disabled,event_expired; een geannuleerde levering (cancelled) kan ookevent_not_permittedhebben (het event valt op het moment van de poging buiten de rechten van de webhook, omdat de rechten zijn beperkt nadat het event over de webhooks was verdeeld) ofevent_unavailable(de body van een testlevering is niet meer beschikbaar).
401Er zijn geen authenticatiegegevens meegestuurd (geen sessiecookie en geen API-sleutel), of de sleutel is niet gevonden.
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
403De actie is niet toegestaan: de rol volstaat niet, er is geen toegang tot de collectie of kaart, het request draait in de modus “View as”, of de organisatie is opgeschort of verwijderd (`detail` is een object met `code: org_suspended | org_deleted`).
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
404Het object bestaat niet of is niet voor jou beschikbaar. De API bevestigt niet dat een afgeschermd object bestaat.
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
409De toestand van het object staat de actie niet toe, bijvoorbeeld een duplicaat, een lopende indexering of een job die al is verwerkt.
Responseheaders
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
429Te veel requests (`api.rate_limited`), het quotum van de organisatie voor de minuut, dag of maand is op (`api.quota_exceeded`; `error.details` bevat `quota`, `limit` en `reset_at`), de limiet van de organisatie is bereikt, of de antwoorddienst is bezet (`answers.engine_busy`). Wacht de tijd af die in de header `Retry-After` staat.
Responseheaders
Retry-AfterAantal seconden dat je moet wachten voordat je het request opnieuw probeert.
RateLimit-PolicyGeldende limieten, in het formaat van het IETF-concept
draft-ietf-httpapi-ratelimit-headers: items gescheiden door komma’s,"<name>";q=<quota>;w=<window in seconds>.keyis de requestsnelheid van de API-sleutel (het quotum is de piek, het venster de tijd om die volledig aan te vullen; voor een sessie is hetuser, zonder authenticatiegegevensip);minute,dayenmonthzijn de quota van de organisatie voor de kalenderminuut, -dag en -maand in UTC.RateLimitWat er over is van elke limiet in
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitLimiet van de strengste regel in
RateLimit-Policy(die met de minste resterende requests).X-RateLimit-RemainingResterende requests onder de strengste limiet.
X-RateLimit-ResetSeconden tot de strengste limiet wordt teruggezet.
application/json
Foutcodes
Codes die dit endpoint in error.code kan teruggeven, naast de algemene codes van elk request.
Veilig opnieuw proberen
Stuur bij elke POST en PATCH een header Idempotency-Key mee (bijvoorbeeld een UUID). Een nieuwe poging met dezelfde sleutel binnen 24 uur geeft de opgeslagen response terug, zonder het request opnieuw uit te voeren.
Snelheidslimieten
Responses bevatten de headers RateLimit en RateLimit-Policy en de eerdere X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset. Een response met status 429 bevat Retry-After in seconden: wacht en probeer het daarna opnieuw.