Hopp til innholdet
Sursa Developers

PUT/v1/cards-by-external-id/{external_id}

Opprett eller erstatt et kort etter ekstern ID

upsert_card_by_external_id

Oppretter eller erstatter et kort etter integratorens external_id. Send tekst som application/json (CardTextUpsert) eller en fil som multipart/form-data (CardFileUpsertForm, med de samme filkontrollene som POST /v1/cards). Hvis organisasjonen ikke har noe kort med denne external_id, opprettes kortet i samlingen og mappen fra brødteksten (201). Ellers erstattes innholdet med en ny versjon og indekseres på nytt på samme måte som en ny versjon av en fil, og kortets detaljer (tittel, tagger, ansvarlig, kategori, metadata) får de oversendte verdiene (200). Uendret innhold gir ingen ny versjon (status: skipped, reason: unchanged), så det er trygt å gjenta forespørselen selv uten Idempotency-Key. Når metadata sendes, erstatter det hele objektet. Tilgangen kontrolleres som for en opplasting når kortet opprettes, og som for en oppdatering av kortet når det erstattes. Innholdet i et kort som bare delvis er synlig for kalleren, erstattes ikke (403 cards.content_whole_access). Kort fra kilder overskrives ikke på denne måten: hvis external_id tilhører et dokument i en egendefinert kilde, eller kortet som blir funnet, vedlikeholdes av en kilde, returnerer forespørselen 409 cards.managed_by_source. Når innholdet endres, fjernes verifiseringen av kortet, slik det skjer med enhver ny versjon (begrunnelse update).

Autentisering

Send en API-nøkkel i headeren Authorization: Authorization: Bearer <nøkkel>.

Baneparametere

  • external_idstringobligatorisk

    external_id for kortet: en streng på 1–512 tegn, unik i organisasjonen.

    length ≥ 1, length ≤ 512

Headerparametere

  • X-View-Asstring

    Bare for API-nøkler med rollen admin. Utfører forespørselen som dataprofilen <profile>[:viewer|verifier|editor], for eksempel employee:viewer. Installasjonsnøkkelen kan ikke bruke denne headeren (403).

Parametere i informasjonskapsler

  • kb_view_asstring

    Informasjonskapsel for modusen «View as» (vis som) i en økt. POST /auth/view-as setter den, og DELETE /auth/view-as fjerner den.

Forespørselens brødtekst

application/json

Objekt: CardTextUpsert

  • titlestring

    length ≥ 1, length ≤ 200

  • bodystringobligatorisk

    Kortets tekst i formatet content_type.

    length ≥ 1, length ≤ 500000

  • collectionstring

    Samling etter navn, når kortet opprettes. Som standard installasjonens standardsamling.

  • collection_idinteger | null

    Samling etter ID, når kortet opprettes. Sendes også collection, har collection_id forrang.

  • folder_idstring | null

    Mappe i samlingen for det nye kortet, med de samme kontrollene som folder_id ved opplasting av en fil.

    length ≤ 64

  • tagsarray of string | null

    items ≤ 30

  • categorystring | null

    length ≤ 60

  • sensitiveboolean | null
  • owner_idinteger | null
  • verify_interval_daysinteger | null

    ≥ 1, ≤ 3650

  • asyncboolean

    true returnerer med en gang og indekserer kortet i køen; false returnerer etter indekseringen.

    Standard: false

multipart/form-data

Objekt: CardFileUpsertForm

  • filestring (application/octet-stream)obligatorisk
  • titlestring | null

    Kortets tittel. Sendes den ikke, får et nytt kort filnavnet, og et eksisterende kort beholder tittelen.

    length ≤ 200

  • collectionstring
  • collection_idinteger | null
  • folder_idstring | null

    length ≤ 64

  • tagsstring

    Tagger adskilt med komma.

  • owner_idinteger | null
  • verify_interval_daysinteger | null
  • categorystring | null
  • sensitiveboolean | null
  • metadatastring | null

    metadata: et JSON-objekt som verdien av skjemafeltet. Reglene er de samme som for MetadataPatch.

  • asyncboolean

    Standard: false

Svar

200Kortet fantes allerede. Innholdet ble erstattet (`queued`, `ready`, `error`) eller ble ikke endret (`skipped`).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: UploadResult

  • statusstringobligatorisk

    Tillatte verdier: queuedskippedreadyerror

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

    unchanged eller an identical file is already indexed.

  • tablesinteger
  • timingsobject
    Felt
    • total_snumber
  • errorstring
201Kortet ble opprettet (`queued` for en asynkron forespørsel, `ready` eller `error` for en synkron).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: UploadResult

  • statusstringobligatorisk

    Tillatte verdier: queuedskippedreadyerror

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

    unchanged eller an identical file is already indexed.

  • tablesinteger
  • timingsobject
    Felt
    • total_snumber
  • errorstring
400Forespørselen er ugyldig: en parameterverdi eller objektets tilstand tillater ikke handlingen (`detail` er en melding).

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

401Ingen påloggingsinformasjon ble sendt (verken øktinformasjonskapsel eller API-nøkkel), eller nøkkelen ble ikke funnet.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

402Organisasjonen har nådd en grense i prisplanen (kort, lagring eller brukere). `error.details` inneholder `kind`, `limit` og `used`.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

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-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

404Objektet finnes ikke eller er ikke tilgjengelig for deg. API-et bekrefter ikke at et objekt med begrenset tilgang finnes.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

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-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

413Forespørselens brødtekst overskrider tillatt størrelse.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

415Filformatet støttes ikke.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

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-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

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-After

    Antall sekunder du skal vente før du prøver forespørselen på nytt.

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

503En tjeneste som denne forespørselen er avhengig av, er midlertidig utilgjengelig. Prøv på nytt senere.

Headere i svaret

  • RateLimit-Policy

    Gjeldende grenser i formatet fra IETF-utkastet draft-ietf-httpapi-ratelimit-headers: kommaseparerte elementer "<name>";q=<quota>;w=<window in seconds>. key er forespørselsraten til API-nøkkelen (kvoten er burst, tidsvinduet er tiden det tar å fylle den helt opp igjen; for en økt er det user, uten påloggingsinformasjon ip); minute, day og month er organisasjonens kvoter for kalenderminuttet, kalenderdøgnet og kalendermåneden i UTC.

  • RateLimit

    Hva som gjenstår av hver grense i RateLimit-Policy: "<name>";r=<remaining>;t=<seconds until reset>.

  • X-RateLimit-Limit

    Grensen for den strengeste oppføringen i RateLimit-Policy (den med færrest gjenværende forespørsler).

  • X-RateLimit-Remaining

    Gjenværende forespørsler under den strengeste grensen.

  • X-RateLimit-Reset

    Sekunder til den strengeste grensen nullstilles.

application/json

Objekt: Error

Feilkoder

Kodene denne operasjonen kan returnere i error.code, i tillegg til de generelle kodene for alle forespørsler.

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.

← cards · API-referanse