POST/v1/users/import
Importēt lietotājus no CSV
users_import
Nosūtiet CSV failu laukā csv. Pirmā rinda ir galvene. Atdalītājs ir , vai ;, un tas tiek noteikts pēc galvenes. Kodējums ir UTF-8 (BOM ir atļauts), līdz 1000 datu rindām.
Kolonnas: email (obligāta; aizstājvārdi e-mail, mail, почта), name (display_name, имя), role (admin, editor, verifier, viewer; aizstājvārds роль), groups (группы; vairākas grupas atdaliet ar | vai ;, pēc parastas grupas atslēgas vai nosaukuma), profile (data_profile, профиль; datu profila atslēga). Nezināmas kolonnas tiek izlaistas un uzskaitītas laukā ignored_columns.
Ar dry_run: true (noklusējums) atgriež priekšskatījumu bez izmaiņām: darbību un kļūdas katrai rindai. Citādi tiek izpildītas rindas bez kļūdām:
- invite: nosūta ielūgumu ar lomu, profilu un vārdu no faila. Ja e-pasts ir konfigurēts, tiek nosūtīta vēstule, un saite tiek atgriezta atbildē.
- exists: lietotājs ar šo e-pasta adresi jau eksistē. Lietotājs tiek pievienots grupām no faila; loma un profils nemainās.
- pending: ielūgums uz šo adresi jau gaida pieņemšanu. Tam tiek pievienotas grupas no faila.
Rindas ar kļūdām tiek izlaistas. Ielūgtie lietotāji pievienojas savām grupām, kad pieņem ielūgumu. create_groups izveido trūkstošās parastās grupas; bez tā nezināma grupa ir rindas kļūda. Plāna lietotāju limits un abonementa licences tiek pārbaudītas visiem jaunajiem ielūgumiem uzreiz: ja to nepietiek, nekas netiek izpildīts (402). Manuālo ielūgumu limits (50 gaidošu) uz importu neattiecas. Nepieciešama atļauja ORG_MANAGE_USERS. Ieraksta audita žurnālā notikumu users.import un katram ielūgumam – invitation.create.
Autentifikācija
Nosūtiet API atslēgu galvenē Authorization: Authorization: Bearer <atslēga>.
Galvenes parametri
Idempotency-KeystringAtslēga drošam rakstīšanas darbības atkārtojumam: 1–255 drukājamas ASCII rakstzīmes; ieteicams viens UUID v4 katrai loģiskajai operācijai. Atkārtojums ar to pašu atslēgu 24 stundu laikā operāciju neizpilda vēlreiz: tiek atgriezta saglabātā atbilde (statuss, galvenes un saturs) ar galveni
Idempotency-Replayed: true. Tā pati atslēga ar citu metodi, ceļu,Content-Typevai saturu atgriež409 api.idempotency_mismatch; kamēr pirmais pieprasījums vēl izpildās –409 api.idempotency_in_progressarRetry-After: 1. Pēc atbildes 5xx vai 429 atslēga tiek atbrīvota, un atkārtojums izpilda operāciju vēlreiz. Atslēga ir piesaistīta organizācijai un izsaucējam (API atslēgai, lietotājam vai pielāgotā avota atslēgai).length ≥ 1, length ≤ 255
Pieprasījuma saturs
application/json
csvstringobligātsCSV faila saturs UTF-8 kodējumā.
length ≥ 1, length ≤ 2000000
dry_runbooleanTikai priekšskatījums (noklusējums).
falseizpilda rindas bez kļūdām.Noklusējums: true
default_rolestringLoma rindām bez kolonnas
rolevai ar tukšu šūnu.Noklusējums: "viewer"
default_profilestring | nullDatu profils rindām bez profila. Ja tukšs, tiek izmantots organizācijas noklusējuma profils (administratori saņem pilnu piekļuvi).
create_groupsbooleanIzveidot trūkstošās parastās grupas. Bez šīs pazīmes nezināma grupa ir rindas kļūda.
Noklusējums: false
ttl_daysintegerIelūgumu derīgums dienās.
Noklusējums: 7≥ 1, ≤ 30
Atbildes
200Importa priekšskatījums vai rezultāts pa rindām
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
Idempotency-Replayedtruenozīmē, ka atbilde ir atkārtota no šaiIdempotency-Keysaglabātās atbildes: operācija netika izpildīta vēlreiz.
application/json
dry_runbooleanobligātstotalintegerobligātsDatu rindu skaits failā.
delimiterstringobligātsNo virsrakstu rindas noteiktais atdalītājs.
columnsarray of stringobligātsAtpazītās kolonnas kanoniskā formā (
email,name,role,groups,profile).ignored_columnsarray of stringobligātscreated_groupsarray of stringobligātsIzpildes laikā izveidotās grupas.
400Pieprasījums nav derīgs: parametra vērtība vai objekta stāvoklis neļauj veikt darbību (`detail` ir ziņojums).
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
401Nav nosūtīti akreditācijas dati (ne sesijas sīkdatne, ne API atslēga), vai atslēga nav atrasta.
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
402Organizācija ir sasniegusi plāna limitu (kartītes, krātuve vai lietotāji). `error.details` satur `kind`, `limit` un `used`.
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
403Darbība nav atļauta: loma nav pietiekama, nav piekļuves kolekcijai vai kartītei, pieprasījums izpildās režīmā „View as“ vai organizācija ir apturēta vai dzēsta (`detail` ir objekts ar `code: org_suspended | org_deleted`).
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
413Pieprasījuma saturs pārsniedz atļauto izmēru.
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
422Validācijas kļūda: saturs vai parametri neatbilst shēmai (`detail` ir validācijas kļūdu saraksts), vai parametra vērtība ir ārpus pieļaujamā diapazona (`detail` ir ziņojums).
Atbildes galvenes
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
429Pārāk daudz pieprasījumu (`api.rate_limited`), organizācijas minūtes, dienas vai mēneša kvota ir izlietota (`api.quota_exceeded`; `error.details` satur `quota`, `limit` un `reset_at`), sasniegts organizācijas limits vai atbilžu pakalpojums ir aizņemts (`answers.engine_busy`). Pagaidiet galvenē `Retry-After` norādīto laiku.
Atbildes galvenes
Retry-AfterSekunžu skaits, kas jāpagaida, pirms atkārtojat pieprasījumu.
RateLimit-PolicySpēkā esošie limiti IETF dokumenta projekta
draft-ietf-httpapi-ratelimit-headersformātā: ar komatiem atdalīti elementi"<name>";q=<quota>;w=<window in seconds>.keyir API atslēgas pieprasījumu biežums (kvota ir īslaicīgais pīķis, laika logs – laiks, kurā kvota pilnībā atjaunojas; sesijai tas iruser, bez akreditācijas datiem –ip);minute,dayunmonthir organizācijas kvotas kalendārajai minūtei, dienai un mēnesim pēc UTC.RateLimitCik atlicis no katra
RateLimit-Policylimita:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitStingrākā
RateLimit-Policyieraksta limits (tā, kurā atlicis vismazāk pieprasījumu).X-RateLimit-RemainingAtlikušo pieprasījumu skaits stingrākā limita ietvaros.
X-RateLimit-ResetSekundes līdz stingrākā limita atiestatīšanai.
application/json
Kļūdu kodi
Kodi, ko šī operācija var atgriezt laukā error.code papildus vispārīgajiem kodiem, kas iespējami jebkuram pieprasījumam.
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 403auth.admin_required
- 401auth.not_authenticated
- 403api_keys.scope
- 402limits.users
- 402billing.seats_exceeded
- 400profiles.unknown
- 413users_import.too_many_rows
- 422users_import.csv_invalid
- 422users_import.no_email_column
- 422users_import.empty
- 422validation.failed
Droši atkārtojumi
Ar katru POST un PATCH pieprasījumu nosūtiet galveni Idempotency-Key (piemēram, UUID). Atkārtots pieprasījums ar to pašu atslēgu 24 stundu laikā atgriež saglabāto atbildi, nevis izpilda pieprasījumu vēlreiz.
Pieprasījumu biežuma limiti
Atbildēs ir galvenes RateLimit un RateLimit-Policy, kā arī agrākās X-RateLimit-Limit, X-RateLimit-Remaining un X-RateLimit-Reset. Atbildē 429 ir galvene Retry-After sekundēs: nogaidiet un atkārtojiet pieprasījumu.