Source: https://ailoot.ai/docs/ja/cabinet/keys/
Canonical: https://ailoot.ai/docs/ja/cabinet/keys/
Language: ja

[ダッシュボードAPI](https://ailoot.ai/docs/ja/) 

# APIキー

[Markdown](https://ailoot.ai/docs/ja/cabinet/keys/index.md)

メソッド、リクエストのフィールド、レスポンス。

このセクションには5メソッドがあります。メソッドを開くと、アクセス条件、リクエストのフィールド、レスポンスを確認できます。

| メソッドとパス | 説明 | アクセス |
| --- | --- | --- |
| `GET /api/v1/keys` | APIキーの一覧 | ダッシュボードのトークン |
| `POST /api/v1/keys` | APIキーの作成 | ダッシュボードのトークン |
| `DELETE /api/v1/keys/:id` | APIキーの削除 | ダッシュボードのトークン |
| `GET /api/v1/keys/:id` | IDによるAPIキーの取得 | ダッシュボードのトークン |
| `PUT /api/v1/keys/:id` | APIキーの変更 | ダッシュボードのトークン |

**GET /api/v1/keys** — APIキーの一覧

アクセス：ダッシュボードのトークン

GET`/api/v1/keys`

取得。IDは、以前取得したレスポンスの値を使います。

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"
```

## クエリパラメータ

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `sort_by` | `string` | いいえ | ；デフォルト：created\_at |
| `sort_order` | `string` | いいえ | ；デフォルト：desc |
| `search` | `string` | いいえ |  |
| `status` | `string` | いいえ |  |
| `page` | `integer` | いいえ | ；デフォルト：1；正の整数；page\_size/limit \<=1000 |
| `page_size` | `integer` | いいえ | ；デフォルト：20；正の整数；page\_size/limit \<=1000 |
| `limit` | `integer` | いいえ | ；デフォルト：20；正の整数；page\_size/limit \<=1000 |

リクエストボディは不要です。上記のパラメータはURLで渡してください。

## レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ：`APIKey`。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "id": "PLACEHOLDER_ID (integer)",
        "user_id": "PLACEHOLDER_USER_ID (integer)",
        "key": "PLACEHOLDER_KEY (string)",
        "name": "PLACEHOLDER_NAME (string)",
        "status": "PLACEHOLDER_STATUS (string)",
        "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
        "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
        "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
        "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
        "quota": "PLACEHOLDER_QUOTA (number)",
        "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
        "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
        "created_at": "PLACEHOLDER_CREATED_AT (string)",
        "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
        "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
        "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
        "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
        "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
        "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
        "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
        "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
        "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
        "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
        "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
        "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
        "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
        "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
        "user": "PLACEHOLDER_USER (object)"
      }
    ],
    "total": "PLACEHOLDER_TOTAL (integer)",
    "page": "PLACEHOLDER_PAGE (integer)",
    "page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
    "pages": "PLACEHOLDER_PAGES (integer)"
  }
}
```

補足：すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足：レスポンスには秘密情報であるkeyが含まれます。実際の値を公開しないでください。

**POST /api/v1/keys** — APIキーの作成

アクセス：ダッシュボードのトークン

POST`/api/v1/keys`

## JSON／フォームのフィールド

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `name` | `string` | はい | required |
| `custom_key` | `string` | いいえ | ；任意の独自キー値；null可 |
| `ip_whitelist` | `array` | いいえ | ；許可IPのリスト |
| `ip_blacklist` | `array` | いいえ | ；禁止IPのリスト |
| `quota` | `number` | いいえ | ；キーの支出上限（USD）；null可 |
| `expires_in_days` | `integer` | いいえ | ；有効期間（日数）；null可 |
| `rate_limit_5h` | `number` | いいえ | ；null可 |
| `rate_limit_1d` | `number` | いいえ | ；null可 |
| `rate_limit_7d` | `number` | いいえ | ；null可 |

リクエストボディのテンプレート

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "custom_key": "PLACEHOLDER_CUSTOM_KEY (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_in_days": "PLACEHOLDER_EXPIRES_IN_DAYS (integer)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)"
}
```

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ：`CreateAPIKeyRequest`

## レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ：`APIKey`。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

補足：すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足：この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

補足：Idempotency-Keyに対応しています。再送すると、保存済みのレスポンスがX-Idempotency-Replayedとともに返されます。

補足：レスポンスには秘密情報であるkeyが含まれます。実際の値を公開しないでください。

このメソッドはデータを変更します。再送が安全なのは、Idempotency-Keyが明示されているメソッドのみです。レスポンスが失われた場合は、先に結果（例：キーの一覧）を確認してから、再送するかを判断してください。

**DELETE /api/v1/keys/:id** — APIキーの削除

アクセス：ダッシュボードのトークン

DELETE`/api/v1/keys/:id`

## パスパラメータ

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `id` | `integer` | はい |  |

リクエストボディは不要です。

## レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのスキーマ。値は例示用

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}
```

補足：すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足：この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

補足：レスポンスには秘密情報であるkeyが含まれます。実際の値を公開しないでください。

このメソッドはデータを変更します。再送が安全なのは、Idempotency-Keyが明示されているメソッドのみです。レスポンスが失われた場合は、先に結果（例：キーの一覧）を確認してから、再送するかを判断してください。

**GET /api/v1/keys/:id** — IDによるAPIキーの取得

アクセス：ダッシュボードのトークン

GET`/api/v1/keys/:id`

取得。IDは、以前取得したレスポンスの値を使います。

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"
```

## パスパラメータ

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `id` | `integer` | はい |  |

リクエストボディは不要です。上記のパラメータはURLで渡してください。

## レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ：`APIKey`。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

補足：すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足：レスポンスには秘密情報であるkeyが含まれます。実際の値を公開しないでください。

**PUT /api/v1/keys/:id** — APIキーの変更

アクセス：ダッシュボードのトークン

PUT`/api/v1/keys/:id`

## パスパラメータ

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `id` | `integer` | はい |  |

## JSON／フォームのフィールド

| フィールド | タイプ | 必須 | 検証／説明 |
| --- | --- | --- | --- |
| `name` | `string` | いいえ |  |
| `status` | `string` | いいえ | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` | いいえ | ；許可IP：nullではリストを変更せず、空の配列では消去します；null可 |
| `ip_blacklist` | `array` | いいえ | ；禁止IP：nullではリストを変更せず、空の配列では消去します；null可 |
| `quota` | `number` | いいえ | ；キーの支出上限（USD）；0は無制限；null可 |
| `expires_at` | `string` | いいえ | ；有効期限（ISO 8601形式）；null可 |
| `reset_quota` | `boolean` | いいえ | ；支出上限の使用済み金額をリセット；null可 |
| `rate_limit_5h` | `number` | いいえ | ；null可 |
| `rate_limit_1d` | `number` | いいえ | ；null可 |
| `rate_limit_7d` | `number` | いいえ | ；null可 |
| `reset_rate_limit_usage` | `boolean` | いいえ | ；時間ウィンドウの使用済み金額をリセット；null可 |

リクエストボディのテンプレート

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "status": "PLACEHOLDER_STATUS (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
  "reset_quota": "PLACEHOLDER_RESET_QUOTA (boolean)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
  "reset_rate_limit_usage": "PLACEHOLDER_RESET_RATE_LIMIT_USAGE (boolean)"
}
```

PLACEHOLDERは、入力する値とその型を示します。値を置き換え、必要な任意フィールドだけを残してください。数値、boolean、オブジェクト、配列の代わりに、文字列のマーカーを送信しないでください。

リクエストのスキーマ：`UpdateAPIKeyRequest`

## レスポンス

JSONレスポンスにはcode、message、dataが含まれます。dataの内容は、以下のスキーマで説明します。

レスポンスのデータスキーマ：`APIKey`。フィールドと型は、「データスキーマ」の各ページに記載されています。

レスポンスのスキーマ。値は例示用

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

補足：すべての個人データとオブジェクトは、JWTの主体に限定されます。

補足：この操作は状態を変更するか、一度限りの認証手続きを継続します。例は契約仕様を説明するもので、実行されません。

補足：レスポンスには秘密情報であるkeyが含まれます。実際の値を公開しないでください。

補足：キーに仮確保中の未完了リクエストがある間は、その支出上限を引き下げたりリセットしたりできません。変更するフィールドだけを送信してください。

このメソッドはデータを変更します。再送が安全なのは、Idempotency-Keyが明示されているメソッドのみです。レスポンスが失われた場合は、先に結果（例：キーの一覧）を確認してから、再送するかを判断してください。

ご不明な点はありますか？Request IDと状況の説明をお送りください。調査をお手伝いします。[サポートに問い合わせる](mailto:support@ailoot.ai)

## Ailoot · 企業とそのプロジェクト群





Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。





企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。





Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
