POST/v1/cards
Faili üleslaadimine kaardina
upload_card
Saatke dokument vormi multipart/form-data väljal file. Enne salvestamist kontrollib Sursa, et failinime laiend, osa deklareeritud Content-Type ja sisu signatuur on omavahel kooskõlas:
- PDF;
- DOCX, XLSX, XLSM, PPTX: ZIP deklareeritud põhidokumendi tüübiga;
- ODS: ZIP kirjega mimetype;
- XLS: OLE2-dokument töövihiku vooga;
- TXT, MD, CSV, TSV, HTML, AsciiDoc, EML: tekst ilma nullbaitideta, UTF-8 või ühebaidises kodeeringus, e-kirja puhul päised alguses;
- PNG, JPEG, TIFF, WebP, BMP: signatuuri järgi.
Mittevastavuse korral tagastatakse 415 files.type_mismatch; vormingute loendist väljas oleva laiendi korral 415 cards.unsupported_format. Fail, mis on suurem kui paigalduse üleslaadimislimiit või organisatsiooni paketijärgne kogu salvestusruum, tagastab 413 files.too_large. Kui viirusskannimine on sisse lülitatud, tagastab nakatunud fail 422 files.infected ja kui skanner ei ole poliitika „reject“ korral kättesaadav, tagastab päring 503 files.scan_unavailable. Iga tagasilükkamine kirjutatakse auditilogisse kujul file.rejected.
Vormi asemel võite saata application/json keha (CardUploadFromUpload, alates versioonist 1.62.0): fail on valmis mitmeosaline üleslaadimine upload_id (POST /v1/uploads otstarbega card_file), väljad on samad mis vormis ja tags on stringide loend. Üleslaadimise fail on juba kontrollitud sammus complete (vorming, viirusskannimine) ning suuruse limiit on mitmeosalise üleslaadimise limiit, mitte ühe päringuga üleslaadimise limiit. Üleslaadimist kasutatakse üks kord, samas tehingus, mis loob kaardi: juba kasutatud üleslaadimine tagastab 409 uploads.already_used, veel mittevalmis üleslaadimine 409 uploads.not_ready, tagasi lükatud üleslaadimine 422 uploads.rejected, teise otstarbega üleslaadimine 422 uploads.purpose_mismatch, kehtivuse kaotanud üleslaadimine 410 uploads.expired ning teise päringu tegija või tundmatu üleslaadimine 404 uploads.not_found. Kui kaardi kontrollimine nurjub (kogu, kategooria, limiidid), siis üleslaadimist ära ei kasutata.
Autentimine
Saatke API-võti päises Authorization: Authorization: Bearer <võti>.
Päiseparameetrid
Idempotency-KeystringVõti kirjutamistoimingu turvaliseks kordamiseks: 1–255 prinditavat ASCII-märki; soovitatav on UUID v4 iga loogilise toimingu kohta. Kordus sama võtmega 24 tunni jooksul ei käivita toimingut uuesti: tagastatakse salvestatud vastus (olek, päised ja keha) päisega
Idempotency-Replayed: true. Sama võti teise meetodi, tee,Content-Typevõi kehaga tagastab409 api.idempotency_mismatch; kuni esimene päring veel töötab, tagastatakse409 api.idempotency_in_progresskoos päisegaRetry-After: 1. Pärast vastust 5xx või 429 võti vabastatakse ja kordus käivitab toimingu uuesti. Võti kehtib organisatsiooni ja päringu tegija piires (API-võti, kasutaja või kohandatud allika võti).length ≥ 1, length ≤ 255
X-View-AsstringAinult rolliga
adminAPI-võtmetele. Teeb päringu andmeprofiili<profile>[:viewer|verifier|editor]nimel, näiteksemployee:viewer. Paigaldusvõti seda päist kasutada ei saa (403).
Küpsiseparameetrid
kb_view_asstringSeansi režiimi „View as“ küpsis.
POST /auth/view-asmäärab selle jaDELETE /auth/view-askustutab selle.
Päringu keha
multipart/form-data
filestring (application/octet-stream)kohustuslikcollectionstringVaikimisi: "default"
tagsstringVaikimisi: ""
forcebooleanVaikimisi: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullasyncbooleanVaikimisi: false
reviewbooleanVaikimisi: false
folder_idstring | nullKogu
collectionkaust, kuhu uus kaart paigutatakse. Teise kogu kaust tagastab vastuse400 folders.card_collection_mismatch, puuduv kaust vastuse404 folders.not_foundja õiguseCOLLECTION_EDIT_CARDSpuudumine kaustal vastuse403 authz.forbidden. Kontroll tehakse enne faili salvestamist. Juba üles laaditud faili duplikaati (skipped) kausta ei teisaldata.length ≤ 64
collection_idinteger | nullKogu ID järgi. Kui edastatakse ka
collection, kehtibcollection_id. Kogu, mida organisatsioonis ei ole või mis ei ole nähtav, tagastab vastuse404 collections.not_found.external_idstring | nullUue kaardi
external_id. Sellega luuakse kaart ka siis, kui kogus on juba sama fail. Kui seda kasutab organisatsiooni teine kaart, tagastab päring vastuse409 cards.external_id_taken. Kaardi loomiseks või asendamiseks väljaexternal_idjärgi kasutage toimingutPUT /v1/cards-by-external-id/{external_id}.length ≤ 512
metadatastring | nullUue kaardi
metadata: JSON-objekt vormivälja väärtusena. Reeglid on samad mis skeemilMetadataPatch.
application/json
upload_idstringkohustuslikValmis üleslaadimine (
ready) otstarbegacard_file; seda kasutatakse üks kord.collectionstringVaikimisi: "default"
collection_idinteger | nullKogu ID järgi. Kui edastatakse ka
collection, on ülimuslikcollection_id. Kogu, mida organisatsioonis ei ole, mis ei ole nähtav või mis on väljaspool võtme kogusid, tagastab404 collections.not_found.tagsarray of stringitems ≤ 30
forcebooleanVaikimisi: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullasyncbooleanVaikimisi: false
reviewbooleanVaikimisi: false
folder_idstring | nulllength ≤ 64
external_idstring | nullUue kaardi
external_id, nagu vormiväljal. Sellega luuakse kaart ka siis, kui kogus on juba sama fail. Kui seda kasutab organisatsiooni mõni teine kaart, tagastab päring409 cards.external_id_taken.length ≤ 512
metadataMetadataPatch
Vastused
200`queued` (asünkroonne), `skipped` (duplikaat), `ready` või `error` (sünkroonne).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
Idempotency-Replayedtruetähendab, et vastus esitati uuesti selleIdempotency-Keyjaoks salvestatud vastusest: toimingut uuesti ei käivitatud.
application/json
400Päring on vigane: parameetri väärtus või objekti olek ei võimalda toimingut (`detail` on teade).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
401Autentimisandmeid ei saadetud (ei seansiküpsist ega API-võtit) või võtit ei leitud.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
402Organisatsioon on jõudnud paketi limiidini (kaardid, salvestusruum või kasutajad). `error.details` sisaldab välju `kind`, `limit` ja `used`.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
403Toiming ei ole lubatud: rollist ei piisa, puudub juurdepääs kogule või kaardile, päring töötab režiimis „View as“ või organisatsioon on peatatud või kustutatud (`detail` on objekt väärtusega `code: org_suspended | org_deleted`).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
404Objekti ei ole olemas või see ei ole teile kättesaadav. API ei kinnita piiratud juurdepääsuga objekti olemasolu.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
409Objekti olek ei võimalda toimingut, näiteks duplikaat, käimasolev indekseerimine või juba töödeldud töö.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
410Objekt oli olemas, kuid ei ole enam kättesaadav: link on kasutatud või selle kehtivus on lõppenud või fail kustutati säilitusaja lõpus.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
413Päringu keha ületab lubatud suuruse.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
415Failivormingut ei toetata.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
422Valideerimisviga: keha või parameetrid ei vasta skeemile (`detail` on valideerimisvigade loend) või parameetri väärtus on lubatud vahemikust väljas (`detail` on teade).
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
429Liiga palju päringuid (`api.rate_limited`), organisatsiooni minuti-, päeva- või kuukvoot on ära kasutatud (`api.quota_exceeded`; `error.details` sisaldab välju `quota`, `limit` ja `reset_at`), organisatsiooni limiit on täis või vastuseteenus on hõivatud (`answers.engine_busy`). Oodake päises `Retry-After` antud aeg.
Vastuse päised
Retry-AfterSekundite arv, mida oodata enne päringu kordamist.
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
503Teenus, millest see päring sõltub, ei ole ajutiselt kättesaadav. Proovige hiljem uuesti.
Vastuse päised
RateLimit-PolicyKehtivad piirangud IETF-i mustandi
draft-ietf-httpapi-ratelimit-headersvormingus: komadega eraldatud elemendid"<name>";q=<quota>;w=<window in seconds>.keyon API-võtme päringusagedus (kvoot on tipuvaru, ajaaken on aeg selle täielikuks taastumiseks; seansi puhul on seeuser, ilma autentimisandmetetaip);minute,dayjamonthon organisatsiooni kvoodid kalendriminutile, -päevale ja -kuule UTC järgi.RateLimitIga päises
RateLimit-Policyoleva piirangu jääk:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitPäises
RateLimit-Policyoleva rangeima kirje limiit (selle, millel on kõige vähem päringuid järel).X-RateLimit-RemainingRangeima piirangu järgi järelejäänud päringud.
X-RateLimit-ResetSekundid rangeima piirangu lähtestumiseni.
application/json
Veakoodid
Koodid, mida see lõpp-punkt võib lisaks iga päringu üldistele koodidele tagastada väljal error.code.
- 400api.metadata_invalid
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403authz.forbidden
- 403cards.duplicate_restricted
- 409cards.external_id_taken
- 403cards.no_access
- 404cards.not_found
- 400cards.review_requires_async
- 403cards.sensitivity_admin_only
- 415cards.unsupported_format
- 400categories.unknown
- 409collections.index_outdated
- 400collections.invalid_name
- 403collections.no_write_access
- 404collections.not_found
- 422files.infected
- 503files.scan_unavailable
- 413files.too_large
- 415files.type_mismatch
- 400folders.card_collection_mismatch
- 404folders.not_found
- 404jobs.not_found
- 402limits.cards
- 403org.deleted
- 403org.suspended
- 409uploads.already_used
- 410uploads.expired
- 404uploads.not_found
- 409uploads.not_ready
- 422uploads.purpose_mismatch
- 422uploads.rejected
- 400users.not_in_org
- 422validation.failed
- 403view_as.read_only
Turvalised korduskatsed
Saatke iga POST- ja PATCH-päringuga päis Idempotency-Key (näiteks UUID). Sama võtmega korduskatse 24 tunni jooksul tagastab salvestatud vastuse ega käivita päringut uuesti.
Sageduspiirangud
Vastustes on päised RateLimit ja RateLimit-Policy ning varasemad X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset. Vastuses 429 on päis Retry-After sekundites: oodake ja proovige uuesti.