Организации
Методы /v1/portal/orgs — для сотрудников reKassa: список всех организаций и решение по
проверке, которую запрашивают клиенты. Доступы нужны на уровне платформы,
см. Роли и доступы.
| Метод | Доступ | Что делает |
|---|---|---|
GET /v1/portal/orgs |
orgs.read |
все организации с фильтрами |
POST /v1/portal/orgs |
orgs.create |
сотрудник добавляет ЮЛ |
POST /v1/portal/orgs/{id}/owner |
orgs.manage |
передать аккаунт клиента другому владельцу |
POST /v1/portal/orgs/{id}/verification |
orgs.verify |
решение по проверке организации |
Дальше с организацией работают через договоры.
-
Найдите организации, ждущие решения:
GET /v1/portal/orgs?status=pending. -
Проверьте реквизиты организации.
-
Примите решение:
POST /v1/portal/orgs/{id}/verificationсо статусомverified,needs_actionилиrejected.
Все организации
Заголовок раздела «Все организации»| Параметр | По умолчанию | Описание |
|---|---|---|
status |
— | статус проверки: not_started, pending, verified, needs_action или rejected |
contractStatus |
— | договорный статус: contract_required, contract_in_progress или contract_signed |
search |
— | подстрока названия или ИНН, без учёта регистра, 1–100 символов |
page |
1 |
номер страницы |
size |
50 |
размер страницы, до 5000 |
curl 'https://api.rekassa.uz/v1/portal/orgs?status=pending&page=1&size=20' \ -H 'Authorization: Bearer <accessToken>'const params = new URLSearchParams({ status: 'pending', page: '1', size: '20' })const response = await fetch(`https://api.rekassa.uz/v1/portal/orgs?${params}`, { headers: { Authorization: `Bearer ${accessToken}` },})const { items, total, hasMore } = await response.json(){ "items": [ { "id": "8c1e4a27-5d3b-4f60-9a82-1b7e0c3d9f45", "clientId": "e2b7c915-0a4d-4e38-b6f1-7d9a2c5e8b03", "kind": "legal", "tin": "301234567", "name": "ООО «Навруз Савдо»", "address": "г. Ташкент, Юнусабадский р-н, ул. Амира Темура, 108", "directorName": "Каримов Азиз Рустамович", "phone": "+998712345678", "bankName": "АКБ «Капиталбанк»", "bankMfo": "01088", "bankAccount": "20208000900123456001", "verificationStatus": "pending", "verificationNote": null, "submittedAt": "2026-09-24T09:30:00.000Z", "verifiedAt": null, "createdAt": "2026-09-24T09:10:00.000Z" } ], "page": 1, "size": 20, "total": 1, "hasMore": false}Элементы — организации в том же виде, что в GET /v1/orgs/{id}.
Пагинация — как у остальных списков, см. Формат данных.
| Статус | Код | Когда |
|---|---|---|
400 |
validation_failed |
неизвестный status, size больше 5000 |
403 |
forbidden |
нет доступа orgs.read на уровне платформы |
Решение по проверке
Заголовок раздела «Решение по проверке»Решение принимается только по организации в статусе pending.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
status |
string | да | verified, needs_action или rejected |
note |
string | для needs_action, rejected |
комментарий для клиента, 1–2000 символов |
curl -X POST https://api.rekassa.uz/v1/portal/orgs/8c1e4a27-5d3b-4f60-9a82-1b7e0c3d9f45/verification \ -H 'Authorization: Bearer <accessToken>' \ -H 'Content-Type: application/json' \ -d '{"status": "needs_action", "note": "Расчётный счёт не совпадает с выпиской банка"}'const response = await fetch( `https://api.rekassa.uz/v1/portal/orgs/${organizationId}/verification`, { method: 'POST', headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ status: 'verified' }), },)const organization = await response.json()Ответ 200 — организация после решения.
| Решение | Что меняется |
|---|---|
verified |
verifiedAt — момент решения, verificationNote очищается (переданный note не сохраняется) |
needs_action |
note сохраняется в verificationNote; клиент исправляет реквизиты и отправляет снова |
rejected |
note сохраняется в verificationNote; повторно отправить на проверку клиент не сможет |
| Статус | Код | Когда |
|---|---|---|
400 |
validation_failed |
неизвестный status; нет note для needs_action или rejected |
403 |
forbidden |
нет доступа orgs.verify на уровне платформы |
404 |
organization_not_found |
организации нет |
422 |
verification_state_invalid |
организация не в статусе pending |
Добавление сотрудником
Заголовок раздела «Добавление сотрудником»Тело — как у самостоятельного добавления, обычно заполненное через
автозаполнение по ИНН. Создаётся новый клиент, и
добавивший сотрудник становится его Владельцем: аккаунт принадлежит тому, кто завёл ЮЛ,
пока его не передадут клиенту (см. ниже). Договорный статус новой организации —
contract_required («Требуется договор»).
curl -X POST https://api.rekassa.uz/v1/portal/orgs \ -H 'Authorization: Bearer <accessToken>' \ -H 'Content-Type: application/json' \ -d '{ "kind": "legal", "tin": "302936161", "name": "\"CLIENT\" MCHJ", "address": "Toshkent, Yangi Olmazor 10", "directorName": "MIRZAYEV AHRORBEK", "bankMfo": "01158", "bankAccount": "20208000900123456001" }'Ответ 201 — организация, как в GET /v1/orgs/{id}. Ошибки: 409 tin_taken,
403 без доступа orgs.create на уровне платформы.
Смена владельца
Заголовок раздела «Смена владельца»Передаёт аккаунт клиента: пользователь с этим телефоном становится единственным Владельцем всех организаций клиента. Если аккаунта с таким номером нет, он создаётся — вход по SMS-коду. Прежние владельцы теряют эту роль.
{ "phone": "+998901234567", "firstName": "Алишер", "lastName": "Навоий" }Ответ 200 — сотрудники организации, как в GET /v1/orgs/{id}/members.