POST/v1/apps
Skapa en OAuth-app
create_app
Registrerar en app för organisationen. public är en klient utan hemlighet (webbläsare, mobilapp, CLI): bara auktoriseringskod med PKCE. confidential är en klient med en server: den får en hemlighet och dessutom klientuppgifter (client credentials) för organisationens räkning, med rollen role och dataprofilen data_profile. Klienthemligheten client_secret returneras bara i det här svaret och vid rotation, så spara den. En organisation kan ha upp till 50 appar. Kräver behörigheten ORG_MANAGE_KEYS; en API-nyckel eller token behöver omfånget admin. Tillagd i 1.62.0.
Autentisering
Skicka en API-nyckel i huvudet Authorization: Authorization: Bearer <nyckel>.
Parametrar i huvuden
Idempotency-KeystringNyckel för ett säkert nytt försök med en skrivning: 1–255 utskrivbara ASCII-tecken; ett UUID v4 per logisk åtgärd rekommenderas. Ett nytt försök med samma nyckel inom 24 timmar kör inte åtgärden igen, utan returnerar det sparade svaret (status, huvuden och brödtext) med huvudet
Idempotency-Replayed: true. Samma nyckel med en annan metod, sökväg,Content-Typeeller brödtext returnerar409 api.idempotency_mismatch; medan det första anropet fortfarande pågår returneras409 api.idempotency_in_progressmedRetry-After: 1. Efter ett 5xx- eller 429-svar frigörs nyckeln, och ett nytt försök kör åtgärden igen. Nyckeln gäller inom organisationen och för anroparen (API-nyckel, användare eller källnyckel för en egen källa).length ≥ 1, length ≤ 255
Anropets brödtext
application/json
namestringobligatoriskNamn för samtyckesskärmen.
length ≥ 1, length ≤ 100
descriptionstringBeskrivning för samtyckesskärmen.
length ≤ 1000
homepage_urlstringAppens webbplats (
httpellerhttps).length ≤ 2000
redirect_urisarray of stringOmdirigerings-URI:er:
https;httpbara förlocalhost,127.0.0.1och[::1]; ett eget appschema bara i omvänd domänform (com.example.app:/callback). Inget fragment. En offentlig app behöver minst en URI.items ≤ 10
Omfång som appen kan begära.
items ≥ 1
rolestringRoll för tokens med klientuppgifter för en app av typen
confidential:admin,editor,verifierellerviewer(standardviewer).data_profilestringDataprofil för tokens med klientuppgifter; som standard samma profil som för en ny API-nyckel.
Svar
201Appen har skapats.
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
Idempotency-Replayedtruebetyder att svaret spelades upp från det sparade svaret för dennaIdempotency-Key: åtgärden kördes inte igen.
application/json
idstringobligatoriskAppens id (
app_och 32 hexadecimala tecken), som också ärclient_id.namestringobligatoriskNamnet som en medarbetare ser på samtyckesskärmen.
descriptionstringobligatoriskBeskrivning för samtyckesskärmen (kan vara tom).
homepage_urlstring | nullobligatoriskAppens webbplats.
redirect_urisarray of stringobligatoriskTillåtna omdirigerings-URI:er (exakt strängmatchning).
Omfång som appen kan begära.
client_secret_prefixstring | nullobligatoriskDe första tecknen i klienthemligheten, för att känna igen den;
nullför en offentlig app.rolestring | nullobligatoriskRoll för tokens med klientuppgifter (
admin,editor,verifier,viewer);nullför en offentlig app.data_profilestring | nullobligatoriskDataprofil för tokens med klientuppgifter;
nullför en offentlig app.authorizationsintegerobligatoriskAntal aktiva auktoriseringar från medarbetare.
created_atstring (date-time)obligatoriskupdated_atstring (date-time)obligatoriskclient_secretstring | nullobligatoriskKlienthemlighet (
kbcs_…), visas en gång;nullför en offentlig app.
400Anropet är ogiltigt: ett parametervärde eller objektets tillstånd tillåter inte åtgärden (`detail` är ett meddelande).
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
401Inga autentiseringsuppgifter skickades (varken en sessionscookie eller en API-nyckel), eller så hittades inte nyckeln.
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
403Åtgärden är inte tillåten: rollen räcker inte, det saknas åtkomst till samlingen eller kortet, anropet körs i läget ”View as” (visa som en annan användare), eller organisationen är avstängd eller borttagen (`detail` är ett objekt med `code: org_suspended | org_deleted`).
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
409Objektets tillstånd tillåter inte åtgärden, till exempel en dubblett, en pågående indexering eller ett jobb som redan har bearbetats.
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
422Valideringsfel: brödtexten eller parametrarna stämmer inte med schemat (`detail` är en lista med valideringsfel), eller så ligger ett parametervärde utanför det tillåtna intervallet (`detail` är ett meddelande).
Svarshuvuden
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
429För många anrop (`api.rate_limited`), organisationens kvot för minuten, dygnet eller månaden är förbrukad (`api.quota_exceeded`; `error.details` innehåller `quota`, `limit` och `reset_at`), organisationens gräns är nådd eller svarstjänsten är upptagen (`answers.engine_busy`). Vänta den tid som anges i huvudet `Retry-After`.
Svarshuvuden
Retry-AfterAntal sekunder att vänta innan du skickar anropet igen.
RateLimit-PolicyGällande gränser i formatet från IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster"<name>";q=<quota>;w=<window in seconds>.keyär API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är detuser, utan autentiseringsuppgifterip);minute,dayochmonthär organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.RateLimitVad som återstår av varje gräns i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGränsen för den striktaste posten i
RateLimit-Policy(den med minst antal återstående anrop).X-RateLimit-RemainingÅterstående anrop inom den striktaste gränsen.
X-RateLimit-ResetSekunder tills den striktaste gränsen nollställs.
application/json
Felkoder
Koder som den här slutpunkten kan returnera i error.code, utöver de allmänna koderna för alla anrop.
Säkra nya försök
Skicka huvudet Idempotency-Key (till exempel ett UUID) med varje POST och PATCH. Ett nytt försök med samma nyckel inom 24 timmar returnerar det sparade svaret i stället för att köra anropet igen.
Hastighetsbegränsningar
Svaren innehåller huvudena RateLimit och RateLimit-Policy samt de tidigare X-RateLimit-Limit, X-RateLimit-Remaining och X-RateLimit-Reset. Ett 429-svar har Retry-After i sekunder: vänta och försök igen.