APIキーを作成
POST /v1/api-keys
DocMap APIの認証に使用する新しいAPIキーを作成します。各ユーザーは最大10個のアクティブ(無効化されていない)APIキーを保持できます。
試してみる
このエンドポイントを Swagger UI でインタラクティブにテストできます。
認証が必要です
Authorization ヘッダーにAPIキーを含めてください。
リクエスト
ヘッダー
| ヘッダー | 値 | 必須 |
|---|---|---|
Authorization | Bearer <token> | はい |
Content-Type | application/json | はい |
ボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | はい | キーのわかりやすいラベル(1〜100文字)。 |
expiresIn | string | はい | 有効期限: "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
生のキー値はこのレスポンスでのみ返されます。すぐに安全に保存してください -- 後で取得することはできません。
フィールド
| フィールド | 型 | 説明 |
|---|---|---|
key | string | 生のAPIキー(例:dm_live_abc123def456ghi789jkl012mno345)。一度だけ表示されます。 |
apiKey | object | キーのメタデータオブジェクト(下記参照)。 |
apiKey オブジェクト:
| フィールド | 型 | 説明 |
|---|---|---|
id | string | APIキーの一意の識別子。 |
userId | string | キーを所有するユーザーのID。 |
name | string | キーのわかりやすいラベル。 |
prefix | string | キーの先頭文字(識別用、例:dm_live_abc1)。 |
expiresAt | string | null | ISO 8601の有効期限タイムスタンプ。キーが無期限の場合は null。 |
lastUsedAt | string | null | キーが最後に使用されたISO 8601タイムスタンプ。未使用の場合は null。 |
createdAt | string | キーが作成されたISO 8601タイムスタンプ。 |
revoked | boolean | キーが無効化されているかどうか。新規作成キーの場合は常に 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
}
}
}エラー
| ステータス | コード | 説明 |
|---|---|---|
400 | MAX_KEYS_REACHED | アクティブなAPIキーの上限10個に達しました。新しいキーを作成する前に、既存のキーを無効化してください。 |
401 | UNAUTHORIZED | APIキー/トークンが欠落、無効、または期限切れです。 |
