# gt: General Translation CLI tool: gt api
URL: https://generaltranslation.com/ru/docs/cli/reference/commands/api.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Выполняйте аутентифицированные raw-запросы или изучайте встроенный контракт API General Translation. Справочник по команде gt api.

Используйте `gt api`, когда нужен прямой доступ к эндпоинту без добавления HTTP-клиента в проект. Команда также может вывести список встроенных API-операций или контракт отдельной операции, не загружая полную спецификацию OpenAPI.

## Обзор [#overview]

```bash
npx gt api [endpoint] [options]
```

Передайте путь эндпоинта, например `/v2/project/info/PROJECT_ID`, чтобы отправить запрос. Используйте `--list` без эндпоинта, чтобы получить список доступных операций, или передайте вместе с `--spec` ID операции, путь из спецификации либо конкретный путь запроса, чтобы изучить отдельную часть контракта.

## Как это работает [#how-it-works]

* Использует явно указанный ключ из `--api-key` или `GT_API_KEY`, а при его отсутствии — сохранённые данные входа (см. [приоритет аутентификации](/docs/cli/guides/configuring#credentials)).
* Разрешает ID проекта из `--project-id`, `gt.config.json` или `GT_PROJECT_ID`.
* Отправляет запрос на заданный `baseUrl`, по умолчанию — `https://api.gtx.dev`.
* Пишет необработанное тело ответа в стандартный поток вывода, не повторяя запрос при сетевых сбоях или ответах HTTP 429/5xx.
* Пишет сводку в стандартный поток ошибок и завершается со статусом 1, если ответ не из диапазона 2xx.

Если в `gt.config.json` указан ID проекта, отличающийся от значения в `--project-id` или в окружении, команда прерывается до отправки запроса. Если же разные идентификаторы заданы только флагом и окружением, приоритет имеет флаг.

`--list` выводит для каждой встроенной операции одну строку с полями, разделёнными табуляцией: метод, путь, ID операции и краткое описание. Если указан эндпоинт, `--spec` сначала ищет его как ID операции, затем как точный путь из спецификации и, наконец, как конкретный путь запроса, сопоставляя его с параметрами пути. Ссылки на схемы в отфильтрованном выводе разрешаются, а компоненты и схемы безопасности, на которые они ссылаются, сохраняются. Рекурсивные ссылки на схемы остаются в виде значений `$ref`.

## Флаги [#flags]

| Параметр                | Описание                                                                                                               | Тип       | Необязательный | По умолчанию                         |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- | --------- | -------------- | ------------------------------------ |
| `-X, --method <method>` | HTTP-метод: `GET`, `HEAD`, `POST`, `PUT`, `PATCH`, `DELETE` или `OPTIONS`.                                             | `string`  | Да             | `GET`                                |
| `--input <file>`        | Читает тело запроса из файла или из стандартного ввода, если указано `-`.                                              | `string`  | Да             | —                                    |
| `-H, --header <header>` | Добавляет заголовок запроса в формате `Key: Value`. Укажите флаг несколько раз для нескольких заголовков.              | `string`  | Да             | —                                    |
| `-i, --include`         | Выводит статус и заголовки ответа перед телом.                                                                         | `boolean` | Да             | `false`                              |
| `--spec`                | Выводит встроенную спецификацию OpenAPI 3.1; если указан эндпоинт, спецификация фильтруется по нему.                   | `boolean` | Да             | `false`                              |
| `--list`                | Выводит все встроенные API-операции построчно; поля разделены табуляцией: метод, путь, ID операции и краткое описание. | `boolean` | Да             | `false`                              |
| `-c, --config <path>`   | Путь к `gt.config.json`. Суффикс `.json` можно опустить.                                                               | `string`  | Да             | Определяется автоматически           |
| `--api-key <key>`       | Явное переопределение ключа для инструментов.                                                                          | `string`  | Да             | `GT_API_KEY`, иначе сохранённый вход |
| `--project-id <id>`     | Переопределение ID проекта.                                                                                            | `string`  | Да             | Конфиг или `GT_PROJECT_ID`           |

`--list` и `--spec` работают офлайн и не требуют ни входа в систему, ни API-ключа, ни ID проекта, ни корректных настроек перевода. Использовать их одновременно нельзя. Если при поиске спецификации для конкретного эндпоинта подходящая операция не найдена, команда завершается со статусом 1 и предлагает воспользоваться `--list`.

## Примеры [#examples]

```bash
# Сохранить снимок API, поставляемый с установленными зависимостями CLI
npx gt api --spec > openapi.json

# Вывести список встроенных операций
npx gt api --list

# Вывести одну операцию по её ID или конкретному пути запроса
npx gt api --spec getProjectInfo
npx gt api --spec /v2/project/info/PROJECT_ID

# Получить информацию о проекте, используя сохранённую сессию входа или явно указанный ключ
npx gt api /v2/project/info/PROJECT_ID

# Отправить тело запроса в формате JSON и вывести метаданные ответа
npx gt api /v2/project/info/PROJECT_ID \
  --method POST \
  --header "Content-Type: application/json" \
  --input update.json \
  --include

# Прочитать тело запроса из стандартного ввода
printf '{"defaultLocale":"fr"}' |
  npx gt api /v2/project/info/PROJECT_ID \
    --method POST \
    --header "Content-Type: application/json" \
    --input -
```

## Прочие заметки [#notes]

* `--spec` выводит установленный снимок; текущая размещённая спецификация при этом не загружается.
* При поиске по пути выводятся все методы, определённые для найденного пути спецификации. Флаг `--method` не фильтрует вывод спецификации.
* Команда пропускает проверку настроек файлов и локалей в CLI, поэтому некорректные настройки перевода не блокируют raw-запрос к API.
* Используйте [справочник OpenAPI](/docs/platform/openapi/overview), чтобы найти пути эндпоинтов, разрешения, поля запроса и схемы ответов.

### История версий

| Версия   | Изменения                                                                                   |
| -------- | ------------------------------------------------------------------------------------------- |
| `2.25.0` | Добавлены флаг `--list` и вывод отдельной части спецификации с помощью `--spec <endpoint>`. |
| `2.20.0` | Добавлена команда `gt api` с поддержкой raw-запросов и выводом полной спецификации.         |

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
