コンテンツにスキップ

EndUserユーザー管理

概要

EndUserユーザー管理APIは、テナント内のエンドユーザーアカウントを管理するためのエンドポイントを提供します。ユーザーの作成、更新、削除に加え、停止やロック、匿名化などの操作が可能です。

エンドポイント一覧

メソッドエンドポイント説明
GET/api/admin/usersユーザー一覧取得
GET/api/admin/users/:idユーザー詳細取得
POST/api/admin/usersユーザー作成
PUT/api/admin/users/:idユーザー更新
DELETE/api/admin/users/:idユーザー削除
POST/api/admin/users/:id/suspendユーザー停止
POST/api/admin/users/:id/unsuspendユーザー停止解除
POST/api/admin/users/:id/lockユーザーロック
POST/api/admin/users/:id/unlockユーザーロック解除
POST/api/admin/users/:id/anonymizeユーザー匿名化
POST/api/admin/users/:id/retry-piiPII同期リトライ
DELETE/api/admin/users/:id/piiPII削除

ユーザー一覧取得

テナント内のユーザー一覧を取得します。

エンドポイント

GET /api/admin/users

クエリパラメータ

パラメータ必須説明
limitinteger-取得件数(デフォルト: 20、最大: 100)
cursorstring-ページネーションカーソル
searchstring-検索クエリ(メール、名前)
statusstring-ステータスフィルタ(active, suspended, locked
rolestring-ロールフィルタ
created_afterinteger-作成日時(UNIXタイムスタンプ)以降
created_beforeinteger-作成日時(UNIXタイムスタンプ)以前

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/users?limit=20&status=active" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"id": "usr_abc123",
"email": "[email protected]",
"name": "山田 太郎",
"status": "active",
"email_verified": true,
"created_at": 1705881600,
"updated_at": 1705968000,
"last_login_at": 1706054400
}
],
"total": 150,
"cursor": "eyJpZCI6InVzcl9hYmMxMjMifQ=="
}

ユーザー詳細取得

指定されたユーザーの詳細情報を取得します。

エンドポイント

GET /api/admin/users/:id

パスパラメータ

パラメータ必須説明
idstringユーザーID

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/users/usr_abc123" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "usr_abc123",
"email": "[email protected]",
"name": "山田 太郎",
"status": "active",
"email_verified": true,
"phone": "+81-90-1234-5678",
"phone_verified": true,
"profile": {
"picture": "https://example.com/avatar.jpg",
"locale": "ja",
"timezone": "Asia/Tokyo"
},
"metadata": {
"department": "Engineering"
},
"created_at": 1705881600,
"updated_at": 1705968000,
"last_login_at": 1706054400,
"login_count": 42,
"failed_login_attempts": 0
}

エラーレスポンス

HTTPステータスエラーコード説明
404user_not_foundユーザーが見つからない

ユーザー作成

新しいユーザーを作成します。

エンドポイント

POST /api/admin/users

リクエストボディ

フィールド必須説明
emailstringメールアドレス
namestring-表示名
passwordstring-パスワード(指定しない場合は招待メール送信)
phonestring-電話番号
email_verifiedboolean-メール確認済みとしてマーク
phone_verifiedboolean-電話番号確認済みとしてマーク
profileobject-プロフィール情報
metadataobject-カスタムメタデータ
send_welcome_emailboolean-ウェルカムメール送信(デフォルト: true)

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"name": "新規 ユーザー",
"password": "SecurePassword123!",
"email_verified": true,
"profile": {
"locale": "ja",
"timezone": "Asia/Tokyo"
},
"metadata": {
"department": "Sales"
}
}'

レスポンス例

{
"id": "usr_xyz789",
"email": "[email protected]",
"name": "新規 ユーザー",
"status": "active",
"email_verified": true,
"created_at": 1706140800,
"updated_at": 1706140800
}

エラーレスポンス

HTTPステータスエラーコード説明
409email_already_existsメールアドレスが既に使用されている
422validation_error入力データが不正

ユーザー更新

既存のユーザー情報を更新します。

エンドポイント

PUT /api/admin/users/:id

パスパラメータ

パラメータ必須説明
idstringユーザーID

リクエストボディ

フィールド必須説明
emailstring-メールアドレス
namestring-表示名
phonestring-電話番号
email_verifiedboolean-メール確認状態
phone_verifiedboolean-電話番号確認状態
profileobject-プロフィール情報
metadataobject-カスタムメタデータ

リクエスト例

Terminal window
curl -X PUT "https://{tenant-domain}/api/admin/users/usr_abc123" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"name": "山田 太郎(更新)",
"metadata": {
"department": "Marketing"
}
}'

レスポンス例

{
"id": "usr_abc123",
"email": "[email protected]",
"name": "山田 太郎(更新)",
"status": "active",
"updated_at": 1706227200
}

ユーザー削除

ユーザーを削除します。

エンドポイント

DELETE /api/admin/users/:id

パスパラメータ

パラメータ必須説明
idstringユーザーID

リクエスト例

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/users/usr_abc123" \
-H "Authorization: Bearer {token}"

レスポンス

ステータスコード 204 No Content(ボディなし)


ユーザー停止

ユーザーを一時停止します。停止中のユーザーはログインできません。

エンドポイント

POST /api/admin/users/:id/suspend

パスパラメータ

パラメータ必須説明
idstringユーザーID

リクエストボディ

フィールド必須説明
reasonstring-停止理由

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/suspend" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"reason": "利用規約違反"
}'

レスポンス例

{
"id": "usr_abc123",
"status": "suspended",
"suspended_at": 1706313600,
"suspended_reason": "利用規約違反"
}

ユーザー停止解除

停止中のユーザーを再度有効にします。

エンドポイント

POST /api/admin/users/:id/unsuspend

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/unsuspend" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "usr_abc123",
"status": "active",
"unsuspended_at": 1706400000
}

ユーザーロック

ユーザーをロックします。通常、不正アクセスの疑いがある場合に使用します。

エンドポイント

POST /api/admin/users/:id/lock

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/lock" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"reason": "不審なログイン試行を検出"
}'

ユーザーロック解除

ロックされたユーザーを解除します。

エンドポイント

POST /api/admin/users/:id/unlock

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/unlock" \
-H "Authorization: Bearer {token}"

ユーザー匿名化

GDPR等のプライバシー規制に対応するため、ユーザーの個人情報を匿名化します。

エンドポイント

POST /api/admin/users/:id/anonymize

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/anonymize" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "usr_abc123",
"status": "anonymized",
"anonymized_at": 1706486400
}

PII同期リトライ

PIIデータベースとの同期に失敗したユーザーに対して、同期をリトライします。

エンドポイント

POST /api/admin/users/:id/retry-pii

リクエスト例

Terminal window
curl -X POST "https://{tenant-domain}/api/admin/users/usr_abc123/retry-pii" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "usr_abc123",
"pii_sync_status": "synced",
"pii_synced_at": 1706572800
}

PII削除

ユーザーのPII(個人識別情報)のみを削除します。コアデータは保持されます。

エンドポイント

DELETE /api/admin/users/:id/pii

リクエスト例

Terminal window
curl -X DELETE "https://{tenant-domain}/api/admin/users/usr_abc123/pii" \
-H "Authorization: Bearer {token}"

レスポンス

ステータスコード 204 No Content(ボディなし)