POST/v1/cards/archive
Last opp et arkiv med dokumenter
upload_card_archive
Send et ZIP-arkiv i feltet file i et multipart/form-data-skjema. Hver støttet fil i arkivet blir et eget dokument, som ved enkeltopplastinger (POST /v1/cards). ASiC-signaturbeholdere (.asice, .sce, .bdoc, .asics) er også arkiver: datafilene i dem blir dokumenter, META-INF/ hoppes over, og signaturen valideres ikke. Feltene i skjemaet er de samme som ved opplasting av en fil (samling, tagger, ansvarlig, kategori, sensitivitet), uten forhåndsvisning.
Arkivet kontrolleres etter signatur (et Office-dokument med nytt navn regnes ikke som et arkiv og returnerer 415 files.type_mismatch), installasjonens grense for opplasting gjelder, og virusskanningen omfatter hele arkivet.
Innholdsfortegnelsen kontrolleres synkront. Svaret inneholder planen (hvilke filer som blir dokumenter, hvilke som hoppes over og hvorfor) og jobben for utpakking av arkivet (job_id, batch_id). Jobben åpner nestede arkiver (opptil 3 nivåer som standard), kontrollerer hvert dokument etter signatur og med antivirus og setter det i kø for vanlig indeksering med samme batch_id (fremdrift for dokumentene: GET /v1/jobs?batch=). Resultatet er tilgjengelig fra GET /v1/archives/{job_id}.
Grenser (standardverdier for installasjonen): opptil 1000 filer i hele treet (flere returnerer 413 cards.archive_too_many_files), opptil 2048 MB utpakket (mer returnerer 413 cards.archive_too_large) og ikke mer enn organisasjonens gjenværende lagringsplass i prisplanen (402 limits.storage), grensen for opplasting per fil for hver fil i arkivet, og et komprimeringsforhold på høyst 100:1 per oppføring. Oppføringer med «..», en absolutt bane eller en stasjonsbokstav, symbolske lenker, krypterte oppføringer og formater som ikke støttes, hoppes over med en begrunnelse (skipped[].reason). Systemfiler fra operativsystemet, kataloger og tomme filer hoppes over uten melding (ignored). Navn som ikke er i UTF-8, leses som cp866 eller cp1251. En fil som ikke er en ZIP, returnerer 400 cards.archive_invalid, et fullstendig kryptert arkiv returnerer 400 cards.archive_encrypted, og et arkiv uten et eneste dokument returnerer 400 cards.archive_empty.
Hvert dokument husker arkivet sitt: CardVersion.archive og Card.source_archive (kortet viser arkivet til den gjeldende versjonen).
I stedet for skjemaet kan du sende en application/json-brødtekst (ArchiveUploadFromUpload, fra og med 1.62.0): arkivet er en ferdig flerdelt opplasting upload_id (formålet archive), feltene er de samme som i skjemaet, og tags er en liste med strenger. Arkivet ble allerede kontrollert ved complete, og størrelsesgrensen er grensen for flerdelt opplasting i stedet for grensen for opplasting i én forespørsel. Opplastingen brukes én gang, i samme transaksjon som setter jobben for utpakking av arkivet i kø; feilkodene for opplastingen er de samme som for POST /v1/cards.
Autentisering
Send en API-nøkkel i headeren Authorization: Authorization: Bearer <nøkkel>.
Headerparametere
Idempotency-KeystringNøkkel for et trygt nytt forsøk på en skriveoperasjon: 1 til 255 utskrivbare ASCII-tegn; en UUID v4 per logisk operasjon anbefales. Et nytt forsøk med samme nøkkel innen 24 timer kjører ikke operasjonen på nytt: det returnerer det lagrede svaret (status, headere og brødtekst) med headeren
Idempotency-Replayed: true. Samme nøkkel med en annen metode, bane,Content-Typeeller brødtekst returnerer409 api.idempotency_mismatch; mens den første forespørselen fortsatt kjører,409 api.idempotency_in_progressmedRetry-After: 1. Etter et 5xx- eller 429-svar frigjøres nøkkelen, og et nytt forsøk kjører operasjonen på nytt. Nøkkelen gjelder per organisasjon og per kaller (API-nøkkel, bruker eller nøkkel for en egendefinert kilde).length ≥ 1, length ≤ 255
X-View-AsstringBare for API-nøkler med rollen
admin. Utfører forespørselen som dataprofilen<profile>[:viewer|verifier|editor], for eksempelemployee:viewer. Installasjonsnøkkelen kan ikke bruke denne headeren (403).
Parametere i informasjonskapsler
kb_view_asstringInformasjonskapsel for modusen «View as» (vis som) i en økt.
POST /auth/view-assetter den, ogDELETE /auth/view-asfjerner den.
Forespørselens brødtekst
multipart/form-data
filestring (application/zip)obligatoriskcollectionstringStandard: "default"
tagsstringStandard: ""
forcebooleanStandard: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullfolder_idstring | nullMappe i
collectionsom alle dokumentene i arkivet legges i. En mappe i en annen samling returnerer400 folders.card_collection_mismatch, en mappe som ikke finnes, returnerer404 folders.not_found, og uten tillatelsenCOLLECTION_EDIT_CARDSpå mappen returneres403 authz.forbidden. Kontrollen kjøres før arkivet lagres. Duplikater av filer som allerede er lastet opp, flyttes ikke til mappen.length ≤ 64
collection_idinteger | nullSamling etter ID. Sendes også
collection, harcollection_idforrang. En samling som ikke finnes i organisasjonen eller ikke er synlig, returnerer404 collections.not_found.
application/json
Objekt: ArchiveUploadFromUpload
upload_idstringobligatoriskEn klar opplasting (
ready) med formåletarchive; den brukes én gang.collectionstringStandard: "default"
collection_idinteger | nullSamling etter ID. Når
collectionogså sendes, gjeldercollection_id. En samling som ikke finnes i organisasjonen, ikke er synlig eller ligger utenfor samlingene til nøkkelen, returnerer404 collections.not_found.tagsarray of stringitems ≤ 30
forcebooleanStandard: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullfolder_idstring | nulllength ≤ 64
Svar
200Plan for utpakking og jobb
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
Idempotency-Replayedtruebetyr at svaret ble gjentatt fra det lagrede svaret for denneIdempotency-Key: operasjonen ble ikke kjørt på nytt.
application/json
job_idintegerobligatoriskbatch_idstringobligatoriskBatch med indekseringsjobber for dokumentene i arkivet (
GET /v1/jobs?batch=).statusstringobligatoriskTillatte verdier:
queuedplannedarray of stringobligatoriskStier til filene på alle nivåer som blir dokumenter, også filer i nestede arkiver (
b.zip/c.pdf).documentsintegerobligatoriskAntall dokumenter på alle nivåer, også filer i nestede arkiver. Resultatet av utpakkingen summerer seg til det samme tallet: opprettet + duplikater + avvist av innholdskontrollen (
ArchiveJob).nested_archivesintegerobligatoriskignoredintegerobligatoriskSystemoppføringer (operativsystemets filer, kataloger, tomme filer, beholdersignaturer).
400Forespørselen er ugyldig: en parameterverdi eller objektets tilstand tillater ikke handlingen (`detail` er en melding).
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
401Ingen påloggingsinformasjon ble sendt (verken øktinformasjonskapsel eller API-nøkkel), eller nøkkelen ble ikke funnet.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
402Organisasjonen har nådd en grense i prisplanen (kort, lagring eller brukere). `error.details` inneholder `kind`, `limit` og `used`.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
403Handlingen er ikke tillatt: rollen er utilstrekkelig, det finnes ingen tilgang til samlingen eller kortet, forespørselen kjører i modusen «View as», eller organisasjonen er suspendert eller slettet (`detail` er et objekt med `code: org_suspended | org_deleted`).
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
404Objektet finnes ikke eller er ikke tilgjengelig for deg. API-et bekrefter ikke at et objekt med begrenset tilgang finnes.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
409Objektets tilstand tillater ikke handlingen, for eksempel et duplikat, en indeksering som pågår, eller en jobb som allerede er behandlet.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
410Objektet fantes, men er ikke lenger tilgjengelig: lenken er brukt eller har utløpt, eller filen ble slettet ved slutten av lagringstiden.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
413Forespørselens brødtekst overskrider tillatt størrelse.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
415Filformatet støttes ikke.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
422Valideringsfeil: brødteksten eller parameterne samsvarer ikke med skjemaet (`detail` er en liste over valideringsfeil), eller en parameterverdi er utenfor tillatt område (`detail` er en melding).
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
429For mange forespørsler (`api.rate_limited`), organisasjonens kvote for minuttet, døgnet eller måneden er brukt opp (`api.quota_exceeded`; `error.details` inneholder `quota`, `limit` og `reset_at`), organisasjonens grense er nådd, eller svartjenesten er opptatt (`answers.engine_busy`). Vent så lenge som headeren `Retry-After` angir.
Headere i svaret
Retry-AfterAntall sekunder du skal vente før du prøver forespørselen på nytt.
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
503En tjeneste som denne forespørselen er avhengig av, er midlertidig utilgjengelig. Prøv på nytt senere.
Headere i svaret
RateLimit-PolicyGjeldende grenser i formatet fra IETF-utkastet
draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer"<name>";q=<quota>;w=<window in seconds>.keyer forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er detuser, uten påloggingsinformasjonip);minute,dayogmonther organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.RateLimitHva som gjenstår av hver grense i
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitGrensen for den strengeste oppføringen i
RateLimit-Policy(den med færrest gjenværende forespørsler).X-RateLimit-RemainingGjenværende forespørsler under den strengeste grensen.
X-RateLimit-ResetSekunder til den strengeste grensen nullstilles.
application/json
Feilkoder
Kodene denne operasjonen kan returnere i error.code, i tillegg til de generelle kodene for alle forespørsler.
- 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
Trygge nye forsøk
Send en Idempotency-Key-header (for eksempel en UUID) med hver POST og PATCH. Et nytt forsøk med samme nøkkel innen 24 timer returnerer det lagrede svaret i stedet for å kjøre forespørselen på nytt.
Hastighetsgrenser
Svarene har headerne RateLimit og RateLimit-Policy og de eldre X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset. Et 429-svar har Retry-After i sekunder: Vent, og prøv på nytt.