メインコンテンツまでスキップ

リソースオーナー用API (1.0.0)

Download OpenAPI specification:Download

リソースオーナー(エンドユーザー)本人が、自身のアカウント・連絡先・認証手段・身元確認を操作するためのエンドポイント仕様

ユーザー

リソースオーナー(ユーザー)本人による操作に関するAPI群。

主に以下のような操作を提供します:

  • 連絡先(メールアドレス / 電話番号)の確認・変更
  • パスワードの変更・リセット
  • 多要素認証(MFA)の登録要求(FIDO-UAF など)
  • 認証デバイスの部分更新・削除
  • 自身のアカウント削除

アクセストークンを用いて、ユーザー本人による安全な自己操作を実現します。

ユーザー削除

ユーザー(リソースオーナー)自身の削除を行う。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string

Responses

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

MFAの登録要求

FIDO-UAFなどの登録要求の依頼を行う。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
mfa-operation-type
required
string
Example: fido-uaf-registration
Request Body schema: application/json
optional

MFAの仕様に応じたパラメータをBodyに設定する。

One of
app_name
string

アプリ名(例:◯◯アプリ)。

platform
string

デバイスのプラットフォーム名(例:"Android", "iOS" など)。

os
string

オペレーティングシステムのバージョン情報(例:"Android15")。

model
string

デバイスモデル名(例:"galaxy z fold 6")。

locale
string

言語設定。(例:ja, en)

notification_channel
string
Enum: "fcm" "apns"

通知チャネル("fcm", "apns")。Firebase Cloud Messaging(Android)またはApple Push Notification Service(iOS)を指定。

notification_token
string

通知を送信するためのトークン(例:FCMトークン)。

priority
integer >= 1

このデバイスの通知の優先順位(例: 1, 50, 100)。 数値が大きいほど優先度が高く、100が最も高い。 省略された場合は、認証デバイスの登録数の連番となる。

Responses

Request samples

Content type
application/json
Example
{
  • "app_name": "string",
  • "platform": "string",
  • "os": "string",
  • "model": "string",
  • "locale": "string",
  • "notification_channel": "fcm",
  • "notification_token": "string",
  • "priority": 1
}

Response samples

Content type
application/json
{
  • "id": "string"
}

認証デバイス部分更新API

認証デバイスの属性情報の部分更新の依頼を行う。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
device-id
required
string
Example: 0048607e-9b89-4ad9-a203-976b7f72f5f2
Request Body schema: application/json
optional
app_name
string

アプリ名(例:◯◯アプリ)。

platform
string

デバイスのプラットフォーム名(例:"Android", "iOS" など)。

os
string

オペレーティングシステムのバージョン情報(例:"Android15")。

model
string

デバイスモデル名(例:"galaxy z fold 6")。

locale
string

言語設定。(例:ja, en)

notification_channel
string
Enum: "fcm" "apns"

通知チャネル("fcm", "apns")。Firebase Cloud Messaging(Android)またはApple Push Notification Service(iOS)を指定。

notification_token
string

通知を送信するためのトークン(例:FCMトークン)。

priority
integer >= 1

このデバイスの通知の優先順位(例: 1, 50, 100)。 数値が大きいほど優先度が高く、100が最も高い。 省略された場合は、認証デバイスの登録数の連番となる。

Responses

Request samples

Content type
application/json
{
  • "app_name": "string",
  • "platform": "string",
  • "os": "string",
  • "model": "string",
  • "locale": "string",
  • "notification_channel": "fcm",
  • "notification_token": "string",
  • "priority": 1
}

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "User does not have authentication device (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).",
  • "error_messages": [
    ]
}

認証デバイス削除API

認証デバイスの登録解除を行う。削除後、当該デバイスでの認証はできなくなる。

セキュリティイベント

  • authentication_device_deregistration_success / authentication_device_deregistration_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
device-id
required
string
Example: 0048607e-9b89-4ad9-a203-976b7f72f5f2

Responses

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

メールアドレスの確認(開始)

認証済みユーザーが、現在アカウントに登録されているメールアドレスの到達性を確認するフローを開始します。

送信先はサーバが決めます。 リクエストボディは受け取らず、new_value を送っても無視されるため、 このエンドポイントは送信先を差し替えられません。メールアドレスを変える場合は /v1/me/email/change を 使います(必要スコープが異なります)。

アカウントにメールアドレスが登録されていない場合は 400。

直前の送信から resend_cooldown_seconds(未設定は 60 秒)以内の再送も 400。 クールダウンは「ユーザー + 操作」単位なので、変更フロー側とは独立です。

セキュリティイベント

  • email_verify_request_success / email_verify_request_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

メールアドレスの確認(コード検証・確定)

コードを検証し、email_verified: true を確定します。メールアドレス自体は変わりません。

セキュリティイベント

  • email_verify_success / email_verify_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
id
required
string

チャレンジID(開始レスポンスの id)

Request Body schema: application/json
required
verification_code
required
string

Responses

Request samples

Content type
application/json
{
  • "verification_code": "123456"
}

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

メールアドレスの変更(開始)

認証済みユーザーが自分のメールアドレスを別の値に変更するフローを開始します。 確認コードは変更先にメールで送信されます。

openid ではなく専用スコープ email:change が必要です。 identity policy が EMAIL の場合、 確定後は新しいメールアドレスがログイン識別子(preferred_username)になるため、通常の OIDC トークンでは 実行できないようにしています。

new_value に現在の値を指定した場合は 400(/v1/me/email/verification を使います)。

直前の送信から resend_cooldown_seconds(未設定は 60 秒)以内の再送も 400。 宛先を呼び出し側が指定できるため、無制限な送信を防ぐための制限です。 クールダウンは「ユーザー + 操作」単位なので、もう一方のチャネルや確認フローは通ります。

セキュリティイベント

  • email_change_request_success / email_change_request_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
Request Body schema: application/json
required
new_value
required
string <= 255 characters ^[^\s@]+@[^\s@]+\.[^\s@]+$

新しいメールアドレス。 送信前に形式・型検証され、不正なら 400(コードは送信されない)。 非文字列(数値・オブジェクト・配列・null・真偽値)も拒否されます。

Responses

Request samples

Content type
application/json
{
  • "new_value": "new@example.com"
}

Response samples

Content type
application/json
{
  • "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

メールアドレスの変更(コード検証・確定)

コードを検証し、メールアドレスを確定します。email が更新され email_verified: true になります。 identity policy が EMAIL の場合、確定後は新しいメールアドレスがログイン識別子になり、 旧メールアドレスでのログインはできなくなります。

セキュリティイベント

  • email_change_success / email_change_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
id
required
string

チャレンジID(開始レスポンスの id)

Request Body schema: application/json
required
verification_code
required
string

Responses

Request samples

Content type
application/json
{
  • "verification_code": "123456"
}

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

電話番号の確認(開始)

認証済みユーザーが、現在アカウントに登録されている電話番号の到達性を確認するフローを開始します。

送信先はサーバが決めます。 リクエストボディは受け取らず、new_value を送っても無視されるため、 このエンドポイントは送信先を差し替えられません。電話番号を変える場合は /v1/me/phone/change を 使います(必要スコープが異なります)。

アカウントに電話番号が登録されていない場合は 400。

直前の送信から resend_cooldown_seconds(未設定は 60 秒)以内の再送も 400。 クールダウンは「ユーザー + 操作」単位なので、変更フロー側とは独立です。

セキュリティイベント

  • phone_verify_request_success / phone_verify_request_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

電話番号の確認(コード検証・確定)

コードを検証し、phone_number_verified: true を確定します。電話番号自体は変わりません。

セキュリティイベント

  • phone_verify_success / phone_verify_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
id
required
string

チャレンジID(開始レスポンスの id)

Request Body schema: application/json
required
verification_code
required
string

Responses

Request samples

Content type
application/json
{
  • "verification_code": "123456"
}

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

電話番号の変更(開始)

認証済みユーザーが自分の電話番号を別の値に変更するフローを開始します。 確認コードは変更先にSMSで送信されます。

openid ではなく専用スコープ phone:change が必要です。 identity policy が PHONE の場合、 確定後は新しい電話番号がログイン識別子(preferred_username)になるため、通常の OIDC トークンでは 実行できないようにしています。

new_value に現在の値を指定した場合は 400(/v1/me/phone/verification を使います)。

直前の送信から resend_cooldown_seconds(未設定は 60 秒)以内の再送も 400。 宛先を呼び出し側が指定できるため、無制限な送信を防ぐための制限です。 クールダウンは「ユーザー + 操作」単位なので、もう一方のチャネルや確認フローは通ります。

セキュリティイベント

  • phone_change_request_success / phone_change_request_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
Request Body schema: application/json
required
new_value
required
string <= 32 characters ^[+0-9][0-9 ()\-]{2,31}$

新しい電話番号。E.164 を推奨しますが、国内表記(ハイフン区切り等)も受け付けます(テナントごとの表記揺れを弾かないため、意図的に緩い検証です)。 送信前に形式・型検証され、不正なら 400(コードは送信されない)。 非文字列(数値・オブジェクト・配列・null・真偽値)も拒否されます。

Responses

Request samples

Content type
application/json
{
  • "new_value": "+819012345678"
}

Response samples

Content type
application/json
{
  • "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

電話番号の変更(コード検証・確定)

コードを検証し、電話番号を確定します。phone_number が更新され phone_number_verified: true になります。 identity policy が PHONE の場合、確定後は新しい電話番号がログイン識別子になり、 旧電話番号でのログインはできなくなります。

セキュリティイベント

  • phone_change_success / phone_change_failure
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
id
required
string

チャレンジID(開始レスポンスの id)

Request Body schema: application/json
required
verification_code
required
string

Responses

Request samples

Content type
application/json
{
  • "verification_code": "123456"
}

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}

パスワード変更

認証済みユーザーのパスワードを変更します。

このAPIは以下の手順でパスワード変更を行います:

  1. 現在のパスワードの検証
  2. 新しいパスワードのポリシー検証(テナント設定に基づく)
  3. パスワードの更新
  4. セキュリティイベントの発行(password_change_success/password_change_failure)

パスワードポリシー

テナントごとに以下のポリシーを設定可能(identity_policy_config.password_policy):

  • min_length: 最小文字数(デフォルト: 8)
  • require_uppercase: 大文字必須(デフォルト: false)
  • require_lowercase: 小文字必須(デフォルト: false)
  • require_digit: 数字必須(デフォルト: false)
  • require_special_char: 記号必須(デフォルト: false)

デフォルトポリシーはNIST SP 800-63Bの推奨に従い、最小8文字のみを要求します。

セキュリティイベント

パスワード変更の成功・失敗時に以下のセキュリティイベントが発行されます:

  • password_change_success: パスワード変更成功時
  • password_change_failure: パスワード変更失敗時(検証エラー等)

参考実装

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
Request Body schema: application/json
required
current_password
required
string

現在のパスワード。

このパスワードが正しいかどうかを検証してから新しいパスワードへの変更を行います。

new_password
required
string

新しいパスワード。

テナントに設定されたパスワードポリシー(identity_policy_config.password_policy)に従って検証されます。

デフォルトポリシー:

  • 最小8文字(NIST SP 800-63B推奨)

設定可能なポリシー:

  • min_length: 最小文字数
  • require_uppercase: 大文字を含む
  • require_lowercase: 小文字を含む
  • require_digit: 数字を含む
  • require_special_char: 記号を含む

Responses

Request samples

Content type
application/json
{
  • "current_password": "CurrentPassword123",
  • "new_password": "NewSecurePassword456"
}

Response samples

Content type
application/json
{
  • "message": "Password changed successfully."
}

パスワードリセット

セルフサービスでパスワードをリセットします。

認可フロー

このAPIは特別なスコープ password:reset が必要です。 通常のログインフローではなく、以下の手順で取得します:

  1. Email認証フローで認可リクエスト開始(scope=password:reset)
  2. Email認証チャレンジで検証コード送信
  3. Email認証検証でユーザー認証
  4. 認可コード取得
  5. トークンエンドポイントで password:reset スコープ付きアクセストークン取得
  6. このAPIでパスワードリセット実行

password/change との違い

API 必要なもの スコープ ユースケース
/v1/me/password/change 現在のパスワード openid ログイン中のパスワード変更
/v1/me/password/reset Email認証等 password:reset パスワードを忘れた場合

重要: このAPIは現在のパスワードを必要としません。代わりに、Email認証などの別の認証方式で取得した password:reset スコープ付きトークンを使用します。

パスワードポリシー

テナントごとに以下のポリシーを設定可能(identity_policy_config.password_policy):

  • min_length: 最小文字数(デフォルト: 8)
  • require_uppercase: 大文字必須(デフォルト: false)
  • require_lowercase: 小文字必須(デフォルト: false)
  • require_number: 数字必須(デフォルト: false)
  • require_special_char: 記号必須(デフォルト: false)

デフォルトポリシーはNIST SP 800-63Bの推奨に従い、最小8文字のみを要求します。

セキュリティイベント

パスワードリセットの成功・失敗時に以下のセキュリティイベントが発行されます:

  • password_reset_success: パスワードリセット成功時
  • password_reset_failure: パスワードリセット失敗時(ポリシー違反等)

参考

  • Issue #1002: Self-service password reset using email authentication
  • NIST SP 800-63B
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
Request Body schema: application/json
required
new_password
required
string [ 8 .. 72 ] characters

新しいパスワード

Responses

Request samples

Content type
application/json
{
  • "new_password": "NewSecurePassword456!"
}

Response samples

Content type
application/json
{
  • "message": "Password changed successfully."
}

身元確認申込み

idp-server は身元確認済みID(verified ID)を提供するために、外部のサービスと連携した申込み・審査・完了登録の一連のフローを管理できます。

このAPIを利用することで、ユーザーから収集した情報を外部の身元確認サービスに送信し、確認済みクレーム(verified_claims)として idp-server に反映できます。

  • Control Plane APIでテンプレートを登録
  • ユーザーが申込みを行うと、テンプレートに従い外部APIと連携
  • コールバック等で審査結果・verified_claims登録用データを受信
  • 認証時、verified_claimsを含んだIDトークンやUserInfoを返却

テンプレートでは各種マッピングルール、JSON Schemaによるバリデーション、外部APIとの連携方式(OAuth2, HMAC, なし)を柔軟に定義可能です。

アクセストークンを用いて、ユーザー本人による安全な自己操作を実現します。

身元確認申込み

指定された verification-type(テンプレート種別)および verification-process(申込み処理タイプ)に従い、 身元確認申込みの初期リクエストを実行します。

レスポンスに後続で利用するidが返却されます。

このAPIは、あらかじめ Control Plane API により定義されたテンプレートに基づいて外部サービスに対して申請データを送信し、 審査プロセスの開始またはeKYCプロセスの起動を行います。

  • verification-type はテンプレートの type に対応
  • verification-process はテンプレート内の processes のキーに対応(例: apply, request-ekyc など)

リクエストボディはテンプレートで定義された request.schema に基づいてバリデーションされ、 必須項目の漏れや形式の不正がある場合はエラーになります。

正常に処理された場合は、response.body_mapping_rules に従いレスポンスを返却します。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
verification-type
required
string
Example: my_number
verification-process
required
string
Example: capture
Request Body schema: application/json
optional

テンプレートで定義されたスキーマに従うリクエストボディ。 内容は verification-type および verification-process ごとに異なる。

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "last_name": "伊藤",
  • "first_name": "一朗",
  • "birthdate": "1990-01-01",
  • "email_address": "ichiro@example.com"
}

Response samples

Content type
application/json
{
  • "id": "565b030e-04b5-45eb-989e-136e3623dc7d",
  • "application_number": "abcdefg012345"
}

身元確認申込み一覧取得

身元確認の申込みの一覧を取得する。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
query Parameters
id
string <uuid>

身元確認申請のID(UUID形式)での絞り込み

type
string

申込み種別(verification-type)での絞り込み

client_id
string

申請時に使用されたクライアントID

status
string

申請のステータス

application_details.<key>
string

申込み詳細情報のオブジェクトのkeyに対する検索(keyは具体的な値の設定が必要)

external_application_details.<key>
string

外部申込み結果の詳細情報のオブジェクトのkeyに対する検索(keyは具体的な値の設定が必要)

from
string <date-time>

絞り込み開始日時(ISO 8601形式)

to
string <date-time>

絞り込み終了日時(ISO 8601形式)

limit
integer
Default: 20

取得件数の上限(デフォルトは20件)

offset
integer
Default: 0

ページネーション用のオフセット(デフォルトは0)

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total_count": 0,
  • "limit": 0,
  • "offset": 0
}

身元確認申込み後続処理

既存の身元確認申込み(application)に対して、定義済みテンプレートおよびプロセスに従った後続の処理を実行します。

このAPIは、初回申込み(apply等)によって発行された申込みID(id)を指定し、 対象となる申込みに対して、eKYC完了通知・審査要求・外部サービスとの再連携などのアクションを柔軟に実行可能です。

  • verification-type はテンプレートの type に対応
  • id は既存の申込みIDを指定
  • verification-process はテンプレートの processes 内で定義された処理(例: complete-ekyc, callback-result)

リクエストボディは、該当プロセスで必要とされる request.schema に基づいてバリデーションされ、 外部サービスとの連携や verified_claims 登録等が自動的に実行されます。

正常に処理された場合は、response.body_mapping_rules に従いレスポンスを返却します。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
verification-type
required
string
Example: my_number
id
required
string <uuid>
verification-process
required
string
Example: capture
Request Body schema: application/json
optional
object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "property1": null,
  • "property2": null
}

身元確認申込み削除

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
verification-type
required
string
Example: my_number
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{ }

身元確認結果

身元確認結果を確認するためのAPI アクセストークンを用いて、ユーザー本人による安全な自己操作を実現します。

身元確認結果の一覧取得

身元確認結果の一覧を取得します。

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
query Parameters
id
string <uuid>

身元確認結果のID(UUID形式)での絞り込み

application_id
string <uuid>

身元確認申込みのID(UUID形式)での絞り込み

type
string

申込み種別(verification-type)での絞り込み

external_application_id
string

外部連携先の申請ID

verified_claims.<key>
string

verified_claimsのオブジェクトのkeyに対する検索(keyは具体的な値の設定が必要)

verified_at_from
string <date-time>

verified_atに対する絞り込み 開始日時(ISO 8601形式)

verified_at_to
string <date-time>

verified_atに対する絞り込み 終了日時(ISO 8601形式)

verified_until_from
string <date-time>

verified_untilに対する絞り込み 開始日時(ISO 8601形式)

verified_until_to
string <date-time>

verified_untilに対する絞り込み 終了日時(ISO 8601形式)

limit
integer
Default: 20

取得件数の上限(デフォルトは20件)

offset
integer
Default: 0

ページネーション用のオフセット(デフォルトは0)

Responses

Response samples

Content type
application/json
{
  • "list": [
    ],
  • "total_count": 0,
  • "limit": 0,
  • "offset": 0
}

外部アカウント連携

認証済みユーザーが、自分のアカウントに外部IdPのアカウントを追加で紐付けるためのAPI群。 紐付けの過程で外部IdPが発行したトークンを暗号化して保管します。

ここにあるのはアクセストークンで呼ぶ部分(開始・確定・一覧・解除)です。 ブラウザ遷移(/v1/linking/start・/v1/linking/callback/{provider})と保管トークンの取得は RP向けAPI にあります。

📘 外部IdPアカウント連携

外部アカウント連携の開始

認証済みユーザーの外部IdPアカウント連携を開始します。アクセストークンのユーザーとクライアントを連携セッションに結び付け、 ブラウザで開く start_url を返します。

RP は start_url をブラウザのトップレベル遷移(location.href など)で開きます。iframe の中では連携は成立しません。 以降のブラウザ遷移(/v1/linking/start・/v1/linking/callback/{provider})は RP向けAPI を参照してください。

  • redirect_uri は連携の終わりにブラウザを戻す先です。クライアント設定の extension.linking_return_uris と完全一致で照合します。
  • 連携セッションの有効期間は 900 秒です(expires_in)。

必要なスコープ

linked_account:manage

Authorizations:
OAuth2
path Parameters
tenant-id
required
string
provider
required
string
Example: example-idp

連携先の設定名(federation-configurations の sso_provider、type: oidc)

Request Body schema: application/json
required
redirect_uri
required
string <uri>

連携の終わりにブラウザを戻す先。クライアント設定の extension.linking_return_uris と完全一致で照合します。 認可の redirect_uris とは別の設定です。

scope
string

外部IdPに要求するスコープ(スペース区切り)。省略すると連携先設定の scopes_supported を使います。

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json

外部アカウント連携の確定

コールバックで預けた外部IdPのトークンを、アクセストークンのユーザーの連携として確定します。 ブラウザが redirect_uri?linking=done&state=... に戻ってきたら、その state を送ります。

次の全てを満たすときだけ確定します。

  • state に対応する連携セッションがあり、期限内である
  • アクセストークンのクライアントが、連携を開始したクライアントと同じである(同じユーザーでも別のクライアントのトークンは 403)
  • アクセストークンのユーザーが、連携を開始したユーザーと同じである
  • 連携セッションがコールバックまで進んでおり、まだ確定されていない

同じユーザーが同じ外部アカウントをもう一度連携した場合はエラーにならず、既存の連携を更新します(alias は保たれます)。 連携先が 1 件だけを許す(multiple_accounts: false、既定)ときは、外部アカウントを名乗らない連携先でも、もう一度の連携は既存の 1 件の更新になります。別の外部アカウントは 409 です。

必要なスコープ

linked_account:manage

セキュリティイベント

  • external_account_linked / external_account_link_failed
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
Request Body schema: application/json
required
state
required
string

開始レスポンスの state(戻り先の state クエリと同じ値)

Responses

Request samples

Content type
application/json
{
  • "state": "Xb3k...Qz"
}

Response samples

Content type
application/json
{
  • "alias": "example-idp-k3f9x2qa",
  • "provider": "example-idp",
  • "federated_username": "user@example.com",
  • "scope": "openid email offline_access",
  • "access_token_expires_at": "2026-10-21T11:15:30.123456",
  • "refresh_token_expires_at": "2026-10-22T10:15:30.123456",
  • "created_at": "2026-10-21T10:15:30.123456",
  • "updated_at": "2026-10-21T10:15:30.123456"
}

外部アカウント連携の一覧

アクセストークンのユーザーの外部アカウント連携を一覧で返します。保管しているトークンは含みません。

必要なスコープ

linked_account:read または linked_account:manage

Authorizations:
OAuth2OAuth2
path Parameters
tenant-id
required
string

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

外部アカウント連携の解除

アクセストークンのユーザーの連携を 1 件解除します。対象は呼び出したユーザー自身の連携だけで、他人の alias は 404 になります。

行を消す前に、保管しているトークンを外部IdPの失効エンドポイント(RFC 7009)で失効させます。 失効はベストエフォートで、revocation_endpoint が未設定・外部IdPに届かない・失効を拒否された場合も連携は解除されます。

必要なスコープ

linked_account:manage

セキュリティイベント

  • external_account_unlinked
Authorizations:
OAuth2
path Parameters
tenant-id
required
string
alias
required
string
Example: example-idp-k3f9x2qa

連携の識別子(一覧の alias)

Responses

Response samples

Content type
application/json
Example
{
  • "error": "invalid_token",
  • "error_description": "The access token is invalid or expired"
}