openapi: 3.0.3
info:
  title: idp-server コントロールプレーン クライアント管理 API
  description: クライアントの管理API仕様書
  version: 1.0.0
  contact:
    name: idp-server OSS
servers:
- url: http://localhost:8080
tags:
- name: organization-client
  description: 組織レベルクライアント管理
paths:
  /v1/management/organizations/{organization-id}/tenants/{tenant-id}/clients:
    parameters:
    - $ref: '#/components/parameters/OrganizationId'
    - $ref: '#/components/parameters/TenantId'
    post:
      summary: Create client within organization tenant
      description: 組織内の特定のテナントに新しいOAuth/OIDCクライアントを作成します
      tags:
      - organization-client
      parameters:
      - $ref: '#/components/parameters/DryRun'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientCreateRequest'
      responses:
        '201':
          description: クライアントの作成が成功しました
          content:
            application/json:
              schema:
                type: object
                properties:
                  dry_run:
                    type: boolean
                    description: ドライランかどうか
                  result:
                    $ref: '#/components/schemas/Client'
        '400':
          description: 無効なリクエストデータまたはバリデーションエラー
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: 権限不足または無効な組織・テナントアクセス
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 組織またはテナントが見つかりません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      summary: List clients within organization tenant
      description: 組織内の特定のテナントのOAuth/OIDCクライアント一覧を取得します
      tags:
      - organization-client
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - name: client_id
        in: query
        required: false
        schema:
          type: string
        description: 特定のクライアントIDでフィルタリング
      - name: client_name
        in: query
        required: false
        schema:
          type: string
        description: クライアント名でフィルタリング
      - name: client_id_alias
        in: query
        required: false
        schema:
          type: string
        description: クライアントID別名でフィルタリング
      - name: client_uri
        in: query
        required: false
        schema:
          type: string
        description: クライアントURIでフィルタリング
      - name: application_type
        in: query
        required: false
        schema:
          type: string
          enum:
          - web
          - native
        description: アプリケーションタイプでフィルタリング
      - name: grant_types
        in: query
        required: false
        schema:
          type: string
        description: グラントタイプでフィルタリング（カンマ区切り）
      - name: response_types
        in: query
        required: false
        schema:
          type: string
        description: レスポンスタイプでフィルタリング（カンマ区切り）
      - name: token_endpoint_auth_method
        in: query
        required: false
        schema:
          type: string
          enum:
          - client_secret_basic
          - client_secret_post
          - client_secret_jwt
          - private_key_jwt
          - tls_client_auth
          - self_signed_tls_client_auth
          - none
        description: トークンエンドポイント認証方式でフィルタリング
      - name: scope
        in: query
        required: false
        schema:
          type: string
        description: スコープでフィルタリング（スペース区切り）
      - name: enabled
        in: query
        required: false
        schema:
          type: boolean
        description: 有効/無効ステータスでフィルタリング
      - name: from
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: 作成日時の開始（ISO 8601形式）
      - name: to
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: 作成日時の終了（ISO 8601形式）
      responses:
        '200':
          description: クライアント一覧を正常に取得しました
          content:
            application/json:
              schema:
                type: object
                properties:
                  list:
                    type: array
                    items:
                      $ref: '#/components/schemas/Client'
                  total_count:
                    type: integer
                    description: クライアントの総数
                  limit:
                    type: integer
                    description: 返される結果の最大数
                  offset:
                    type: integer
                    description: スキップされた結果の数
        '403':
          description: 権限不足または無効な組織・テナントアクセス
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 組織またはテナントが見つかりません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/management/organizations/{organization-id}/tenants/{tenant-id}/clients/{client-id}:
    parameters:
    - $ref: '#/components/parameters/OrganizationId'
    - $ref: '#/components/parameters/TenantId'
    - $ref: '#/components/parameters/ClientId'
    get:
      summary: Get client within organization tenant
      description: 組織内のテナントの特定のOAuth/OIDCクライアントを取得します
      tags:
      - organization-client
      responses:
        '200':
          description: クライアントを正常に取得しました
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Client'
        '403':
          description: 権限不足または無効な組織・テナントアクセス
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 組織、テナント、またはクライアントが見つかりません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      summary: Update client within organization tenant
      description: 組織内のテナントの特定のOAuth/OIDCクライアントを更新します
      tags:
      - organization-client
      parameters:
      - $ref: '#/components/parameters/DryRun'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientUpdateRequest'
      responses:
        '200':
          description: クライアントを正常に更新しました
          content:
            application/json:
              schema:
                type: object
                properties:
                  dry_run:
                    type: boolean
                    description: ドライランかどうか
                  result:
                    $ref: '#/components/schemas/Client'
        '400':
          description: 無効なリクエストデータまたはバリデーションエラー
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: 権限不足または無効な組織・テナントアクセス
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 組織、テナント、またはクライアントが見つかりません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      summary: Delete client within organization tenant
      description: 組織内のテナントの特定のOAuth/OIDCクライアントを削除します
      tags:
      - organization-client
      parameters:
      - $ref: '#/components/parameters/DryRun'
      responses:
        '204':
          description: クライアントを正常に削除しました
        '200':
          description: ドライラン削除を正常に完了しました
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: 確認メッセージ
                  client_id:
                    type: string
                    description: 削除予定のクライアントのID
        '403':
          description: 権限不足または無効な組織・テナントアクセス
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: 組織、テナント、またはクライアントが見つかりません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    TenantId:
      name: tenant-id
      in: path
      required: true
      schema:
        type: string
      description: テナントの識別子
    OrganizationId:
      name: organization-id
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: 組織の識別子
    ClientId:
      name: client-id
      in: path
      required: true
      schema:
        type: string
      description: OAuth/OIDCクライアントの識別子
    DryRun:
      name: dry_run
      in: query
      required: false
      schema:
        type: boolean
        default: false
      description: trueの場合、リクエストの検証のみで実行はされません
    Limit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 20
      description: 返すアイテムの最大数
    Offset:
      name: offset
      in: query
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
      description: アイテムを返す開始インデックス
  schemas:
    Client:
      type: object
      required:
      - redirect_uris
      properties:
        client_id:
          type: string
          format: uuid
          description: 一意クライアント識別子。他の登録済みクライアントで現在有効であってはいけない。
        client_id_alias:
          type: string
          maxLength: 255
          description: 一意クライアントIDエイリアス
        client_secret:
          type: string
          description: OPTIONAL. Client Secret. The same Client Secret value MUST NOT be assigned to multiple Clients. This
            value is used by Confidential Clients to authenticate to the Token Endpoint, as described in Section 2.3.1 of
            OAuth 2.0, and for the derivation of symmetric encryption key values, as described in Section 10.2 of OpenID Connect
            Core 1.0 [OpenID.Core]. It is not needed for Clients selecting a token_endpoint_auth_method of private_key_jwt
            unless symmetric encryption will be used.
        redirect_uris:
          type: array
          items:
            type: string
          description: REQUIRED. Array of Redirection URI values used by the Client. One of these registered Redirection URI
            values MUST exactly match the redirect_uri parameter value used in each Authorization Request, with the matching
            performed as described in Section 6.2.1 of [RFC3986] (Simple String Comparison).
        response_types:
          type: array
          items:
            type: string
            enum:
            - code
            - token
            - id_token
            - code token
            - code token id_token
            - token id_token
            - code id_token
            - none
          default:
          - code
          description: OPTIONAL. JSON [RFC8259] array containing a list of the OAuth 2.0 response_type values that the Client
            is declaring that it will restrict itself to using. If omitted, the default is that the Client will use only the
            code Response Type.
        grant_types:
          type: array
          items:
            type: string
            enum:
            - authorization_code
            - implicit
            - refresh_token
            - password
            - client_credentials
            - urn:openid:params:grant-type:ciba
          default:
          - authorization_code
          description: 'OPTIONAL. JSON array containing a list of the OAuth 2.0 Grant Types that the Client is declaring that
            it will restrict itself to using. The Grant Type values used by OpenID Connect are: authorization_code: The Authorization
            Code Grant Type described in OAuth 2.0 Section 4.1. implicit: The Implicit Grant Type described in OAuth 2.0 Section
            4.2. refresh_token: The Refresh Token Grant Type described in OAuth 2.0 Section 6. The following table lists the
            correspondence between response_type values that the Client will use and grant_type values that MUST be included
            in the registered grant_types list: code: authorization_code id_token: implicit id_token token: implicit code
            id_token: authorization_code, implicit code token: authorization_code, implicit code id_token token: authorization_code,
            implicit If omitted, the default is that the Client will use only the authorization_code Grant Type.'
        application_type:
          type: string
          enum:
          - native
          - web
          default: web
          description: OPTIONAL. Kind of the application. The default, if omitted, is web. The defined values are native or
            web. Web Clients using the OAuth Implicit Grant Type MUST only register URLs using the https scheme as redirect_uris;
            they MUST NOT use localhost as the hostname. Native Clients MUST only register redirect_uris using custom URI
            schemes or loopback URLs using the http scheme; loopback URLs use localhost or the IP loopback literals 127.0.0.1
            or [::1] as the hostname. Authorization Servers MAY place additional constraints on Native Clients. Authorization
            Servers MAY reject Redirection URI values using the http scheme, other than the loopback case for Native Clients.
            The Authorization Server MUST verify that all the registered redirect_uris conform to these constraints. This
            prevents sharing a Client ID across different types of Clients.
        contacts:
          type: array
          items:
            type: string
          description: オプション。このクライアントの負責者のメールアドレスの配列。一部のプロバイダーでは、Webユーザーインターフェースでクライアント情報を変更できるようにするために使用される可能性がある。
        client_name:
          type: string
          description: オプション。エンドユーザーに提示されるクライアントの名前。必要に応じて、このクレームの異なる言語とスクリプトでの表現はセクション2.1で説明されたとおり表現される。
        logo_uri:
          type: string
          format: uri
          description: オプション。クライアントアプリケーションのロゴを参照するURL。存在する場合、サーバーは承認時にこの画像をエンドユーザーに表示すべきである。このフィールドの値は有効な画像ファイルを指さなければならない。
        client_uri:
          type: string
          format: uri
          description: オプション。クライアントのホームページのURL。このフィールドの値は有効なWebページを指さなければならない。存在する場合、サーバーはこのURLをエンドユーザーにフォロー可能な方式で表示すべきである。
        policy_uri:
          type: string
          format: uri
          description: オプション。リライイングパーティクライアントがエンドユーザーに提供する、プロファイルデータの使用方法について読むためのURL。このフィールドの値は有効なWebページを指さなければならない。提供された場合、OpenIDプロバイダーはこのURLをエンドユーザーに表示すべきである。
        tos_uri:
          type: string
          format: uri
          description: オプション。リライイングパーティクライアントがエンドユーザーに提供する、リライイングパーティの利用規約を読むためのURL。このフィールドの値は有効なWebページを指さなければならない。提供された場合、OpenIDプロバイダーはこのURLをエンドユーザーに表示すべきである。
        jwks_uri:
          type: string
          format: uri
          description: OPTIONAL. URL for the Client's JWK Set [JWK] document, which MUST use the https scheme. If the Client
            signs requests to the Server, it contains the signing key(s) the Server uses to validate signatures from the Client.
            The JWK Set MAY also contain the Client's encryption keys(s), which are used by the Server to encrypt responses
            to the Client. When both signing and encryption keys are made available, a use (public key use) parameter value
            is REQUIRED for all keys in the referenced JWK Set to indicate each key's intended usage. Although some algorithms
            allow the same key to be used for both signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure.
            The JWK x5c parameter MAY be used to provide X.509 representations of keys provided. When used, the bare key values
            MUST still be present and MUST match those in the certificate. Th
        jwks:
          type: string
          format: jwks
          description: OPTIONAL. Client's JWK Set [JWK] document, passed by value. The semantics of the jwks parameter are
            the same as the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference.
            This parameter is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter,
            for instance, by native applications that might not have a location to host the contents of the JWK Set. If a
            Client can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key
            rotation (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri
            and jwks parameters MUST NOT be used together. The JWK Set MUST NOT contain private or symmetric key values.
        sector_identifier_uri:
          type: string
          format: uri
          description: OPTIONAL. URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP.
            The URL references a file with a single JSON array of redirect_uri values. Please see Section 5. Providers that
            use pairwise sub (subject) values SHOULD utilize the sector_identifier_uri value provided in the Subject Identifier
            calculation for pairwise identifiers.
        subject_type:
          type: string
          enum:
          - pairwise
          - public
          description: オプション。このクライアントへのレスポンスに要求されるsubject_type。subject_types_supportedディスカバリーパラメータには、OPのサポートされるsubject_type値のリストが含まれる。有効なタイプにはpairwiseとpublicが含まれる。
        id_token_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm [JWA] REQUIRED for signing the ID Token issued to this Client. The value
            none MUST NOT be used as the ID Token alg value unless the Client uses only Response Types that return no ID Token
            from the Authorization Endpoint (such as when only using the Authorization Code Flow). The default, if omitted,
            is RS256. The public key for validating the signature is provided by retrieving the JWK Set referenced by the
            jwks_uri element from OpenID Connect Discovery 1.0 [OpenID.Discovery].
        id_token_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm [JWA] REQUIRED for encrypting the ID Token issued to this Client. If this
            is requested, the response will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT].
            The default, if omitted, is that no encryption is performed.
        id_token_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm [JWA] REQUIRED for encrypting the ID Token issued to this Client. If id_token_encrypted_response_alg
            is specified, the default id_token_encrypted_response_enc value is A128CBC-HS256. When id_token_encrypted_response_enc
            is included, id_token_encrypted_response_alg MUST also be provided.
        userinfo_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the
            response will be JWT [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response
            to return the Claims as a UTF-8 [RFC3629] encoded JSON object using the application/json content-type.
        userinfo_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE [JWE] alg algorithm [JWA] REQUIRED for encrypting UserInfo Responses. If both signing
            and encryption are requested, the response will be signed then encrypted, with the result being a Nested JWT,
            as defined in [JWT]. The default, if omitted, is that no encryption is performed.
        userinfo_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm [JWA] REQUIRED for encrypting UserInfo Responses. If userinfo_encrypted_response_alg
            is specified, the default userinfo_encrypted_response_enc value is A128CBC-HS256. When userinfo_encrypted_response_enc
            is included, userinfo_encrypted_response_alg MUST also be provided.
        request_object_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP.
            All Request Objects from this Client MUST be rejected, if not signed with this algorithm. Request Objects are
            described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. This algorithm MUST be used both when the Request
            Object is passed by value (using the request parameter) and when it is passed by reference (using the request_uri
            parameter). Servers SHOULD support RS256. The value none MAY be used. The default, if omitted, is that any algorithm
            supported by the OP and the RP MAY be used.
        request_object_encryption_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE [JWE] alg algorithm [JWA] the RP is declaring that it may use for encrypting Request
            Objects sent to the OP. This parameter SHOULD be included when symmetric encryption will be used, since this signals
            to the OP that a client_secret value needs to be returned from which the symmetric key will be derived, that might
            not otherwise be returned. The RP MAY still use other supported encryption algorithms or send unencrypted Request
            Objects, even when this parameter is present. If both signing and encryption are requested, the Request Object
            will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT]. The default, if omitted,
            is that the RP is not declaring whether it might encrypt any Request Objects.
        request_object_encryption_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm [JWA] the RP is declaring that it may use for encrypting Request Objects
            sent to the OP. If request_object_encryption_alg is specified, the default request_object_encryption_enc value
            is A128CBC-HS256. When request_object_encryption_enc is included, request_object_encryption_alg MUST also be provided.
        token_endpoint_auth_method:
          type: string
          enum:
          - client_secret_post
          - client_secret_basic
          - client_secret_jwt
          - private_key_jwt
          - tls_client_auth
          - self_signed_tls_client_auth
          - none
          description: OPTIONAL. Requested Client Authentication method for the Token Endpoint. The options are client_secret_post,
            client_secret_basic, client_secret_jwt, private_key_jwt, and none, as described in Section 9 of OpenID Connect
            Core 1.0 [OpenID.Core]. Other authentication methods MAY be defined by extensions. If omitted, the default is
            client_secret_basic -- the HTTP Basic Authentication Scheme specified in Section 2.3.1 of OAuth 2.0 [RFC6749].
        token_endpoint_auth_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS [JWS] alg algorithm [JWA] that MUST be used for signing the JWT [JWT] used to authenticate
            the Client at the Token Endpoint for the private_key_jwt and client_secret_jwt authentication methods. All Token
            Requests using these authentication methods from this Client MUST be rejected, if the JWT is not signed with this
            algorithm. Servers SHOULD support RS256. The value none MUST NOT be used. The default, if omitted, is that any
            algorithm supported by the OP and the RP MAY be used.
        default_max_age:
          type: integer
          description: OPTIONAL. Default Maximum Authentication Age. Specifies that the End-User MUST be actively authenticated
            if the End-User was authenticated longer ago than the specified number of seconds. The max_age request parameter
            overrides this default value. If omitted, no default Maximum Authentication Age is specified.
        require_pkce:
          type: boolean
          default: false
          description: OPTIONAL. If true, this client MUST use PKCE. The authorization request MUST include code_challenge
            with code_challenge_method=S256, and the token request MUST include code_verifier. Default false (backward compatible).
        require_auth_time:
          type: boolean
          default: false
          description: OPTIONAL. Boolean value specifying whether the auth_time Claim in the ID Token is REQUIRED. It is REQUIRED
            when the value is true. (If this is false, the auth_time Claim can still be dynamically requested as an individual
            Claim for the ID Token using the claims request parameter described in Section 5.5.1 of OpenID Connect Core 1.0
            [OpenID.Core].) If omitted, the default value is false.
        default_acr_values:
          type: array
          items:
            type: string
          description: OPTIONAL. Default requested Authentication Context Class Reference values. Array of strings that specifies
            the default acr values that the OP is being requested to use for processing requests from this Client, with the
            values appearing in order of preference. The Authentication Context Class satisfied by the authentication performed
            is returned as the acr Claim Value in the issued ID Token. The acr Claim is requested as a Voluntary Claim by
            this parameter. The acr_values_supported discovery element contains a list of the supported acr values supported
            by the OP. Values specified in the acr_values request parameter or an individual acr Claim request override these
            default values.
        initiate_login_uri:
          type: string
          format: uri
          description: OPTIONAL. URI using the https scheme that a third party can use to initiate a login by the RP, as specified
            in Section 4 of OpenID Connect Core 1.0 [OpenID.Core]. The URI MUST accept requests via both GET and POST. The
            Client MUST understand the login_hint and iss parameters and SHOULD support the target_link_uri parameter.
        request_uris:
          type: array
          items:
            type: string
            format: uri
          description: 'OPTIONAL. Array of request_uri values that are pre-registered by the RP for use at the OP. These URLs
            MUST use the https scheme unless the target Request Object is signed in a way that is verifiable by the OP. Servers
            MAY cache the contents of the files referenced by these URIs and not retrieve them at the time they are used in
            a request. OPs can require that request_uri values used be pre-registered with the require_request_uri_registration
            discovery parameter.

            If the contents of the request file could ever change, these URI values SHOULD include the base64url-encoded SHA-256
            hash value of the file contents referenced by the URI as the value of the URI fragment. If the fragment value
            used for a URI changes, that signals the server that its cached value for that URI with the old fragment value
            is no longer valid.'
        software_id:
          type: string
          format: uuid
          description: ''
        software_version:
          type: string
          description: ''
        extension:
          type: object
          description: OPTIONAL. Extension properties for client configuration
          properties:
            access_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of access tokens in seconds
            refresh_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of refresh tokens in seconds
            supported_jar:
              type: boolean
              default: false
              description: OPTIONAL. JWT Authorization Request (JAR) support flag
            available_federations:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: フェデレーション識別子
                  type:
                    type: string
                    enum:
                    - oauth2
                    - saml2
                    - oidc
                    description: フェデレーションタイプ
                  sso_provider:
                    type: string
                    description: SSOプロバイダー名
                  auto_selected:
                    type: boolean
                    default: false
                    description: Auto-selection flag for federation
                required:
                - id
                - type
              description: OPTIONAL. List of available federation configurations
            default_ciba_authentication_interaction_type:
              type: string
              enum:
              - authentication-device-notification-no-action
              - authentication-device-notification
              default: authentication-device-notification
              description: OPTIONAL. Default CIBA authentication interaction type
            custom_properties:
              type: object
              additionalProperties: true
              description: 'OPTIONAL. 任意のキー・バリューデータ。

                認可画面のview-data APIレスポンスにclient_custom_propertiesとして反映されます。

                アプリ固有のUI設定、フィーチャーフラグ、ブランディング情報などに利用できます。

                '
              example:
                app_label: my-custom-app
                feature_flags:
                  dark_mode: true
                  beta_features: false
                max_sessions: 5
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error code
        error_description:
          type: string
          description: Human-readable error description
        error_messages:
          type: array
          items:
            type: string
            description: Human-readable validation error message.
        error_details:
          type: object
          additionalProperties: true
          description: Additional error details
    ClientCreateRequest:
      type: object
      required:
      - redirect_uris
      properties:
        client_id:
          type: string
          format: uuid
          description: 一意クライアント識別子。他の登録済みクライアントで現在有効であってはいけない。
        client_id_alias:
          type: string
          maxLength: 255
          description: 一意クライアントIDエイリアス
        client_secret:
          type: string
          description: OPTIONAL. Client Secret. The same Client Secret value MUST NOT be assigned to multiple Clients.
        client_name:
          type: string
          description: OPTIONAL. Name of the Client to be presented to the End-User.
        client_uri:
          type: string
          format: uri
          description: OPTIONAL. URL of the home page of the Client.
        logo_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that references a logo for the Client application.
        contacts:
          type: array
          items:
            type: string
          description: OPTIONAL. Array of e-mail addresses of people responsible for this Client.
        policy_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that the Relying Party Client provides to the End-User to read about how the profile
            data will be used.
        tos_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that the Relying Party Client provides to the End-User to read about the Relying Party's
            terms of service.
        jwks_uri:
          type: string
          format: uri
          description: OPTIONAL. URL for the Client's JWK Set document, which MUST use the https scheme.
        jwks:
          type: string
          description: OPTIONAL. Client's JWK Set document, passed by value.
        application_type:
          type: string
          enum:
          - native
          - web
          default: web
          description: OPTIONAL. Kind of the application. The default, if omitted, is web.
        grant_types:
          type: array
          items:
            type: string
            enum:
            - authorization_code
            - implicit
            - refresh_token
            - password
            - client_credentials
            - urn:openid:params:grant-type:ciba
          description: List of OAuth 2.0 grant types the client can use
        redirect_uris:
          type: array
          items:
            type: string
            format: uri
          description: List of valid redirect URIs for the client
        response_types:
          type: array
          items:
            type: string
            enum:
            - code
            - token
            - id_token
            - code token
            - code id_token
            - token id_token
            - code token id_token
            - none
          description: List of OAuth 2.0 response types the client can use
        scope:
          type: string
          description: Space-separated list of OAuth 2.0 scopes
        token_endpoint_auth_method:
          type: string
          enum:
          - client_secret_post
          - client_secret_basic
          - client_secret_jwt
          - private_key_jwt
          - none
          description: Authentication method for the token endpoint
        subject_type:
          type: string
          enum:
          - pairwise
          - public
          description: OPTIONAL. subject_type requested for responses to this Client.
        sector_identifier_uri:
          type: string
          format: uri
          description: OPTIONAL. URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP.
        id_token_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm REQUIRED for signing the ID Token issued to this Client.
        id_token_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm REQUIRED for encrypting the ID Token issued to this Client.
        id_token_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm REQUIRED for encrypting the ID Token issued to this Client.
        userinfo_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm REQUIRED for signing UserInfo Responses.
        userinfo_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm REQUIRED for encrypting UserInfo Responses.
        userinfo_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm REQUIRED for encrypting UserInfo Responses.
        request_object_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm that MUST be used for signing Request Objects sent to the OP.
        request_object_encryption_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm the RP is declaring that it may use for encrypting Request Objects sent
            to the OP.
        request_object_encryption_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm the RP is declaring that it may use for encrypting Request Objects sent
            to the OP.
        token_endpoint_auth_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm that MUST be used for signing the JWT used to authenticate the Client at
            the Token Endpoint.
        default_max_age:
          type: integer
          description: OPTIONAL. Default Maximum Authentication Age.
        require_pkce:
          type: boolean
          default: false
          description: OPTIONAL. If true, this client MUST use PKCE. The authorization request MUST include code_challenge
            with code_challenge_method=S256, and the token request MUST include code_verifier. Default false (backward compatible).
        require_auth_time:
          type: boolean
          default: false
          description: OPTIONAL. Boolean value specifying whether the auth_time Claim in the ID Token is REQUIRED.
        default_acr_values:
          type: array
          items:
            type: string
          description: OPTIONAL. Default requested Authentication Context Class Reference values.
        initiate_login_uri:
          type: string
          format: uri
          description: OPTIONAL. URI using the https scheme that a third party can use to initiate a login by the RP.
        request_uris:
          type: array
          items:
            type: string
            format: uri
          description: OPTIONAL. Array of request_uri values that are pre-registered by the RP for use at the OP.
        software_id:
          type: string
          format: uuid
          description: OPTIONAL. Software identifier
        software_version:
          type: string
          description: OPTIONAL. Software version
        extension:
          type: object
          description: OPTIONAL. Extension properties for client configuration
          properties:
            access_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of access tokens in seconds
            refresh_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of refresh tokens in seconds
            supported_jar:
              type: boolean
              default: false
              description: OPTIONAL. JWT Authorization Request (JAR) support flag
            available_federations:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: フェデレーション識別子
                  type:
                    type: string
                    enum:
                    - oauth2
                    - saml2
                    - oidc
                    description: フェデレーションタイプ
                  sso_provider:
                    type: string
                    description: SSOプロバイダー名
                  auto_selected:
                    type: boolean
                    default: false
                    description: Auto-selection flag for federation
                required:
                - id
                - type
              description: OPTIONAL. List of available federation configurations
            default_ciba_authentication_interaction_type:
              type: string
              enum:
              - authentication-device-notification-no-action
              - authentication-device-notification
              default: authentication-device-notification-no-action
              description: OPTIONAL. Default CIBA authentication interaction type
    ClientUpdateRequest:
      type: object
      properties:
        client_name:
          type: string
          description: OPTIONAL. Name of the Client to be presented to the End-User.
        client_id_alias:
          type: string
          maxLength: 255
          description: 一意クライアントIDエイリアス
        client_secret:
          type: string
          description: OPTIONAL. Client Secret. The same Client Secret value MUST NOT be assigned to multiple Clients.
        client_uri:
          type: string
          format: uri
          description: OPTIONAL. URL of the home page of the Client.
        logo_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that references a logo for the Client application.
        contacts:
          type: array
          items:
            type: string
          description: OPTIONAL. Array of e-mail addresses of people responsible for this Client.
        policy_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that the Relying Party Client provides to the End-User to read about how the profile
            data will be used.
        tos_uri:
          type: string
          format: uri
          description: OPTIONAL. URL that the Relying Party Client provides to the End-User to read about the Relying Party's
            terms of service.
        jwks_uri:
          type: string
          format: uri
          description: OPTIONAL. URL for the Client's JWK Set document, which MUST use the https scheme.
        jwks:
          type: string
          description: OPTIONAL. Client's JWK Set document, passed by value.
        application_type:
          type: string
          enum:
          - native
          - web
          default: web
          description: OPTIONAL. Kind of the application. The default, if omitted, is web.
        grant_types:
          type: array
          items:
            type: string
            enum:
            - authorization_code
            - implicit
            - refresh_token
            - password
            - client_credentials
            - urn:openid:params:grant-type:ciba
          description: List of OAuth 2.0 grant types the client can use
        redirect_uris:
          type: array
          items:
            type: string
            format: uri
          description: List of valid redirect URIs for the client
        response_types:
          type: array
          items:
            type: string
            enum:
            - code
            - token
            - id_token
            - code token
            - code id_token
            - token id_token
            - code token id_token
            - none
          description: List of OAuth 2.0 response types the client can use
        scope:
          type: string
          description: Space-separated list of OAuth 2.0 scopes
        token_endpoint_auth_method:
          type: string
          enum:
          - client_secret_post
          - client_secret_basic
          - client_secret_jwt
          - private_key_jwt
          - none
          description: Authentication method for the token endpoint
        subject_type:
          type: string
          enum:
          - pairwise
          - public
          description: OPTIONAL. subject_type requested for responses to this Client.
        sector_identifier_uri:
          type: string
          format: uri
          description: OPTIONAL. URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP.
        id_token_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm REQUIRED for signing the ID Token issued to this Client.
        id_token_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm REQUIRED for encrypting the ID Token issued to this Client.
        id_token_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm REQUIRED for encrypting the ID Token issued to this Client.
        userinfo_signed_response_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm REQUIRED for signing UserInfo Responses.
        userinfo_encrypted_response_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm REQUIRED for encrypting UserInfo Responses.
        userinfo_encrypted_response_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm REQUIRED for encrypting UserInfo Responses.
        request_object_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm that MUST be used for signing Request Objects sent to the OP.
        request_object_encryption_alg:
          type: string
          enum:
          - RSA1_5
          - A128KW
          description: OPTIONAL. JWE alg algorithm the RP is declaring that it may use for encrypting Request Objects sent
            to the OP.
        request_object_encryption_enc:
          type: string
          enum:
          - A128CBC-HS256
          - A128GCM
          - A256GCM
          description: OPTIONAL. JWE enc algorithm the RP is declaring that it may use for encrypting Request Objects sent
            to the OP.
        token_endpoint_auth_signing_alg:
          type: string
          enum:
          - none
          - RS256
          - ES256
          - HS256
          description: OPTIONAL. JWS alg algorithm that MUST be used for signing the JWT used to authenticate the Client at
            the Token Endpoint.
        default_max_age:
          type: integer
          description: OPTIONAL. Default Maximum Authentication Age.
        require_pkce:
          type: boolean
          default: false
          description: OPTIONAL. If true, this client MUST use PKCE. The authorization request MUST include code_challenge
            with code_challenge_method=S256, and the token request MUST include code_verifier. Default false (backward compatible).
        require_auth_time:
          type: boolean
          default: false
          description: OPTIONAL. Boolean value specifying whether the auth_time Claim in the ID Token is REQUIRED.
        default_acr_values:
          type: array
          items:
            type: string
          description: OPTIONAL. Default requested Authentication Context Class Reference values.
        initiate_login_uri:
          type: string
          format: uri
          description: OPTIONAL. URI using the https scheme that a third party can use to initiate a login by the RP.
        request_uris:
          type: array
          items:
            type: string
            format: uri
          description: OPTIONAL. Array of request_uri values that are pre-registered by the RP for use at the OP.
        software_id:
          type: string
          format: uuid
          description: OPTIONAL. Software identifier
        software_version:
          type: string
          description: OPTIONAL. Software version
        extension:
          type: object
          description: OPTIONAL. Extension properties for client configuration
          properties:
            access_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of access tokens in seconds
            refresh_token_duration:
              type: integer
              minimum: 1
              description: OPTIONAL. Duration of refresh tokens in seconds
            supported_jar:
              type: boolean
              default: false
              description: OPTIONAL. JWT Authorization Request (JAR) support flag
            available_federations:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: フェデレーション識別子
                  type:
                    type: string
                    enum:
                    - oauth2
                    - saml2
                    - oidc
                    description: フェデレーションタイプ
                  sso_provider:
                    type: string
                    description: SSOプロバイダー名
                  auto_selected:
                    type: boolean
                    default: false
                    description: Auto-selection flag for federation
                required:
                - id
                - type
              description: OPTIONAL. List of available federation configurations
            default_ciba_authentication_interaction_type:
              type: string
              enum:
              - authentication-device-notification-no-action
              - authentication-device-notification
              default: authentication-device-notification-no-action
              description: OPTIONAL. Default CIBA authentication interaction type
