POST/v1/cards/text
Stvaranje tekstne kartice (Markdown)
create_text_card
Stvara tekstnu karticu iz Markdowna (kind=text). Indeksira se na isti način kao učitana datoteka. S async=true indeksiranje se stavlja u red: odgovor se vraća odmah, a napredak je dostupan u /v1/jobs.
Autentifikacija
Pošaljite API ključ u zaglavlju Authorization: Authorization: Bearer <ključ>.
Parametri zaglavlja
Idempotency-KeystringKljuč za siguran ponovni pokušaj upisa: od 1 do 255 ispisivih ASCII znakova; preporučuje se UUID v4 po logičkoj operaciji. Ponovni pokušaj s istim ključem unutar 24 sata ne izvodi operaciju ponovno: vraća spremljeni odgovor (status, zaglavlja i tijelo) sa zaglavljem
Idempotency-Replayed: true. Isti ključ s drugom metodom, putanjom,Content-Typeili tijelom vraća409 api.idempotency_mismatch; dok se prvi zahtjev još izvodi –409 api.idempotency_in_progresssRetry-After: 1. Nakon odgovora 5xx ili 429 ključ se oslobađa i ponovni pokušaj ponovno izvodi operaciju. Ključ vrijedi u okviru organizacije i pozivatelja (API ključ, korisnik ili ključ vlastitog izvora).length ≥ 1, length ≤ 255
X-View-AsstringSamo za API ključeve s ulogom
admin. Izvodi zahtjev kao podatkovni profil<profile>[:viewer|verifier|editor], na primjeremployee:viewer. Ključ instalacije ne može koristiti ovo zaglavlje (403).
Parametri kolačića
kb_view_asstringKolačić načina „View as” za sesiju. Postavlja ga
POST /auth/view-as, a brišeDELETE /auth/view-as.
Tijelo zahtjeva
application/json
titlestringobaveznolength ≥ 1, length ≤ 200
collectionstringZadano: "default"
body_markdownstringTekst kartice u Markdownu;
content_typese na njega ne primjenjuje. Umjesto njega možete proslijeditibody.length ≥ 1, length ≤ 500000
tagsarray of string | nullitems ≤ 30
categorystring | nulllength ≤ 60
sensitiveboolean | nullowner_idinteger | nullasyncbooleanZadano: false
bodystringTekst kartice u formatu
content_type. Proslijedite ilibodyilibody_markdown; ako proslijedite oba, vraća se422 validation.failed.length ≥ 1, length ≤ 500000
content_typeCardTextContentTypecollection_idinteger | nullZbirka prema ID-ju. Ako je proslijeđen i
collection, prednost imacollection_id. Zbirka koja ne postoji u organizaciji ili nije vidljiva vraća404 collections.not_found.folder_idstring | nullMapa zbirke u koju se stavlja kartica, uz iste provjere kao
folder_idpri učitavanju datoteke. Mapa druge zbirke vraća400 folders.card_collection_mismatch, nepostojeća mapa vraća404 folders.not_found, a bez dopuštenjaCOLLECTION_EDIT_CARDSna mapi vraća se403 authz.forbidden.length ≤ 64
external_idstring | nullexternal_idnove kartice. Ako ga koristi druga kartica organizacije, zahtjev vraća409 cards.external_id_taken. Za stvaranje ili zamjenu kartice premaexternal_idkoristitePUT /v1/cards-by-external-id/{external_id}.length ≤ 512
metadataMetadataPatch
Odgovori
200Uspješan odgovor
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
Idempotency-Replayedtrueznači da je odgovor ponovljen iz spremljenog odgovora za ovajIdempotency-Key: operacija se nije ponovno izvela.
application/json
statusstringobaveznoDopuštene vrijednosti:
readyerrorskippedqueuedtablesintegertimingsobjectPolja
total_snumber
errorstringreasonstringduplicatetruecard_idstring | nulljob_idintegerjobJob
400Zahtjev nije valjan: vrijednost parametra ili stanje objekta ne dopušta radnju (`detail` je poruka).
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
401Vjerodajnice nisu poslane (ni kolačić sesije ni API ključ) ili ključ nije pronađen.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
403Radnja nije dopuštena: uloga nije dovoljna, nema pristupa zbirci ili kartici, zahtjev se izvodi u načinu „View as” ili je organizacija suspendirana ili izbrisana (`detail` je objekt s `code: org_suspended | org_deleted`).
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
404Objekt ne postoji ili vam nije dostupan. API ne potvrđuje postojanje ograničenog objekta.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
409Stanje objekta ne dopušta radnju, na primjer duplikat, indeksiranje u tijeku ili posao koji je već obrađen.
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
422Pogreška provjere valjanosti: tijelo ili parametri ne odgovaraju shemi (`detail` je popis pogrešaka provjere valjanosti) ili je vrijednost parametra izvan raspona (`detail` je poruka).
Zaglavlja odgovora
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
429Previše zahtjeva (`api.rate_limited`), kvota organizacije za minutu, dan ili mjesec je potrošena (`api.quota_exceeded`; `error.details` sadrži `quota`, `limit` i `reset_at`), dosegnuto je ograničenje organizacije ili je usluga odgovora zauzeta (`answers.engine_busy`). Pričekajte vrijeme navedeno u zaglavlju `Retry-After`.
Zaglavlja odgovora
Retry-AfterBroj sekundi koje treba pričekati prije ponovnog pokušaja zahtjeva.
RateLimit-PolicyOgraničenja na snazi, u formatu IETF nacrta
draft-ietf-httpapi-ratelimit-headers: stavke odvojene zarezima"<name>";q=<quota>;w=<window in seconds>.keyje učestalost zahtjeva API ključa (kvota je nalet, prozor je vrijeme do njegova potpunog obnavljanja; za sesiju je touser, bez vjerodajnicaip);minute,dayimonthsu kvote organizacije za kalendarsku minutu, dan i mjesec po UTC-u.RateLimitŠto je preostalo od svakog ograničenja u
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitOgraničenje najstrože stavke u
RateLimit-Policy(one s najmanje preostalih zahtjeva).X-RateLimit-RemainingPreostali zahtjevi u okviru najstrožeg ograničenja.
X-RateLimit-ResetBroj sekundi do obnove najstrožeg ograničenja.
application/json
Kodovi pogrešaka
Kodovi koje ova operacija može vratiti u error.code, uz opće kodove svakog zahtjeva.
- 400api.metadata_invalid
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403authz.forbidden
- 409cards.external_id_taken
- 400categories.unknown
- 409collections.index_outdated
- 400collections.invalid_name
- 403collections.no_access
- 403collections.no_write_access
- 404collections.not_found
- 400folders.card_collection_mismatch
- 404folders.not_found
- 402limits.cards
- 403org.deleted
- 403org.suspended
- 400users.not_in_org
- 403view_as.read_only
Sigurni ponovni pokušaji
Uz svaki POST i PATCH pošaljite zaglavlje Idempotency-Key (na primjer UUID). Ponovni pokušaj s istim ključem unutar 24 sata vraća spremljeni odgovor umjesto da ponovno izvrši zahtjev.
Ograničenja učestalosti
Odgovori sadrže zaglavlja RateLimit i RateLimit-Policy te ranija zaglavlja X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset. Odgovor 429 sadrži zaglavlje Retry-After u sekundama: pričekajte i pokušajte ponovno.