PATCH/v1/cards/{card_id}
Змінити картку
update_card
Автентифікація
Передайте ключ API в заголовку Authorization: Authorization: Bearer <ключ>.
Параметри шляху
card_idstringобов’язково
Параметри заголовка
Idempotency-KeystringКлюч для безпечного повтору операції запису: від 1 до 255 друкованих символів ASCII; рекомендовано окремий UUID v4 для кожної логічної операції. Повтор із тим самим ключем протягом 24 годин не виконує операцію знову: він повертає збережену відповідь (статус, заголовки й тіло) із заголовком
Idempotency-Replayed: true. Той самий ключ з іншим методом, шляхом,Content-Typeабо тілом повертає409 api.idempotency_mismatch; поки перший запит ще виконується —409 api.idempotency_in_progressзRetry-After: 1. Після відповіді 5xx або 429 ключ звільняється, і повтор знову виконує операцію. Ключ діє в межах організації та того, хто викликає (ключ API, користувач або ключ власного джерела).length ≥ 1, length ≤ 255
X-View-AsstringЛише для ключів API з роллю
admin. Виконує запит від імені профілю доступу<profile>[:viewer|verifier|editor], наприкладemployee:viewer. Ключ інсталяції не може використовувати цей заголовок (403).
Параметри cookie
kb_view_asstringCookie режиму «View as» для сесії. Встановлюється через
POST /auth/view-as, очищається черезDELETE /auth/view-as.
Тіло запиту
application/json
external_idstring | nullЗадає або змінює
external_idкартки;""абоnullвидаляє його. Якщо його використовує інша картка організації, запит повертає409 cards.external_id_taken.external_idкартки джерела не змінюється (409 cards.managed_by_source).length ≤ 512
metadataMetadataPatchtitlestring | nullowner_idinteger | nullverifier_idsarray of integer | nullverify_interval_daysinteger | null≥ 1, ≤ 3650
tagsarray of string | nullstatusstring | nullsource_urlstring | nullcategorystring | nullsensitiveboolean | nulltable_categoriesmap of object | null
Відповіді
200Успішна відповідь
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
Idempotency-Replayedtrueозначає, що відповідь відтворено зі збереженої для цьогоIdempotency-Key: операцію не виконано повторно.
application/json
expandedCardExpandedpermissionsObjectPermissionListaccessstringДопустимі значення:
wholepartialaccess_contactstringДо кого звертатися по доступ (лише коли
access=partial).aclobjectПоля
verifybooleanобов’язковоwritebooleanобов’язково
categorystringобов’язковоcategory_confidencenumber | nullобов’язковоcategory_lockedbooleanобов’язковоcategory_reviewbooleanобов’язковоcollectionstringобов’язковоcollection_idintegerобов’язковоcollection_titlestringcommentsarray of CardCommentcontent_jsonContentJSON | nullВміст редактора останньої опублікованої версії. Поля може не бути; тоді отримайте вміст редактора з чернетки (
POST /v1/draftsзcard_id).editing_lockEditingLock | nullАктивне блокування редагування. Поля може не бути; тоді редактор дізнається, хто тримає блокування, з
409 cards.lockedнаPOST /v1/cards/{card_id}/lock.created_atstring (date-time)обов’язковоdays_since_verifiedintegerобов’язковоerrorstring | nullобов’язковоeventsarray of CardEventfeedback_negintegerобов’язковоfeedback_posintegerобов’язковоfoldersarray of CardFolderRefЛише в списку карток: папки, що містять картку (ті, які бачить користувач), зі шляхами від кореня колекції. Порожній список означає, що картка не лежить у жодній папці.
has_tablesbooleanЛише в списку карток.
hidden_partsbooleanidstringобов’язковоjobJob | nullorg_idintegerобов’язковоowner_activeboolean | nullowner_idinteger | nullобов’язковоowner_namestring | nullобов’язковоpagesinteger | nullобов’язковоparserstring | nullобов’язковоСпосіб розбору документа як нейтральний код:
document(повна структура: сторінки, заголовки, таблиці, скановані сторінки),pdf(текстовий шар PDF),docx,xlsx,csv,markdown,html,text. Список може розширюватися.sensitivebooleanобов’язковоsha256string | nullобов’язковоsizeintegerобов’язковоsnoozed_atstring (date-time) | nullsnoozed_byinteger | nullsnoozed_untilstring | nullsource_changedbooleanобов’язковоsource_pathstring | nullобов’язковоsource_urlstring | nullобов’язковоstatusstringобов’язковоДопустимі значення:
processingreadyerrorarchivedtablesarray of CardTabletagsarray of stringобов’язковоtitlestringобов’язковоtrustnumberобов’язковоtrust_if_verifiednumberupdated_atstring (date-time)обов’язковоverified_atstring (date-time) | nullобов’язковоverified_byinteger | nullобов’язковоverified_by_namestring | nullverifier_idsarray of integerобов’язковоverifiersarray of objectПоля
activebooleanобов’язковоidintegerобов’язковоnamestringобов’язково
verify_interval_daysintegerобов’язковоversionintegerобов’язковоversionsarray of CardVersionsource_archiveArchiveSourcecreated_byinteger | nullmanual_optionsobjectРучні налаштування розбору (попередній перегляд).
doc_kindDocKind | nullТип документа.
null, якщо тип не визначено (наприклад, для карток, проіндексованих до появи типів документів).doc_kind_confidencenumber | nullРівень упевненості в типі документа, від 0 до 1.
doc_kind_sourcestring | nullЩо визначило тип: правила (
rules), користувач (manual) або автоматична класифікація. Список може розширюватися: невідоме значення вважайте автоматичною класифікацією.Допустимі значення:
rulesmanualnullinvoiceDocInvoiceExtraction | nullПоля рахунку, кредит-ноти або квитанції (лише для цих типів і лише в картці, не в списку).
null, якщо у вас немає доступу до всього документа, бо поля вилучаються з усього документа.warningsarray of ReviewWarningПопередження розбору документа (
ReviewWarning; лише в картці, не в списку).enrichmentCardEnrichmentStatus | nullСтан збагачення (лише в картці, не в списку). Тип документа, поля рахунку та фінансові записи додаються у фоновому режимі після індексації й можуть бути перераховані пізніше; вони з’являються в картці, коли готові.
nullозначає, що стан недоступний (картку проіндексовано без фонового збагачення).external_idstring | nullID картки в системі інтегратора. Унікальний в організації серед карток, що не надходять із джерел;
null— не задано./v1/cards-by-external-id/{external_id}читає й замінює картку за ним.length ≤ 512
metadataMetadata
400Неправильний запит: значення параметра або стан об’єкта не дозволяє виконати дію (`detail` — повідомлення).
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
401Облікові дані не надіслано (ні cookie сесії, ні ключа API) або ключ не знайдено.
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
403Дію не дозволено: роль не має достатніх прав, немає доступу до колекції чи картки, запит виконується в режимі «View as» або організацію призупинено чи видалено (`detail` — об’єкт із `code: org_suspended | org_deleted`).
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
404Об’єкт не існує або недоступний вам. API не підтверджує існування об’єкта з обмеженим доступом.
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
422Помилка валідації: тіло або параметри не відповідають схемі (`detail` — список помилок валідації) або значення параметра виходить за допустимі межі (`detail` — повідомлення).
Заголовки відповіді
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
429Забагато запитів (`api.rate_limited`), квоту організації на хвилину, день або місяць вичерпано (`api.quota_exceeded`; `error.details` містить `quota`, `limit` і `reset_at`), досягнуто ліміту організації або сервіс відповідей зайнятий (`answers.engine_busy`). Зачекайте стільки, скільки вказано в заголовку `Retry-After`.
Заголовки відповіді
Retry-AfterКількість секунд, які слід зачекати перед повторним запитом.
RateLimit-PolicyЧинні ліміти у форматі чернетки IETF
draft-ietf-httpapi-ratelimit-headers: елементи через кому"<name>";q=<quota>;w=<window in seconds>.key— частота запитів ключа API (квота — це сплеск, вікно — час, за який квота повністю відновлюється; для сесії цей елемент називаєтьсяuser, без облікових даних —ip);minute,dayіmonth— квоти організації на календарну хвилину, день і місяць за UTC.RateLimitСкільки лишилося за кожним лімітом із
RateLimit-Policy:"<name>";r=<remaining>;t=<seconds until reset>.X-RateLimit-LimitЛіміт найсуворішого елемента в
RateLimit-Policy(того, за яким лишилося найменше запитів).X-RateLimit-RemainingСкільки запитів лишилося за найсуворішим лімітом.
X-RateLimit-ResetКількість секунд до скидання найсуворішого ліміту.
application/json
Коди помилок
Коди, які ця операція може повернути в error.code, крім загальних кодів будь-якого запиту.
- 400api.metadata_invalid
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403cards.category_whole_access
- 409cards.external_id_taken
- 409cards.managed_by_source
- 403cards.no_access
- 404cards.not_found
- 403cards.sensitivity_admin_only
- 400cards.unknown_table_part
- 400categories.unknown
- 403org.deleted
- 403org.suspended
- 400users.inactive_assignment
- 400users.not_in_org
- 403view_as.read_only
Безпечні повтори
Надсилайте заголовок Idempotency-Key (наприклад, UUID) з кожним POST і PATCH. Повтор із тим самим ключем протягом 24 годин повертає збережену відповідь, а не виконує запит знову.
Ліміти частоти
Відповіді містять заголовки RateLimit і RateLimit-Policy, а також давніші X-RateLimit-Limit, X-RateLimit-Remaining і X-RateLimit-Reset. Відповідь 429 містить Retry-After у секундах: зачекайте й повторіть запит.