POST/v1/uploads/{upload_id}/complete
Üleslaadimise lõpetamine
complete_upload
Kui kõik osad on vastu võetud, paneb Sursa faili kokku, võrdleb kogu faili SHA-256 väärtust kehas oleva väljaga sha256 ja teeb samad kontrollid nagu ühe päringuga üleslaadimisel: vorming sisu signatuuri järgi ja viirusskannimine. Tulemus on ready või rejected koos väljaga reject_reason (checksum_mismatch, type_mismatch, unsupported_format, infected, scan_unavailable, unsafe_content). Iga vormingu- või viirusekontrolli tagasilükkamine kirjutatakse auditilogisse kujul file.rejected.
Vastus 200 tähendab, et tulemus on valmis; 202 tähendab, et faili alles kontrollitakse (processing), ja tulemus tuleb päringuga GET /v1/uploads/{upload_id}. Kui olek naaseb väärtusele pending (API eksemplari taaskäivitus katkestas kontrolli), saatke complete uuesti. complete kordamine pärast tulemust tagastab sama tulemuse. Puuduvad osad tagastavad 409 uploads.incomplete (details.missing). Kui sha256 erineb loomisel deklareeritust või parts[].etag erineb vastuvõetud osast, tagastatakse 422 uploads.checksum_mismatch. Valmis üleslaadimine, mida ei kasutata, kehtib 24 tundi. Lisatud versioonis 1.62.0.
Autentimine
Saatke API-võti päises Authorization: Authorization: Bearer <võti>.
Teeparameetrid
upload_idstringkohustuslikÜleslaadimise ID (
upl_, millele järgneb 32 kuueteistkümnendmärki).length ≤ 64
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
Päringu keha
application/json
sha256stringkohustuslikKogu faili SHA-256.
partsarray of UploadPartRefValikuline osade kontroll: iga osa ETag, nagu selle tagastas
PUT …/parts/{n}.items ≤ 1000
Vastused
200Tulemus on valmis: `ready` või `rejected`.
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
idstringkohustuslikÜleslaadimise ID (
upl_, millele järgneb 32 kuueteistkümnendmärki).filenamestringkohustuslikFaili nimi (ilma kaustadeta).
content_typestringkohustuslikDeklareeritud sisutüüp; tühi, kui seda ei deklareeritud.
sizeinteger (int64)kohustuslikFaili suurus baitides.
sha256string | nullkohustuslikFaili SHA-256, mis deklareeriti loomisel või toimingus
complete;null, kui see pole veel teada.part_sizeinteger (int64)kohustuslikIga osa suurus peale viimase (5–100 MiB).
part_countintegerkohustuslikOsade arv.
≥ 1, ≤ 1000
parts_receivedintegerkohustuslikVastu võetud osade arv.
≥ 0
Vastu võetud osad numbri järgi (vastuses
POST /v1/uploadstühi).reject_reasonstring | nullkohustuslikTagasilükkamise põhjus (
rejected):checksum_mismatch,type_mismatch,unsupported_format,infected,scan_unavailable,unsafe_content. Loend võib täieneda;null, kui üleslaadimist tagasi ei lükatud.reject_detailsobject | nullkohustuslikTagasilükkamise üksikasjad (laiend, deklareeritud ja tuvastatud vorming, kontrollsummad);
null, kui üleslaadimist tagasi ei lükatud.created_atstring (date-time)kohustuslikÜleslaadimise loomise aeg.
expires_atstring (date-time)kohustuslikTähtaeg üleslaadimise lõpetamiseks ja, kui see on valmis, selle kasutamiseks.
completed_atstring (date-time) | nullkohustuslikKontrolli lõppemise aeg (
readyvõirejected).consumed_atstring (date-time) | nullkohustuslikÜleslaadimise kasutamise aeg (kaardi, arhiivi või impordi poolt).
202Faili alles kontrollitakse (`processing`).
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
idstringkohustuslikÜleslaadimise ID (
upl_, millele järgneb 32 kuueteistkümnendmärki).filenamestringkohustuslikFaili nimi (ilma kaustadeta).
content_typestringkohustuslikDeklareeritud sisutüüp; tühi, kui seda ei deklareeritud.
sizeinteger (int64)kohustuslikFaili suurus baitides.
sha256string | nullkohustuslikFaili SHA-256, mis deklareeriti loomisel või toimingus
complete;null, kui see pole veel teada.part_sizeinteger (int64)kohustuslikIga osa suurus peale viimase (5–100 MiB).
part_countintegerkohustuslikOsade arv.
≥ 1, ≤ 1000
parts_receivedintegerkohustuslikVastu võetud osade arv.
≥ 0
Vastu võetud osad numbri järgi (vastuses
POST /v1/uploadstühi).reject_reasonstring | nullkohustuslikTagasilükkamise põhjus (
rejected):checksum_mismatch,type_mismatch,unsupported_format,infected,scan_unavailable,unsafe_content. Loend võib täieneda;null, kui üleslaadimist tagasi ei lükatud.reject_detailsobject | nullkohustuslikTagasilükkamise üksikasjad (laiend, deklareeritud ja tuvastatud vorming, kontrollsummad);
null, kui üleslaadimist tagasi ei lükatud.created_atstring (date-time)kohustuslikÜleslaadimise loomise aeg.
expires_atstring (date-time)kohustuslikTähtaeg üleslaadimise lõpetamiseks ja, kui see on valmis, selle kasutamiseks.
completed_atstring (date-time) | nullkohustuslikKontrolli lõppemise aeg (
readyvõirejected).consumed_atstring (date-time) | nullkohustuslikÜleslaadimise kasutamise aeg (kaardi, arhiivi või impordi poolt).
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
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
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
Veakoodid
Koodid, mida see lõpp-punkt võib lisaks iga päringu üldistele koodidele tagastada väljal error.code.
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.