POST/v1/users/import
Tuo käyttäjät CSV-tiedostosta
users_import
Lähetä CSV-tiedosto csv-kentässä. Ensimmäinen rivi on otsikkorivi. Erotin on , tai ;, ja se tunnistetaan otsikkorivistä. Merkistökoodaus on UTF-8 (BOM on sallittu), ja tietorivejä voi olla enintään 1000.
Sarakkeet: email (pakollinen; aliasnimet e-mail, mail, почта), name (display_name, имя), role (admin, editor, verifier, viewer; aliasnimi роль), groups (группы; erota useat ryhmät merkillä | tai ;, tavallisen ryhmän avaimen tai nimen mukaan), profile (data_profile, профиль; dataprofiilin avain). Tuntemattomat sarakkeet ohitetaan ja luetellaan ignored_columns-kentässä.
Kun dry_run: true (oletus), palauttaa esikatselun ilman muutoksia: kunkin rivin toimenpiteen ja virheet. Muuten virheettömät rivit suoritetaan:
- invite: lähettää kutsun tiedoston roolilla, profiililla ja nimellä. Kutsu lähetetään sähköpostilla, jos sähköpostin lähetys on määritetty, ja linkki palautetaan vastauksessa.
- exists: käyttäjä, jolla on tämä sähköpostiosoite, on jo olemassa. Käyttäjä lisätään tiedoston ryhmiin; rooli ja profiili eivät muutu.
- pending: tähän osoitteeseen lähetetty kutsu odottaa jo hyväksymistä. Tiedoston ryhmät lisätään siihen.
Virheelliset rivit ohitetaan. Kutsutut käyttäjät liittyvät ryhmiinsä, kun he hyväksyvät kutsun. create_groups luo puuttuvat tavalliset ryhmät; ilman sitä tuntematon ryhmä on rivivirhe. Paketin käyttäjäraja ja tilauksen käyttäjäpaikat tarkistetaan kaikille uusille kutsuille kerralla: jos ne eivät riitä, mitään ei suoriteta (402). Käsin lähetettyjen kutsujen raja (50 odottavaa) ei koske tuonteja. Edellyttää ORG_MANAGE_USERS-käyttöoikeutta. Kirjaa tarkastuslokiin users.import-tapahtuman ja jokaisesta kutsusta invitation.create-tapahtuman.
Todennus
Lähetä API-avain Authorization-otsakkeessa: Authorization: Bearer <avain>.
Otsakeparametrit
Idempotency-KeystringAvain kirjoituksen turvalliseen uusintayritykseen: 1–255 tulostettavaa ASCII-merkkiä; suositus on yksi UUID v4 jokaista loogista toimintoa kohden. Uusintayritys samalla avaimella 24 tunnin kuluessa ei suorita toimintoa uudelleen: se palauttaa tallennetun vastauksen (tila, otsakkeet ja runko)
Idempotency-Replayed: true-otsakkeella. Sama avain eri metodilla, polulla,Content-Type-arvolla tai rungolla palauttaa409 api.idempotency_mismatch; kun ensimmäinen pyyntö on vielä käynnissä, vastaus on409 api.idempotency_in_progressjaRetry-After: 1. 5xx- tai 429-vastauksen jälkeen avain vapautuu, ja uusintayritys suorittaa toiminnon uudelleen. Avain on sidottu organisaatioon ja kutsujaan (API-avain, käyttäjä tai mukautetun lähteen avain).length ≥ 1, length ≤ 255
Pyynnön runko
application/json
csvstringpakollinenCSV-tiedoston sisältö UTF-8-muodossa.
length ≥ 1, length ≤ 2000000
dry_runbooleanVain esikatselu (oletus).
falsesuorittaa rivit, joissa ei ole virheitä.Oletus: true
default_rolestringRooli riveille, joilla ei ole
role-saraketta tai joiden solu on tyhjä.Oletus: "viewer"
default_profilestring | nullDataprofiili riveille, joilla ei ole profiilia. Jos kenttä on tyhjä, käytetään organisaation oletusprofiilia (ylläpitäjät saavat täydet käyttöoikeudet).
create_groupsbooleanLuo puuttuvat tavalliset ryhmät. Ilman tätä merkintää tuntematon ryhmä on rivin virhe.
Oletus: false
ttl_daysintegerKutsujen voimassaoloaika päivinä.
Oletus: 7≥ 1, ≤ 30
Vastaukset
200Tuonnin esikatselu tai tulos riveittäin
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
Idempotency-Replayedtruetarkoittaa, että vastaus toistettiin tälleIdempotency-Key-arvolle tallennetusta vastauksesta: toimintoa ei suoritettu uudelleen.
application/json
dry_runbooleanpakollinentotalintegerpakollinenTiedoston tietorivien määrä.
delimiterstringpakollinenOtsikkorivistä tunnistettu erotin.
columnsarray of stringpakollinenTunnistetut sarakkeet vakiomuodossa (
email,name,role,groups,profile).ignored_columnsarray of stringpakollinencreated_groupsarray of stringpakollinenSuorituksen aikana luodut ryhmät.
400Pyyntö on virheellinen: parametrin arvo tai objektin tila ei salli toimenpidettä (`detail` on viesti).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
401Tunnistetietoja ei lähetetty (ei istuntoevästettä eikä API-avainta), tai avainta ei löytynyt.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
402Organisaatio on saavuttanut paketin rajan (kortit, tallennustila tai käyttäjät). `error.details` sisältää kentät `kind`, `limit` ja `used`.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
403Toimenpide ei ole sallittu: rooli ei riitä, kokoelmaan tai korttiin ei ole käyttöoikeutta, pyyntö suoritetaan ”View as” -tilassa, tai organisaation toiminta on keskeytetty tai organisaatio on poistettu (`detail` on objekti, jossa on `code: org_suspended | org_deleted`).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
413Pyynnön runko ylittää sallitun koon.
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
422Validointivirhe: runko tai parametrit eivät vastaa skeemaa (`detail` on validointivirheiden lista), tai parametrin arvo on sallitun alueen ulkopuolella (`detail` on viesti).
Vastausotsakkeet
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
429Liian monta pyyntöä (`api.rate_limited`), organisaation minuutti-, päivä- tai kuukausikiintiö on käytetty (`api.quota_exceeded`; `error.details` sisältää kentät `quota`, `limit` ja `reset_at`), organisaation raja on saavutettu tai vastauspalvelu on kuormitettu (`answers.engine_busy`). Odota `Retry-After`-otsakkeen ilmoittama aika.
Vastausotsakkeet
Retry-AfterKuinka monta sekuntia odotetaan ennen pyynnön uusintayritystä.
RateLimit-PolicyVoimassa olevat rajat IETF-luonnoksen
draft-ietf-httpapi-ratelimit-headersmuodossa: pilkuin erotetut kohteet"<name>";q=<quota>;w=<window in seconds>.keyon API-avaimen pyyntönopeus (kiintiö on purske, aikaikkuna on aika, jossa se täyttyy kokonaan; istunnolle se onuser, ilman tunnistetietojaip);minute,dayjamonthovat organisaation kiintiöt UTC-ajan kalenteriminuutille, -päivälle ja -kuukaudelle.RateLimitMitä kustakin
RateLimit-Policy-otsakkeen rajasta on jäljellä:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitRateLimit-Policy-otsakkeen tiukimman kohteen raja (sen, jossa pyyntöjä on jäljellä vähiten).X-RateLimit-RemainingTiukimman rajan puitteissa jäljellä olevat pyynnöt.
X-RateLimit-ResetSekunteja siihen, kun tiukin raja nollautuu.
application/json
Virhekoodit
Koodit, jotka tämä päätepiste voi palauttaa error.code-kentässä kaikkien pyyntöjen yleisten koodien lisäksi.
- 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
Turvalliset uusintayritykset
Lähetä jokaisen POST- ja PATCH-pyynnön mukana Idempotency-Key-otsake (esimerkiksi UUID). Kun pyyntö toistetaan samalla avaimella 24 tunnin kuluessa, palautetaan tallennettu vastaus eikä pyyntöä suoriteta uudelleen.
Nopeusrajoitukset
Vastauksissa ovat RateLimit- ja RateLimit-Policy-otsakkeet sekä aiemmat X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset. 429-vastauksessa on Retry-After sekunteina: odota ja yritä uudelleen.