Skip to content

APIキーを作成

POST /v1/api-keys

DocMap APIの認証に使用する新しいAPIキーを作成します。各ユーザーは最大10個のアクティブ(無効化されていない)APIキーを保持できます。

試してみる

このエンドポイントを Swagger UI でインタラクティブにテストできます。

認証が必要です

Authorization ヘッダーにAPIキーを含めてください。

リクエスト

ヘッダー

ヘッダー必須
AuthorizationBearer <token>はい
Content-Typeapplication/jsonはい

ボディ

フィールド必須説明
namestringはいキーのわかりやすいラベル(1〜100文字)。
expiresInstringはい有効期限: "30d""60d""90d""1y"、または "never"

コード例

bash
curl -X POST https://api.docmap.io/v1/api-keys \
  -H "Authorization: Bearer dm_live_abc123def456ghi789jkl012mno345" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Server",
    "expiresIn": "90d"
  }'
typescript
const apiKey = process.env.DOCMAP_API_KEY

const response = await fetch('https://api.docmap.io/v1/api-keys', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Production Server',
    expiresIn: '90d',
  }),
})

const { data } = await response.json()

// 重要: キーをすぐに保存してください — 後で取得することはできません
console.log('API Key:', data.key)
console.log('Key ID:', data.apiKey.id)
python
import requests

api_key = "dm_live_abc123def456ghi789jkl012mno345"

response = requests.post(
    "https://api.docmap.io/v1/api-keys",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "name": "Production Server",
        "expiresIn": "90d",
    },
)

data = response.json()["data"]

# 重要: キーをすぐに保存してください — 後で取得することはできません
print(f"API Key: {data['key']}")
print(f"Key ID: {data['apiKey']['id']}")

レスポンス

ステータス: 201 Created

レスポンスボディは data オブジェクトでラップされています。

WARNING

生のキー値はこのレスポンスでのみ返されます。すぐに安全に保存してください -- 後で取得することはできません。

フィールド

フィールド説明
keystring生のAPIキー(例:dm_live_abc123def456ghi789jkl012mno345)。一度だけ表示されます。
apiKeyobjectキーのメタデータオブジェクト(下記参照)。

apiKey オブジェクト:

フィールド説明
idstringAPIキーの一意の識別子。
userIdstringキーを所有するユーザーのID。
namestringキーのわかりやすいラベル。
prefixstringキーの先頭文字(識別用、例:dm_live_abc1)。
expiresAtstring | nullISO 8601の有効期限タイムスタンプ。キーが無期限の場合は null
lastUsedAtstring | nullキーが最後に使用されたISO 8601タイムスタンプ。未使用の場合は null
createdAtstringキーが作成されたISO 8601タイムスタンプ。
revokedbooleanキーが無効化されているかどうか。新規作成キーの場合は常に false

json
{
  "data": {
    "key": "dm_live_r4nd0mK3yV4lu3x9w8v7u6t5s4q3p2n1m0l9k8j7",
    "apiKey": {
      "id": "ak_1a2b3c4d5e6f7g8h",
      "userId": "uid_a1b2c3d4e5f6",
      "name": "Production Server",
      "prefix": "dm_live_r4nd",
      "expiresAt": "2025-02-18T10:00:00.000Z",
      "lastUsedAt": null,
      "createdAt": "2024-11-20T10:00:00.000Z",
      "revoked": false
    }
  }
}

エラー

ステータスコード説明
400MAX_KEYS_REACHEDアクティブなAPIキーの上限10個に達しました。新しいキーを作成する前に、既存のキーを無効化してください。
401UNAUTHORIZEDAPIキー/トークンが欠落、無効、または期限切れです。

DocMap API ドキュメント