> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# API-ключи с ограниченным доступом для KYC API Didit

> Создавайте отдельный API-ключ Didit для каждого сервиса: права чтения или записи, IP-фильтр, срок действия и мгновенный отзыв.



Промпт для API-ключей с ограниченным доступом
        Скопировать промпт в буфер обмена



      
      

\<pre>

\````# Goal - call Didit with a scoped API key

Every application has a primary secret with full access, and any number of named API keys.
A named key carries its own access: read or write per resource, optional limits, an optional IP allowlist and an optional expiry date.
Keys are created, edited, rotated and revoked in the Business Console (Developers -> API keys); there is no API to manage them.

\## Sending the key

\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

Read the key from an environment variable or a secrets manager, never from source code.

\## What each answer means

\| Status | Meaning |
\|---|---|
\| 401 | The key is missing, wrong, revoked or expired |
\| 403 | The key has no access to this resource or action, or the request came from an address outside its IP list |
\| 404 | The session is outside the key's workflows or statuses, so to this key it does not exist |

A key without media access receives decisions with every image, video and PDF URL set to null, and gets 403 on PDF reports.
A key without sessions write receives session_url and session_token as null.

\## Resources

sessions, decisions, media (read only), users, businesses, transactions, workflows, webhooks, applications, analytics (read only), api-keys.
Read covers GET requests, write covers POST, PUT, PATCH and DELETE.
Standalone checks (face match, ID verification, AML screening and the other /v3 standalone APIs) need sessions write.
Creating a person with send_verification_link: true (POST /v3/users/create/) needs users write and sessions write; without sessions write it answers 403 and nothing is created.

\## Limits

\- workflow_ids: only sessions of these workflows are visible, and sessions can only be created with them.
\- approved sessions only: declined, in-review and unfinished sessions are hidden.
\- A key with either limit cannot have access to users, businesses, transactions or analytics.

\## Rotation

Rotating a key returns a new secret once; the previous secret keeps working for 24 hours.````

\</pre>



      
      

Вставьте в

Каждое приложение начинается с **основного секрета**, который имеет полный доступ ко всему, что может делать приложение.
Рядом с ним можно добавить **именованные API-ключи**, по одному на каждый сервис или партнёра, и каждому дать только нужный доступ.
Выдайте своему провайдеру выплат ключ, который читает одобренные сессии одного сценария и ничего не может изменить, держите отдельный ключ для вашего бэкенда и отзывайте любой из них, не затрагивая другой.> [!NOTE]
>
> Ключи, созданные до появления ограниченного доступа, сохраняют полный доступ.
> Для них ничего не меняется, пока вы не измените их доступ.***## Где их найтиВ [**Бизнес-консоли**](https://business.didit.me) выберите своё приложение и откройте **Developers -> API keys**.В списке показаны все ключи приложения с их статусом, количеством запросов за последние 30 дней, тем, кто их создал, их доступом и датой последнего использования.
Нажмите на ключ, чтобы просмотреть его справа, или откройте его полную страницу с данными об использовании, доступе, последних запросах, фрагментом быстрого старта и историей активности.Ключи принадлежат одному приложению и работают только с ним.
Ключ относится к среде приложения: ключи приложения в песочнице никогда не создают тарифицируемых верификаций.***## URL перенаправления и разрешённые доменыОткройте **Developers > API keys > Redirects and domains**, чтобы задать два списка для выбранного приложения и выбранной среды.| Список | За что отвечает |
| - | - |
| **URL перенаправления** | Куда Didit перенаправляет браузер после завершения верификации на размещённой странице. URL должен совпадать полностью, включая путь. |
| **Разрешённые домены** | Источники (схема, хост и необязательный порт, например `https://app.example.com`), в которые может быть встроен процесс верификации на размещённой странице и на которые он может возвращать пользователя. |Если в списке **Разрешённые домены** есть записи, [Создание сессии](https://docs.didit.me/ru/sessions-api/create-session.md) отклоняет `callback`, который не входит ни в один из них, с ошибкой `400`.
Пустой список означает отсутствие ограничений.
Вызовы от сервера к серверу не затрагиваются.***## Создание ключа**1. Данные**Назовите ключ по имени сервиса, который будет его использовать, и выберите срок действия: бессрочно, 30 дней, 90 дней, год или конкретную дату.
Истекший ключ перестаёт работать в конце этого дня по UTC.**2. Доступ**Начните с пресета, затем точно настройте доступ для каждого ресурса.
Ключ никогда не получит больше прав, чем задано здесь.**3. Проверка**Перед тем как выдать ключ, консоль наглядно показывает, что он может делать, а что нет.**4. Секретный ключ**Скопируйте секрет и сохраните его в вашем менеджере секретов.
Полный секрет показывается только один раз.
Если вы его потеряете, перевыпустите ключ, чтобы получить новый.### Пресеты| Пресет | Доступ |
| - | - |
| **Полный доступ** | Все ресурсы, чтение и запись, включая другие API-ключи. Для вашего собственного бэкенда. |
| **Только чтение** | Сессии и решения, медиа по желанию. Ключ не может создавать, изменять или удалять что-либо. Для партнёра, которому нужны результаты. |
| **Свой набор** | Для каждого ресурса вы выбираете: Нет, Чтение или Запись. |### РесурсыЧтение охватывает запросы `GET` к ресурсу; запись также включает `POST`, `PUT`, `PATCH` и `DELETE`.| Ресурс | Чтение | Запись |
| - | - | - |
| **Сессии** | Список и открытие сессий | Создание, обновление и удаление сессий, импорт сессий и запуск отдельных проверок (сравнение лиц, верификация личности, AML-скрининг и другие отдельные API) |
| **Решения** | Результаты, оценки риска, извлечённые данные и история AML-скрининга | Одобрение, отклонение или отправка на проверку, а также изменение статусов функций и AML-срабатываний |
| **Медиа** | Изображения документов, селфи, видео и PDF-отчёты | - |
| **Люди** (`users`) | Конечные пользователи и все проверенные данные о них | Создание, обновление и удаление пользователей и их мониторинга. Создание пользователя со ссылкой на верификацию также требует права записи в **Сессии** |
| **Компании** (`businesses`) | Профили компаний, их документы и владельцы | Создание, обновление и удаление компаний и их мониторинга |
| **Транзакции** | Транзакции, оповещения, правила, события мониторинга, данные Travel Rule и скрининг кошельков | Отправка транзакций и событий, изменение их статуса, управление настройками Travel Rule, адресной книгой кошельков и переводами |
| **Рабочие процессы** | Сценарии, анкеты, списки и списки блокировки | Создание и редактирование |
| **Webhook** | Endpoint'ы и доставки (с правом чтения **Решения**, так как доставка содержит payload сессии, который был отправлен) | Добавление, редактирование и удаление endpoint'ов, повторная отправка доставок |
| **Настройки приложения** (`applications`) | Кастомизация и баланс | Изменение кастомизации и пополнение баланса |
| **Аналитика** | Метрики и экспорт отчётов | - |
| **API-ключи** | Зарезервировано для управления ключами | Зарезервировано для управления ключами |Ключ с пользовательским доступом работает с публичным API: endpoint'ы сессий, пользователей, компаний, транзакций, сценариев и webhook, а также отдельные проверки.
Endpoint'ы, которые использует только Business Console, отвечают на такой ключ `403`; для них нужен ключ с полным доступом.Ключ без права чтения **Медиа** получает решения по сессиям, в которых все URL изображений, видео и PDF равны `null`, а endpoint'ы PDF-отчётов отвечают `403`.
Ключ без права записи в **Сессии** никогда не получает ссылку на верификацию или токен сессии, поскольку тот, у кого они есть, может пройти верификацию от имени конечного пользователя: эти поля возвращаются как `null`.
По той же причине создание человека с `send_verification_link: true` требует права записи в **Сессии** в дополнение к праву записи в **Люди**, так как это создаёт сессию и отправляет её ссылку по электронной почте.
Без него вызов отвечает `403` и ничего не создаёт.### Ограничения| Ограничение | Что делает |
| - | - |
| **Рабочие процессы** | Ключ видит только сессии выбранных сценариев и может создавать сессии только в них. Любая другая сессия отвечает `404`, как будто её не существует. |
| **Только одобренные сессии** | Отклонённые, находящиеся на проверке и незавершённые сессии остаются скрытыми от ключа. |
| **IP-адреса** | Ключ работает только с адресов или диапазонов CIDR, которые вы укажете (до 20, IPv4 или IPv6). Запросы с любого другого адреса отвечают `403`. |
| **Истекает** | После этой даты каждый запрос с ключом отвечает `401`. |Ключ, ограниченный отдельными сценариями или одобренными сессиями, работает с endpoint'ами сессий, где можно применить это ограничение.
Он не может получить доступ к пользователям, компаниям, транзакциям или аналитике и не может запускать отдельные проверки.***## Как API отвечает ключу с ограниченным доступом| Статус | Значение |
| - | - |
| **401** | Ключ отсутствует, неверен, отозван или истёк. |
| **403** | У ключа нет доступа к этому ресурсу или действию либо запрос пришёл с адреса вне его списка IP-адресов. |
| **404** | Сессия выходит за рамки сценариев или статусов, заданных для ключа. |Списки сессий возвращают только те сессии, которые разрешены ограничениями ключа.***## Изменить доступОткройте меню ключа, его предпросмотр или его страницу и выберите **Изменить доступ**.
Измените пресет, ресурсы, ограничения или срок действия, затем проверьте только то, что меняется: значения до и после.
Секрет остаётся прежним, поэтому ничего не нужно переразворачивать, а новый доступ применяется в течение минуты.Основной секрет всегда имеет полный доступ и не может быть изменён.***## Перевыпустить ключПеревыпуск заменяет секрет ключа.
Новый секрет показывается один раз, а текущий секрет продолжает работать в течение **24 часов**, чтобы вы могли развернуть новый без простоя.
После этого каждый запрос со старым секретом отвечает `401`.Основной секрет перевыпускается так же, с тем же 24-часовым переходным периодом.***## Отозвать ключОтзыв немедленно останавливает ключ: каждый запрос, сделанный с ним, отвечает `401`.
Это действие нельзя отменить.
Основной секрет нельзя отозвать; вместо этого перевыпустите его.***## Использование и журнал аудитаДля каждого ключа отображаются его запросы за последние 30 дней, процент ошибок и задержка, а также последние запросы с кодами статуса, включая запросы, которые были отклонены ограничениями ключа.Каждый вызов, сделанный с помощью API-ключа, появляется в [журналах аудита](https://docs.didit.me/ru/console/audit-logs.md) организации с именем ключа, использованного для его выполнения.***## Кто может управлять ключамиДля управления **API-ключами** требуется разрешение **API keys**: чтение позволяет их просматривать, запись позволяет создавать, редактировать, перевыпускать и отзывать.
См. [Роли и разрешения](https://docs.didit.me/ru/console/roles-permissions.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.