Посчитать форму
curl --request GET \
--url https://api.tungo.kz/v1/companies/{co}/forms/build \
--cookie tungo.session_token=import requests
url = "https://api.tungo.kz/v1/companies/{co}/forms/build"
headers = {"cookie": "tungo.session_token="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'tungo.session_token='}};
fetch('https://api.tungo.kz/v1/companies/{co}/forms/build', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"form": "300.00",
"title": "<string>",
"period": {
"code": "2026-Q2",
"title": "2 кв 2026",
"from": "2026-06-30",
"to": "2026-06-30",
"kind": "month"
},
"coverage": "full",
"next": "<string>",
"reference": {
"found": true,
"date": "<string>",
"edition": "<string>",
"note": "<string>"
},
"totals": {
"match": 123,
"mismatch": 123,
"no_reference": 123,
"not_computed": 123
},
"cells": [
{
"line": "300.00.015 A",
"cell": "s_300_00_015_a",
"title": "<string>",
"type": "money",
"ours": "<string>",
"one_c": "<string>",
"ours_value": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"one_c_value": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"status": "match",
"causes": [
{
"kind": "<string>",
"date": "<string>",
"number": "<string>",
"source": "РегистрНакопления.НДС",
"what": "<string>",
"amount": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"records": 123
}
],
"diff": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"note": "<string>"
}
],
"missing": [
{
"what": "<string>",
"why": "<string>",
"cells": [
"<string>"
],
"action": "fill_in_1c",
"where": "<string>",
"objects": [
{
"name": "<string>",
"ref": "<string>"
}
]
}
],
"uncovered": {
"total": 123,
"cells": [
{
"name": "<string>",
"value": "<string>"
}
]
},
"warnings": [
"<string>"
],
"ready_to_file": true,
"isna": true,
"submission": "<string>",
"not_ready_because": [
"<string>"
]
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}Формы
Посчитать форму
Форма по данным 1С с ячейками и сверкой с той же формой в 1С. Сдаёт отчётность человек. Неизвестная форма или период, который ещё не начался, — 400 с текстом для человека.
Доступ: company.read.
Доступно по ключу API.
GET
/
v1
/
companies
/
{co}
/
forms
/
build
Посчитать форму
curl --request GET \
--url https://api.tungo.kz/v1/companies/{co}/forms/build \
--cookie tungo.session_token=import requests
url = "https://api.tungo.kz/v1/companies/{co}/forms/build"
headers = {"cookie": "tungo.session_token="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'tungo.session_token='}};
fetch('https://api.tungo.kz/v1/companies/{co}/forms/build', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"form": "300.00",
"title": "<string>",
"period": {
"code": "2026-Q2",
"title": "2 кв 2026",
"from": "2026-06-30",
"to": "2026-06-30",
"kind": "month"
},
"coverage": "full",
"next": "<string>",
"reference": {
"found": true,
"date": "<string>",
"edition": "<string>",
"note": "<string>"
},
"totals": {
"match": 123,
"mismatch": 123,
"no_reference": 123,
"not_computed": 123
},
"cells": [
{
"line": "300.00.015 A",
"cell": "s_300_00_015_a",
"title": "<string>",
"type": "money",
"ours": "<string>",
"one_c": "<string>",
"ours_value": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"one_c_value": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"status": "match",
"causes": [
{
"kind": "<string>",
"date": "<string>",
"number": "<string>",
"source": "РегистрНакопления.НДС",
"what": "<string>",
"amount": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"records": 123
}
],
"diff": {
"amount": 1234.5,
"amount_tiyn": 123450,
"formatted": "1 234,50 ₸"
},
"note": "<string>"
}
],
"missing": [
{
"what": "<string>",
"why": "<string>",
"cells": [
"<string>"
],
"action": "fill_in_1c",
"where": "<string>",
"objects": [
{
"name": "<string>",
"ref": "<string>"
}
]
}
],
"uncovered": {
"total": 123,
"cells": [
{
"name": "<string>",
"value": "<string>"
}
]
},
"warnings": [
"<string>"
],
"ready_to_file": true,
"isna": true,
"submission": "<string>",
"not_ready_because": [
"<string>"
]
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}{
"type": "error",
"error": {
"type": "payment_required_error",
"message": "Баланс доп. использования закончился — пополнить его или включить автопополнение могут владелец и админ workspace.",
"code": "balance_exhausted",
"permission": "proposals.approve",
"resets_at": "2026-11-01T19:00:00.000Z",
"retry_after_seconds": 42,
"next_request_at": "2026-11-12T09:30:42.000Z",
"allowed_methods": [
"email_otp"
],
"role": "<string>",
"permissions": [
"<string>"
],
"fields": [
{
"path": "bin",
"code": "invalid_format",
"message": "БИН/ИИН — 12 цифр"
}
]
},
"request_id": "req_4f9c2a7e1b3d4c5a8e6f7a9b0c1d2e3f"
}Авторизации
sessionapiKeybearerKey
Сессия кабинета: cookie ставит вход через /v1/auth/* (Better Auth), браузер шлёт её сам — фронтенду кабинета ничего добавлять не нужно (fetch с credentials: 'include'). За HTTPS имя cookie — __Secure-tungo.session_token. Сессия кончилась — 401 authentication_error: отправить на вход.
Параметры запроса
Ответ
Форма
Форма по данным 1С с ячейками и сверкой с той же формой в 1С