リソースオーナー用API仕様
このドキュメントでは、リソースオーナー(エンドユーザー)が使用するAPIの仕様を説明します。 身元確認申込みAPIを含みます。
概要
リソースオーナーAPIは、ユーザー自身のプロフィール情報の取得・更新、認証デバイスの管理、身元確認の申込みなどをサポートします。 全てのAPIはリソースオーナーのアクセストークンによる認証が必要です。
共通仕様
認証
- Bearer Token: 全てのAPIでリソースオーナーのアクセストークンが必要です
- Authorization ヘッダー:
Authorization: Bearer {access_token}
レスポンス形式
- Content-Type:
application/json - 文字エンコーディング: UTF-8
エラーレスポンス
共通エラー形式
全てのリソースオーナーAPIは、エラー時に以下の形式でレスポンスを返します。
{
"error": "error_code",
"error_description": "エラーの詳細説明",
"errors": [
{
"field": "field_name",
"message": "field specific error message"
}
]
}
注: errors フィールドは検証エラー時のみ含まれます。
HTTPステータスコード
| HTTPステータス | 説明 | 発生条件 |
|---|---|---|
200 | 成功 | リクエストが正常に処理された |
400 | クライアントエラー | リクエストパラメータが不正、検証エラー |
401 | 認証エラー | アクセストークンが無効または期限切れ |
403 | 権限エラー | リソースへのアクセス権限がない |
404 | リソース不明 | 指定されたリソースが存在しない |
409 | 競合エラー | リソースの状態が競合している(例:重複申込み) |
429 | レート制限 | リクエスト数が上限を超えた |
500 | サーバーエラー | サーバー内部エラー |
503 | サービス利用不可 | サービスが一時的に利用できない |
504 | ゲートウェイタイムアウト | 外部サービスからのレスポンスがタイムアウトした |
エラーコード
認証エラー(401)
{
"error": "invalid_token",
"error_description": "The access token is invalid or expired"
}
発生条件:
- アクセストークンが無効
- アクセストークンの期限が切れている
- トークンの署名検証に失敗
権限エラ ー(403)
{
"error": "insufficient_scope",
"error_description": "The request requires higher privileges than provided by the access token"
}
発生条件:
- 必要なスコープがトークンに含まれていない
- リソースへのアクセス権限がない
リソース不明(404)
{
"error": "not_found",
"error_description": "The requested resource was not found"
}
発生条件:
- 指定された申込みIDが存在しない
- ユーザーに紐づくリソースが見つからない
検証エラー(400)
{
"error": "invalid_request",
"error_description": "Request validation failed",
"errors": [
{
"field": "date_of_birth",
"message": "date format must be YYYY-MM-DD"
},
{
"field": "email",
"message": "invalid email format"
}
]
}
発生条件:
- リクエストボディの形式が不正
- 必須パラメータが欠落
- パラメータの値が制約に違反
競合エラー(409)
{
"error": "conflict",
"error_description": "A verification application is already in progress"
}
発生条件:
- 同じ種別の申込みが既に進行中
- リソースの状態が要求と矛盾している
レート制限(429)
{
"error": "too_many_requests",
"error_description": "Too many requests. Please try again later.",
"retry_after": 60
}
発生条件:
- 短時間に過剰なリクエストを送信
- レート制限の上限に到達