Структура відповіді
API завжди повертає JSON з однаковим верхнім рівнем.
1) Успіх
{
"ok": true,
"result": { },
"meta": {
"api_version": "0.1.0",
"ts": "2026-01-26T12:00:00+00:00"
},
"id": "req-001"
}
okзавждиtrueresultмістить результат методуmetaзавжди є (версія API і час)idбуде таким самим, як у запиті (якщо ви його передали)
2) Помилка
{
"ok": false,
"error": {
"code": "MISSING_METHOD",
"message": "Поле method обов’язкове і повинно бути рядком.",
"details": {
"anything": "optional"
}
},
"meta": {
"api_version": "0.1.0",
"ts": "2026-01-26T12:00:00+00:00"
},
"id": "req-001"
}
okзавждиfalseerror.code— машинний код помилкиerror.message— текст для людиниerror.details— опціонально, якщо є додаткові дані
HTTP статуси
API використовує статуси, які логічно відповідають ситуації:
200— успіх400— помилка валідації / некоректний запит401— не передали логін/пароль або неправильні403— заборонена дія (наприклад, недозволена таблиця у service.table.describe)404— не знайдено (record/report)409— конфлікт (наприклад, не можна видалити товар з залишком)501— метод/звіт ще не реалізований500— внутрішня помилка сервера