Gå til innholdet

Hastighetsgrenser og idempotens

Send en Idempotency-Key-header med en POST for å gjøre det trygt å prøve på nytt. Bruk en ny, unik verdi per operasjon (en UUID, eller en ID fra ditt eget system, for eksempel onboarding-8841): 1 til 255 skrivbare ASCII-tegn.

Terminal window
curl https://api.bonafidesign.com/v1/envelopes \
-H "Authorization: Bearer $BONA_FIDE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2f0e-1d0b-4c2a-9a59-3f1f1c7d2b11" \
-d @envelope.json
  • Den første forespørselen med en nøkkel kjøres som vanlig, og svaret lagres i 24 timer.
  • Et nytt forsøk med samme nøkkel og samme forespørsel (metode, sti, spørring og brødtekst) får det lagrede svaret spilt av på nytt, med headeren Idempotent-Replayed: true.
  • Samme nøkkel med en annen forespørsel gir 422 idempotency-key-reused.
  • Et nytt forsøk mens den første forespørselen fortsatt kjører, gir 409 idempotency-in-progress; prøv igjen om et øyeblikk.
  • 5xx-svar lagres ikke, så et nytt forsøk etter en serverfeil kjøres på nytt.

Nøkler gjelder for kalleren: organisasjonen og API-nøkkelen (eller dashbordbrukeren) som sendte dem. Operasjoner som godtar en nøkkel, er merket med en Idempotency-Key-headerparameter i API-referansen, blant annet oppretting av maler, opplasting av filer, publisering, oppretting og annullering av konvolutter, ny sending av lenker, oppretting av signeringsøkter, oppretting av signeringslenker og webhook-endepunkter og ny levering av hendelser.

Idempotensnøkler beskytter nye forsøk av én forespørsel. For å sikre at et forretningsobjekt bare sendes én gang, sender du også din egen ID og dedupeOn:

{ "template": "tpl_…", "externalId": "user_8841", "dedupeOn": "external_id", "…": "…" }

Hvis det allerede finnes en konvolutt med denne externalId (i samme modus), returnerer POST /v1/envelopes den med 200 og x-deduplicated: true i stedet for å opprette en ny. Dette gjelder på tvers av nøkler, dager og samtidige forespørsler.

Det autentiserte API-et (API-nøkler) har i dag ingen fast grense for forespørselsrate; sendingen begrenses av planen din. Grenser gjelder der misbruk er mulig:

Hvor Grense
POST /v1/public/verify 60 forespørsler per minutt per IP-adresse
GET /v1/public/anchors…, /.well-known/bona-fide/* 240 forespørsler per minutt per IP-adresse
GET /v1/sso/discover 30 oppslag per minutt per IP-adresse
Engangskoder for signatarer 5 koder per 15 minutter per økt; 5 forsøk per kode
Ny sending til mottaker Én gang i minuttet per mottaker
Faste lenker Per lenke: perEmailPerDay (standard 3), perIpPerHour (standard 20), valgfritt dailyCap
Innlogging med passord i dashbordet 10 per minutt per IP-adresse; 10 per 15 minutter per e-postadresse
Registrering med passord i dashbordet 5 per minutt per IP-adresse; 5 per time per e-postadresse
E-poster for tilbakestilling av passord 5 per 15 minutter per IP-adresse; 3 per time per e-postadresse
Innloggingskoder for dashbordet 3 per minutt per IP-adresse

Begrensede offentlige endepunkter sender headerne RateLimit-Limit, RateLimit-Remaining og RateLimit-Reset (sekunder). Over grensen svarer API-et 429 med et rate-limited-problem, vanligvis med en Retry-After-header i sekunder.