POST/v1/cards/archive
Dokumendiarhiivi üleslaadimine
upload_card_archive
Saatke ZIP-arhiiv vormi multipart/form-data väljal file. Iga toetatud fail arhiivis saab eraldi dokumendiks nagu üksikute üleslaadimiste puhul (POST /v1/cards). ASiC-allkirjakonteinerid (.asice, .sce, .bdoc, .asics) on samuti arhiivid: nende andmefailid saavad dokumentideks, META-INF/ jäetakse vahele ja allkirja ei kontrollita. Vormi väljad on samad mis faili üleslaadimisel (kogu, sildid, vastutaja, kategooria, konfidentsiaalsus), ilma eelvaateta.
Arhiivi kontrollitakse signatuuri järgi (ümbernimetatud Office-dokumenti ei loeta arhiiviks ja see tagastab 415 files.type_mismatch), kehtib paigalduse üleslaadimislimiit ja viirusskannimine hõlmab kogu arhiivi.
Sisukorda kontrollitakse sünkroonselt. Vastus sisaldab plaani (millised failid saavad dokumentideks, millised jäetakse vahele ja miks) ning lahtipakkimise tööd (job_id, batch_id). Töö avab pesastatud arhiivid (vaikimisi kuni 3 taset), kontrollib iga dokumenti signatuuri ja viirusskannimisega ning lisab selle tavalise indekseerimise järjekorda sama väärtusega batch_id (dokumentide edenemine: GET /v1/jobs?batch=). Tulemus on saadaval päringuga GET /v1/archives/{job_id}.
Limiidid (paigalduse vaikeväärtused): kogu puus kuni 1000 faili (rohkem tagastab 413 cards.archive_too_many_files), lahtipakituna kuni 2048 MB (rohkem tagastab 413 cards.archive_too_large) ja mitte rohkem kui organisatsiooni paketijärgne järelejäänud salvestusruum (402 limits.storage), iga sisemise faili puhul failipõhine üleslaadimislimiit ning pakkimissuhe kuni 100:1 kirje kohta. Kirjed, milles on „..“, absoluutne tee või kettatäht, sümbolingid, krüpteeritud kirjed ja toetamata vormingud jäetakse vahele koos põhjusega (skipped[].reason). Operatsioonisüsteemi süsteemifailid, kataloogid ja tühjad failid jäetakse vaikselt vahele (ignored). Nimed, mis ei ole UTF-8-s, loetakse kodeeringus cp866 või cp1251. Fail, mis ei ole ZIP, tagastab 400 cards.archive_invalid, täielikult krüpteeritud arhiiv tagastab 400 cards.archive_encrypted ja arhiiv, milles pole ühtegi dokumenti, tagastab 400 cards.archive_empty.
Iga dokument mäletab oma arhiivi: CardVersion.archive ja Card.source_archive (kaart näitab oma praeguse versiooni arhiivi).
Vormi asemel võite saata application/json keha (ArchiveUploadFromUpload, alates versioonist 1.62.0): arhiiv on valmis mitmeosaline üleslaadimine upload_id (otstarve archive), väljad on samad mis vormis ja tags on stringide loend. Arhiiv on juba kontrollitud sammus complete ning suuruse limiit on mitmeosalise üleslaadimise limiit, mitte ühe päringuga üleslaadimise limiit. Üleslaadimist kasutatakse üks kord, samas tehingus, mis lisab lahtipakkimise töö järjekorda; üleslaadimise veakoodid on samad mis POST /v1/cards puhul.
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/zip)kohustuslikcollectionstringVaikimisi: "default"
tagsstringVaikimisi: ""
forcebooleanVaikimisi: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullfolder_idstring | nullKogu
collectionkaust, kuhu paigutatakse kõik arhiivi dokumendid. 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 arhiivi salvestamist. Juba üles laaditud failide duplikaate 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.
application/json
Objekt: ArchiveUploadFromUpload
upload_idstringkohustuslikValmis üleslaadimine (
ready) otstarbegaarchive; 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 | nullfolder_idstring | nulllength ≤ 64
Vastused
200Lahtipakkimise plaan ja 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.
Idempotency-Replayedtruetähendab, et vastus esitati uuesti selleIdempotency-Keyjaoks salvestatud vastusest: toimingut uuesti ei käivitatud.
application/json
job_idintegerkohustuslikbatch_idstringkohustuslikArhiivi dokumentide indekseerimistööde partii (
GET /v1/jobs?batch=).statusstringkohustuslikLubatud väärtused:
queuedplannedarray of stringkohustuslikKõigi tasemete failide teed, millest saavad dokumendid, sealhulgas pesastatud arhiivides olevad failid (
b.zip/c.pdf).documentsintegerkohustuslikDokumentide arv kõigil tasemetel, sealhulgas pesastatud arhiivides olevad failid. Lahtipakkimise tulemus annab kokku sama arvu: loodud + duplikaadid + sisukontrollil tagasi lükatud (
ArchiveJob).nested_archivesintegerkohustuslikignoredintegerkohustuslikSüsteemikirjed (operatsioonisüsteemi failid, kataloogid, tühjad failid, konteinerite signatuurid).
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.
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403authz.forbidden
- 400cards.archive_empty
- 400cards.archive_encrypted
- 400cards.archive_invalid
- 413cards.archive_too_large
- 413cards.archive_too_many_files
- 400categories.unknown
- 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
- 402limits.storage
- 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.