Перейти к основному содержанию
POST
Передать ключ другому владельцу или админу

Авторизации

tungo.session_token
string
cookie
обязательно

Сессия кабинета: cookie ставит вход через /v1/auth/* (Better Auth), браузер шлёт её сам — фронтенду кабинета ничего добавлять не нужно (fetch с credentials: 'include'). За HTTPS имя cookie — __Secure-tungo.session_token. Сессия кончилась — 401 authentication_error: отправить на вход.

Параметры пути

ws
string
обязательно

id организации (workspace), ws_… — из GET /v1/workspaces

id
string
обязательно

id ключа (key_…)

Тело

application/json

Кому передать ключ.

user_id
string
обязательно

Кому передать (usr_…): владелец или админ этой организации, чьи права в каждой компании ключа покрывают права ключа

Пример:

"usr_01h455vb4pex5vsknk084sn02q"

Ответ

Ключ с новым владельцем

Ключ API организации — без секрета.

id
string
обязательно

id ключа (key_…) — для адресов …/api-keys/{id}

Пример:

"key_01h455vb4pex5vsknk084sn02q"

name
string
обязательно

Название ключа для людей

Пример:

"Интеграция с CRM"

prefix
string
обязательно

Открытая часть ключа для показа — узнать ключ среди других; сам ключ (tg_…_секрет) целиком не хранится

Пример:

"tg_ab12cd34ef56"

workspace_id
string
обязательно

Организация ключа (ws_…)

Пример:

"ws_01h455vb4pex5vsknk084sn02q"

created_by
string
обязательно

Кто выпустил (usr_…). Ключ действует от его имени и не шире его прав: создатель перестал быть владельцем или админом — ключ не работает

company_ids
string[]
обязательно

Компании, к которым ключ даёт доступ (co_…); пусто у ключа на все компании (all_companies)

all_companies
boolean
обязательно

Ключ на все компании организации, в том числе будущие: те, где создатель ключа состоит сейчас, и в каждой — не шире его текущей роли

allowed_ips
string[] | null
обязательно

С каких IP и подсетей CIDR ключ работает; с другого адреса — 403 ip_not_allowed. null — с любых

Пример:
permissions
enum<string>[]
обязательно

Права ключа: company.read — читать данные компаний (есть всегда); chat.use — работать с ИИ-бухгалтером; proposals.create — готовить документы для 1С; proposals.approve — одобрять запись в 1С; automations.read — видеть автоматизации; automations.manage — менять и запускать автоматизации; webhooks.manage — вебхуки всей организации

Доступные опции:
company.read,
chat.use,
proposals.create,
proposals.approve,
automations.manage,
automations.read,
webhooks.manage
status
enum<string>
обязательно

Состояние: active — действует; disabled — выключен (disabled_at), не работает, можно включить; expired — истёк срок (expires_at), не работает; revoked — отозван (revoked_at), не работает. Неактивные показывать серыми

Доступные опции:
active,
disabled,
expired,
revoked
expires_at
string<date-time>
обязательно

Когда ключ перестаёт действовать, ISO 8601 UTC (срок есть у каждого ключа)

Пример:

"2026-10-05T09:30:00.000Z"

monthly_cap_tiyn
integer | null
обязательно

Месячный потолок расхода ИИ по ключу в тиынах (1 ₸ = 100 тиын; показывать значение / 100 ₸), календарный месяц по Алматы; null — без потолка ключа

write_max_amount_per_document_tiyn
integer | null
обязательно

Предел записи в 1С по ключу: потолок суммы одного документа, который ключ одобряет (approve, approve-batch), в тиынах (1 ₸ = 100 тиын). Документ дороже или без известной суммы ключ не запишет (403, error.code key_write_limit) — его запишет человек. null — без предела

write_max_amount_per_day_tiyn
integer | null
обязательно

Предел записи в 1С по ключу: сумма всех документов, одобренных ключом за день по Алматы, в тиынах. Документ с неизвестным исходом записи (1С не ответила) тоже считается. null — без предела

write_kinds
string[] | null
обязательно

Предел записи в 1С по ключу: какие виды документов ключ может одобрять (как kinds правила автоодобрения: sale, purchase, bank_receipt, bank_payment, counterparty, contract, inventory_writeoff, cash_order_in, cash_order_out, advance_report, revert). null — любые. Без всех трёх пределов ключ с proposals.approve пишет в 1С без ограничений — тогда в ответе предупреждение write_unlimited

created_at
string<date-time>
обязательно

Когда выпущен, ISO 8601 UTC

Пример:

"2026-10-05T09:30:00.000Z"

last_used_at
string<date-time> | null
обязательно

Когда ключом пользовались последний раз, ISO 8601 UTC (точность — около минуты); null — ещё ни разу

Пример:

"2026-10-05T09:30:00.000Z"

last_used_ip
string | null
обязательно

С какого IP-адреса был последний запрос; null — ещё ни разу

Пример:

"203.0.113.10"

revoked_at
string<date-time> | null
обязательно

Когда отозван, ISO 8601 UTC; null — не отозван

Пример:

"2026-10-05T09:30:00.000Z"

disabled_at
string<date-time> | null
обязательно

Когда выключен, ISO 8601 UTC; null — не выключен

Пример:

"2026-10-05T09:30:00.000Z"

previous_secret_valid_until
string<date-time> | null
обязательно

После смены секрета (roll): до какого времени ещё действует прежний, ISO 8601 UTC; null — прежнего нет

Пример:

"2026-10-05T09:30:00.000Z"