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

# OpenAPI

> Настройка пользовательских действий в Yahont через OpenAPI

Вы можете создавать пользовательские действия в Yahont по спецификации OpenAPI 3.0 или 3.1 для API.
Это позволяет ИИ-агентам взаимодействовать с REST API и запускать рабочие процессы во внешних системах.

> [!TIP]
>
> Включайте в спецификацию OpenAPI только те конечные точки, которые должен вызывать агент. Удалите все конечные точки,
> к которым агенту доступ не нужен.

## Настройка пользовательских действий

**1. Откройте панель действий**

Нажмите значок профиля пользователя,
выберите **Панель администратора** и откройте вкладку **OpenAPI-действия** на боковой панели.

![Вкладка OpenAPI-действий на боковой панели администратора Yahont](https://mintcdn.com/yahont-ai/GgKRVXXDNIirDkuK/assets/admins/actions/admin_panel_openapi.png?fit=max\&auto=format\&n=GgKRVXXDNIirDkuK\&q=85\&s=a3fb032a193502e151c2213d7f9bf63e)

![Панель OpenAPI-действий в панели администратора Yahont](https://mintcdn.com/yahont-ai/GgKRVXXDNIirDkuK/assets/admins/actions/openapi_dashboard.png?fit=max\&auto=format\&n=GgKRVXXDNIirDkuK\&q=85\&s=e61266aa61b659c7392114105c539f76)

**2. Добавьте OpenAPI-действие**

Нажмите кнопку **Добавить OpenAPI-действие**.

Вставьте спецификацию OpenAPI и настройте необходимую аутентификацию или заголовки.

![Окно добавления OpenAPI-действия в панели администратора Yahont](https://mintcdn.com/yahont-ai/GgKRVXXDNIirDkuK/assets/admins/actions/openapi_modal.png?fit=max\&auto=format\&n=GgKRVXXDNIirDkuK\&q=85\&s=621e24a380c8a86ac2990be6af013a63)

## Пример

Приведённую ниже спецификацию OpenAPI можно использовать,
чтобы создать пользовательское действие для получения и создания агентов в Yahont.

```json OpenAPI expandable theme={null}
{
  "openapi": "3.1.0",
  "info": {
    "title": "Agents API",
    "version": "1.0.0",
    "description": "Minimal OpenAPI schema for creating and fetching agents in Onyx"
  },
  "servers": [
    {
      "url": "https://your-yahont-domain.com/api"
    }
  ],
  "paths": {
    "/persona": {
      "post": {
        "summary": "Create Agent (Persona)",
        "operationId": "create_persona",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": { "type": "string" },
                  "description": { "type": "string" },
                  "document_set_ids": {
                    "type": "array",
                    "items": { "type": "integer" }
                  },
                  "num_chunks": { "type": "number" },
                  "is_public": { "type": "boolean" },
                  "recency_bias": {
                    "type": "string",
                    "enum": ["favor_recent", "base_decay", "no_decay", "auto"]
                  },
                  "llm_filter_extraction": { "type": "boolean" },
                  "llm_relevance_filter": { "type": "boolean" },
                  "tool_ids": {
                    "type": "array",
                    "items": { "type": "integer" }
                  },
                  "system_prompt": { "type": "string" },
                  "task_prompt": { "type": "string" },
                  "datetime_aware": { "type": "boolean" }
                },
                "required": [
                  "name",
                  "description",
                  "document_set_ids",
                  "num_chunks",
                  "is_public",
                  "recency_bias",
                  "llm_filter_extraction",
                  "llm_relevance_filter",
                  "tool_ids",
                  "system_prompt",
                  "task_prompt",
                  "datetime_aware"
                ]
              }
            }
          }
        },
        "responses": {
          "200": { "description": "Created" }
        }
      }
    },
    "/persona/{persona_id}": {
      "get": {
        "summary": "Get Agent (Persona) By ID",
        "operationId": "get_persona",
        "parameters": [
          {
            "name": "persona_id",
            "in": "path",
            "required": true,
            "schema": { "type": "integer" }
          }
        ],
        "responses": {
          "200": { "description": "OK" }
        }
      }
    }
  }
}
```


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