Hoppa till innehållet
Sursa Developers

POST/v1/cards

Ladda upp en fil som ett kort

upload_card

Skicka dokumentet i fältet file i ett formulär av typen multipart/form-data. Innan filen sparas kontrollerar Sursa att filnamnstillägget, delens deklarerade Content-Type och innehållets signatur stämmer överens:
- PDF;

- DOCX, XLSX, XLSM, PPTX: ett ZIP-arkiv med den deklarerade typen av huvuddokument;

- ODS: ett ZIP-arkiv med posten mimetype;

- XLS: ett OLE2-dokument med en arbetsboksström;

- TXT, MD, CSV, TSV, HTML, AsciiDoc, EML: text utan nollbyte i UTF-8 eller en enkelbytekodning, och för e-post huvuden i början;

- PNG, JPEG, TIFF, WebP, BMP: efter signatur.

En avvikelse returnerar 415 files.type_mismatch; ett filnamnstillägg utanför listan över format returnerar 415 cards.unsupported_format. En fil som är större än installationens gräns för uppladdning eller organisationens totala lagring enligt prisplanen returnerar 413 files.too_large. När virussökning är aktiverad returnerar en infekterad fil 422 files.infected, och om virusskannern inte är tillgänglig med policyn ”reject” returnerar anropet 503 files.scan_unavailable. Varje avvisning skrivs till granskningsloggen som file.rejected.

I stället för formuläret kan du skicka en brödtext av typen application/json (CardUploadFromUpload, från och med 1.62.0): filen är en färdig uppladdning i delar upload_id (POST /v1/uploads med syftet card_file), fälten är desamma som i formuläret, och tags är en lista med strängar. Uppladdningens fil kontrollerades redan vid complete (format, virussökning), och storleksgränsen är gränsen för uppladdning i delar i stället för gränsen för uppladdning i ett enda anrop. Uppladdningen används en gång, i samma transaktion som skapar kortet: en uppladdning som redan har använts returnerar 409 uploads.already_used, en som inte är klar än returnerar 409 uploads.not_ready, en avvisad returnerar 422 uploads.rejected, en med ett annat syfte returnerar 422 uploads.purpose_mismatch, en som har gått ut returnerar 410 uploads.expired, och en annan anropares eller en okänd uppladdning returnerar 404 uploads.not_found. Om kontrollerna av kortet misslyckas (samling, kategori, gränser) förbrukas inte uppladdningen.

Autentisering

Skicka en API-nyckel i huvudet Authorization: Authorization: Bearer <nyckel>.

Parametrar i huvuden

  • Idempotency-Keystring

    Nyckel för ett säkert nytt försök med en skrivning: 1–255 utskrivbara ASCII-tecken; ett UUID v4 per logisk åtgärd rekommenderas. Ett nytt försök med samma nyckel inom 24 timmar kör inte åtgärden igen, utan returnerar det sparade svaret (status, huvuden och brödtext) med huvudet Idempotency-Replayed: true. Samma nyckel med en annan metod, sökväg, Content-Type eller brödtext returnerar 409 api.idempotency_mismatch; medan det första anropet fortfarande pågår returneras 409 api.idempotency_in_progress med Retry-After: 1. Efter ett 5xx- eller 429-svar frigörs nyckeln, och ett nytt försök kör åtgärden igen. Nyckeln gäller inom organisationen och för anroparen (API-nyckel, användare eller källnyckel för en egen källa).

    length ≥ 1, length ≤ 255

  • X-View-Asstring

    Bara för API-nycklar med rollen admin. Gör anropet som dataprofilen <profile>[:viewer|verifier|editor], till exempel employee:viewer. Installationsnyckeln kan inte använda det här huvudet (403).

Cookie-parametrar

  • kb_view_asstring

    Cookie för läget ”View as” (visa som en annan användare) i en session. POST /auth/view-as sätter den och DELETE /auth/view-as tar bort den.

Anropets brödtext

multipart/form-data

Objekt: CardUploadForm

  • filestring (application/octet-stream)obligatorisk
  • collectionstring

    Standard: "default"

  • tagsstring

    Standard: ""

  • forceboolean

    Standard: false

  • owner_idinteger | null
  • verify_interval_daysinteger | null
  • categorystring | null
  • sensitiveboolean | null
  • asyncboolean

    Standard: false

  • reviewboolean

    Standard: false

  • folder_idstring | null

    Mapp i collection som det nya kortet ska läggas i. En mapp i en annan samling returnerar 400 folders.card_collection_mismatch, en mapp som saknas returnerar 404 folders.not_found, och utan behörigheten COLLECTION_EDIT_CARDS på mappen returneras 403 authz.forbidden. Kontrollen görs innan filen sparas. En dubblett av en fil som redan har laddats upp (skipped) flyttas inte till mappen.

    length ≤ 64

  • collection_idinteger | null

    Samling efter id. När även collection skickas har collection_id företräde. En samling som inte finns i organisationen eller inte är synlig returnerar 404 collections.not_found.

  • external_idstring | null

    external_id för det nya kortet. Med det skapas kortet även om samlingen redan har samma fil. Om ett annat kort i organisationen använder det returnerar anropet 409 cards.external_id_taken. Använd PUT /v1/cards-by-external-id/{external_id} för att skapa eller ersätta ett kort efter external_id.

    length ≤ 512

  • metadatastring | null

    metadata för det nya kortet: ett JSON-objekt som värde i formulärfältet. Reglerna är desamma som för MetadataPatch.

application/json

Objekt: CardUploadFromUpload

  • upload_idstringobligatorisk

    En klar uppladdning (ready) med syftet card_file; den används en gång.

  • collectionstring

    Standard: "default"

  • collection_idinteger | null

    Samling efter id. Om collection också skickas har collection_id företräde. En samling som inte finns i organisationen, inte är synlig eller ligger utanför nyckelns samlingar returnerar 404 collections.not_found.

  • tagsarray of string

    items ≤ 30

  • forceboolean

    Standard: false

  • owner_idinteger | null
  • verify_interval_daysinteger | null
  • categorystring | null
  • sensitiveboolean | null
  • asyncboolean

    Standard: false

  • reviewboolean

    Standard: false

  • folder_idstring | null

    length ≤ 64

  • external_idstring | null

    external_id för det nya kortet, som i formulärfältet. Med det skapas kortet även om samlingen redan har samma fil. Om ett annat kort i organisationen använder det returnerar anropet 409 cards.external_id_taken.

    length ≤ 512

Svar

200`queued` (asynkront), `skipped` (dubblett), `ready` eller `error` (synkront).

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

  • Idempotency-Replayed

    true betyder att svaret spelades upp från det sparade svaret för denna Idempotency-Key: åtgärden kördes inte igen.

application/json

Objekt: UploadResult

  • statusstringobligatorisk

    Tillåtna värden: queuedskippedreadyerror

  • job_idinteger
  • jobJob
  • cardCard | null
  • duplicatetrue
  • card_idstring | null
  • reasonstring

    unchanged eller an identical file is already indexed.

  • tablesinteger
  • timingsobject
    Fält
    • total_snumber
  • errorstring
400Anropet är ogiltigt: ett parametervärde eller objektets tillstånd tillåter inte åtgärden (`detail` är ett meddelande).

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

401Inga autentiseringsuppgifter skickades (varken en sessionscookie eller en API-nyckel), eller så hittades inte nyckeln.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

402Organisationen har nått en gräns i sin prisplan (kort, lagring eller användare). `error.details` innehåller `kind`, `limit` och `used`.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

403Åtgärden är inte tillåten: rollen räcker inte, det saknas åtkomst till samlingen eller kortet, anropet körs i läget ”View as” (visa som en annan användare), eller organisationen är avstängd eller borttagen (`detail` är ett objekt med `code: org_suspended | org_deleted`).

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

404Objektet finns inte eller är inte tillgängligt för dig. API:et bekräftar inte att ett begränsat objekt finns.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

409Objektets tillstånd tillåter inte åtgärden, till exempel en dubblett, en pågående indexering eller ett jobb som redan har bearbetats.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

410Objektet fanns men är inte längre tillgängligt: länken har använts eller har gått ut, eller filen togs bort när lagringstiden löpte ut.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

413Anropets brödtext överskrider den tillåtna storleken.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

415Filformatet stöds inte.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

422Valideringsfel: brödtexten eller parametrarna stämmer inte med schemat (`detail` är en lista med valideringsfel), eller så ligger ett parametervärde utanför det tillåtna intervallet (`detail` är ett meddelande).

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

429För många anrop (`api.rate_limited`), organisationens kvot för minuten, dygnet eller månaden är förbrukad (`api.quota_exceeded`; `error.details` innehåller `quota`, `limit` och `reset_at`), organisationens gräns är nådd eller svarstjänsten är upptagen (`answers.engine_busy`). Vänta den tid som anges i huvudet `Retry-After`.

Svarshuvuden

  • Retry-After

    Antal sekunder att vänta innan du skickar anropet igen.

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

503En tjänst som det här anropet är beroende av är tillfälligt otillgänglig. Försök igen senare.

Svarshuvuden

  • RateLimit-Policy

    Gällande gränser i formatet från IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerade poster "<name>";q=<quota>;w=<window in seconds>. key är API-nyckelns anropsfrekvens (kvoten är toppen (burst), fönstret är tiden tills den har fyllts på helt; för en session är det user, utan autentiseringsuppgifter ip); minute, day och month är organisationens kvoter för kalenderminuten, kalenderdygnet och kalendermånaden i UTC.

  • RateLimit

    Vad som återstår av varje gräns i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Gränsen för den striktaste posten i RateLimit-Policy (den med minst antal återstående anrop).

  • X-RateLimit-Remaining

    Återstående anrop inom den striktaste gränsen.

  • X-RateLimit-Reset

    Sekunder tills den striktaste gränsen nollställs.

application/json

Objekt: Error

Felkoder

Koder som den här slutpunkten kan returnera i error.code, utöver de allmänna koderna för alla anrop.

Säkra nya försök

Skicka huvudet Idempotency-Key (till exempel ett UUID) med varje POST och PATCH. Ett nytt försök med samma nyckel inom 24 timmar returnerar det sparade svaret i stället för att köra anropet igen.

Hastighetsbegränsningar

Svaren innehåller huvudena RateLimit och RateLimit-Policy samt de tidigare X-RateLimit-Limit, X-RateLimit-Remaining och X-RateLimit-Reset. Ett 429-svar har Retry-After i sekunder: vänta och försök igen.

← cards · API-referens