# gt: General Translation CLI tool: gt api
URL: https://generaltranslation.com/ja/docs/cli/reference/commands/api.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation API に認証付きの raw リクエストを送信するか、同梱の OpenAPI 仕様を出力します。gt api コマンドの API リファレンスです。

プロジェクトに HTTP クライアントを追加することなく エンドポイント へ直接アクセスしたい場合は `gt api` を使用します。このコマンドはレスポンスの body をそのまま標準出力に書き出すため、スクリプトやシェルの pipeline での利用に適しています。

## 概要 [#overview]

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

`/v2/project/info/PROJECT_ID` のようなエンドポイントのパスを渡します。`--spec` を使用する場合は、エンドポイントを省略してください。

## 動作の仕組み [#how-it-works]

* `--api-key` または `GT_API_KEY` から API キー を読み取ります。
* `--project-id`、`gt.config.json`、または `GT_PROJECT_ID` から プロジェクト ID を解決します。
* 設定された `baseUrl` (デフォルトは `https://api.gtx.dev`) にリクエストを送信します。
* リクエストを再試行せず、raw なレスポンス body をそのまま標準出力に書き込みます。
* 2xx 以外のレスポンスの場合は、標準エラー出力に概要を書き込み、status 1 で終了します。

`gt.config.json` が指定する プロジェクト ID が `--project-id` や環境変数と異なる場合、コマンドはリクエストを送信せずに停止します。フラグと環境変数だけが異なる ID を指定している場合は、フラグが優先されます。

## フラグ [#flags]

| パラメータ                   | 説明                                                                     | Type      | 任意 | Default                   |
| ----------------------- | ---------------------------------------------------------------------- | --------- | -- | ------------------------- |
| `-X, --method <method>` | HTTP メソッド: `GET`、`HEAD`、`POST`、`PUT`、`PATCH`、`DELETE`、`OPTIONS` のいずれか。 | `string`  | はい | `GET`                     |
| `--input <file>`        | request bodyをファイルから読み込みます。`-` を指定した場合は標準入力から読み込みます。                        | `string`  | はい | —                         |
| `-H, --header <header>` | `Key: Value` 形式のリクエストヘッダーを追加します。複数指定する場合は繰り返し指定します。                    | `string`  | はい | —                         |
| `-i, --include`         | ボディの前にレスポンスのステータスとヘッダーを出力します。                                          | `boolean` | はい | `false`                   |
| `--spec`                | バンドルされた OpenAPI 3.1 仕様を出力します。                                          | `boolean` | はい | `false`                   |
| `-c, --config <path>`   | `gt.config.json` へのパス。`.json` の拡張子は省略できます。                             | `string`  | はい | 自動解決                      |
| `--api-key <key>`       | API キーの上書き。                                                            | `string`  | はい | `GT_API_KEY`              |
| `--project-id <id>`     | プロジェクト ID の上書き。                                                        | `string`  | はい | 設定ファイルまたは `GT_PROJECT_ID` |

`--spec` では エンドポイント、API キー、プロジェクト ID は不要です。

## 例 [#examples]

```bash
# インストール済みの CLI dependencies に同梱されている API スナップショット を保存する
npx gt api --spec > openapi.json

# 環境変数の credentials を使ってプロジェクト情報を取得する
npx gt api /v2/project/info/PROJECT_ID

# JSON の request body を送信し、レスポンスのメタデータも出力する
npx gt api /v2/project/info/PROJECT_ID \
  --method POST \
  --header "Content-Type: application/json" \
  --input update.json \
  --include

# 標準入力から body を読み込む
printf '{"defaultLocale":"fr"}' |
  npx gt api /v2/project/info/PROJECT_ID \
    --method POST \
    --header "Content-Type: application/json" \
    --input -
```

## その他のメモ [#notes]

* `gt api` は `gt` 2.20.0 以降で利用できます。
* `--spec` はインストール済みのスナップショットを出力するもので、ホストされている最新の仕様を取得するわけではありません。
* このコマンドは CLI のファイル設定およびロケール設定の検証をスキップするため、翻訳設定が不正な場合でも raw な API リクエストがブロックされることはありません。
* エンドポイントのパス、権限、リクエストのフィールド、レスポンスのスキーマについては、[OpenAPI リファレンス](/docs/platform/openapi/overview) を参照してください。

## Sitemap

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