---
title: "認証"
description: "APIキーを使用してAPIリクエストを認証し、資格情報を安全に管理する方法を学びます。"
---

# 認証

すべてのMinds APIリクエストには、APIキーを使用した認証が必要です。APIキーはアカウントに固有で、リソースへの安全なアクセスを提供します。

## APIキーの取得

1. Mindsアカウントにログインします
2. **設定** → **APIキー**に移動します
3. **新しいAPIキーを生成**をクリックします
4. APIキーをすぐにコピーします（再度見ることはできません！）

APIキーは`minds_`で始まり、次のようになります: `minds_0000111122223333444455556666777788889999aaaabbbb`

## APIキーの使用

すべてのリクエストの`Authorization`ヘッダーにAPIキーを含めます:

```bash
Authorization: Bearer minds_your_api_key_here
```

### リクエストの例

```bash
curl -X GET "https://getminds.ai/api/v1/api-keys" \
  -H "Authorization: Bearer minds_your_api_key"
```

## セキュリティのベストプラクティス

### キーを秘密に保つ

- **絶対に** APIキーをバージョン管理にコミットしないでください
- **絶対に** 公共のフォーラムやチャットでキーを共有しないでください
- 環境変数や安全なボールトにキーを保存します
- セキュリティのために定期的にキーをローテーションします

### 環境変数を使用する

```bash
# Set your key as an environment variable
export MINDS_API_KEY="minds_your_api_key_here"

# Use it in requests
curl -X GET "https://getminds.ai/api/v1/api-keys" \
  -H "Authorization: Bearer $MINDS_API_KEY"
```

### 定期的にキーをローテーションする

キーが侵害された疑いがある場合:

1. 新しいAPIキーを生成します
2. アプリケーションを新しいキーを使用するように更新します
3. 古いキーを削除します

## 認証されたユーザーの特定

APIキーが有効であることを確認し、それがどのアカウントに属しているかを特定します:

```bash
GET /api/v1/auth/me
```

**レスポンス:**

```json
{
  "id": "550e8400-e29b-41d4-a716-446655440000"
}
```

APIキーに関連付けられたユーザーIDを返します。起動時やキーをローテーションした後に資格情報を確認するのに便利です。キーが欠落しているか無効な場合は`401 Unauthorized`を返します。

## APIキーの管理

### APIキーの一覧表示

```bash
GET /api/v1/api-keys
```

メタデータ付きのAPIキーのリストを返します（実際のキー値は決して返されません）:

```json
[
  {
    "id": "key-id",
    "name": "prod",
    "createdAt": "2025-12-10T12:00:00.000Z",
    "lastUsedAt": "2025-12-10T13:00:00.000Z"
  }
]
```

### 新しいAPIキーの作成

```bash
POST /api/v1/api-keys
```

**ヘッダー:**

```text
Content-Type: application/json
```

**リクエストボディ（オプション）:**

```json
{
  "name": "prod"
}
```

オプションの`name`フィールドは、キーの人間が読めるラベルです（文字列、1–100文字）。リストエンドポイントや設定UIでキーを特定するのに役立ちます。空白はトリムされ、空または欠落した値は`null`として保存されます。空のリクエストボディも受け入れられ、名前のないキーが作成されます。

レスポンスには実際のキーが含まれます（これが唯一見ることができる時です）:

```json
{
  "id": "new-key-id",
  "name": "prod",
  "key": "minds_0000111122223333444455556666777788889999aaaabbbb",
  "createdAt": "2025-12-10T12:00:00.000Z"
}
```

#### 名前付きの例

```bash
curl -X POST "https://getminds.ai/api/v1/api-keys" \
  -H "Authorization: Bearer minds_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"name":"prod"}'
```

⚠️ **重要:** `key`の値をすぐに保存してください！再度取得することはできません。

### APIキーの削除

```bash
DELETE /api/v1/api-keys/{keyId}
```

成功時には空のボディで`204 No Content`を返します。

## 認証エラー

### 401 Unauthorized

APIキーが欠落しているか無効です。

```json
{
  "statusCode": 401,
  "statusMessage": "Unauthorized",
  "message": "Invalid or missing API key"
}
```

**解決策:**

- `Authorization`ヘッダーが含まれていることを確認してください
- APIキーが正しいことを確認してください
- `Bearer`プレフィックスを使用していることを確認してください
- 古いキーが削除された場合は新しいキーを生成してください

## プランベースのアクセス

APIアクセスは有料プランでサポートされる機能であり、製品上に表示される、または契約で合意されたリソース、回答数、ワークスペースの制限に従います。制限値をコードに固定せず、構造化された`PLAN_LIMIT`と`plan_limited`応答を処理してください。IndividualプランはAPIペイロードでは`"premium"`と表示されます。

[プランを見る](/pricing)
