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

# HTTP API

> Аутентифицируйтесь в общедоступном API Failproof AI Cloud `/v1` и используйте созданную справку по endpoint'ам.

Общедоступный API доступен по пути `/v1` на источнике вашей панели управления Failproof AI.

## Создайте ключ и выполните запрос

<Tabs>
  <Tab title="Dashboard">
    1. Откройте **Administration → Keys**, выберите **Create key** и выберите наиболее узкий набор разрешений, который соответствует вашей интеграции.
    2. Добавьте отдельные права только при необходимости, создайте ключ и скопируйте его одноразовый секрет.
    3. Выполните тестовый запрос к `/v1/sessions` и убедитесь, что ключ остается активным на странице Keys.
    4. Ротируйте или отключите ключ через его меню действий, когда владелец интеграции изменяется.

           <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/key-create.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=a428bdae79f837471acb66414ff6455b" alt="Новое окно создания ключа API с наборами разрешений и отдельными правами." width="2940" height="1604" data-path="images/dashboard/key-create.png" />

    Выше показано окно создания. Одноразовый секрет появляется только после выбора **create**; скопируйте его перед закрытием этого подтверждения.
  </Tab>

  <Tab title="CLI">
    Создайте ключ на чтение и используйте его непосредственно с помощью `fp` или `curl`:

    ```bash theme={null}
    fp keys create reliability-reader \
      --permission-set read-only

    fp --api-key <key> sessions --since 24h
    ```

    ```bash theme={null}
    curl "https://app.befailproof.ai/v1/sessions?limit=20" \
      -H "Authorization: Bearer $FAILPROOFAI_KEY"
    ```
  </Tab>
</Tabs>

Ключи привязаны к организации и набору разрешений. Запрос без требуемого разрешения для endpoint'а возвращает `403` и указывает на недостающее разрешение.

## Выбор организации

Ключ организации действует на свою организацию автоматически. Ключ, привязанный к экземпляру, может выбирать организацию для каждого запроса:

<Tabs>
  <Tab title="Dashboard">
    Используйте переключатель организации в заголовке панели управления перед открытием **Administration → Keys**. Ключи, созданные там, принадлежат выбранной организации. Подтвердите slug организации в URL и деталях ключа перед копированием учетных данных в автоматизацию.
  </Tab>

  <Tab title="CLI">
    Используйте `--org` перед командой или отправьте заголовок организации для ключа API, привязанного к экземпляру.

    ```bash theme={null}
    fp orgs list
    fp --org reliability-team sessions --since 24h
    ```

    ```bash theme={null}
    curl "https://app.befailproof.ai/v1/usage" \
      -H "Authorization: Bearer $FAILPROOFAI_KEY" \
      -H "X-AgentEye-Org: reliability-team"
    ```
  </Tab>
</Tabs>

Используйте созданные страницы endpoint'ов в этом разделе для получения актуальной информации о путях, параметрах, требованиях разрешений и кодах состояния. Спецификация создается из аннотаций маршрутов сервера и проверяется относительно маршрутизатора `/v1`.

Текущая спецификация имеет полное покрытие маршрутов, методов, параметров, разрешений и кодов состояния. Некоторые тела ответов остаются намеренно нетипизированными, потому что сервер все еще конструирует их как динамический JSON. Проверьте реальный ответ перед созданием строго типизированного клиента для endpoint'а без схемы ответа.

Используйте `Content-Type: application/json` для записи JSON. Рассматривайте `401` как отсутствующую или недействительную аутентификацию, `403` как действительную идентичность без требуемого разрешения, `404` как недостающий или недоступный для организации ресурс, `409` как конфликт состояния, и `422` как недействительное значение поля или разрешения. Ответы об ошибках содержат понятное человеку сообщение; ошибки разрешений также указывают требуемое право.

<Warning>
  Развертывание применения политик намеренно управляется вне обычной общедоступной поверхности `/v1`. Используйте поддерживаемый рабочий процесс развертывания Cloud.
</Warning>
