Authlete Client Management API

API endpoints for managing OAuth clients, including creation, update, and deletion of clients.

OpenAPI Specification

authlete-client-management-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Authlete Authorization Endpoint Client Management API
  description: "Welcome to the **Authlete API documentation**. Authlete is an **API-first service** where every aspect of the \nplatform is configurable via API. This documentation will help you authenticate and integrate with Authlete to \nbuild powerful OAuth 2.0 and OpenID Connect servers.\n\nAt a high level, the Authlete API is grouped into two categories:\n\n- **Management APIs**: Enable you to manage services and clients.\n- **Runtime APIs**: Allow you to build your own Authorization Servers or Verifiable Credential (VC) issuers.\n\n## \U0001F310 API Servers\n\nAuthlete is a global service with clusters available in multiple regions across the world:\n\n- \U0001F1FA\U0001F1F8 **US**: `https://us.authlete.com`\n- \U0001F1EF\U0001F1F5 **Japan**: `https://jp.authlete.com`\n- \U0001F1EA\U0001F1FA **Europe**: `https://eu.authlete.com`\n- \U0001F1E7\U0001F1F7 **Brazil**: `https://br.authlete.com`\n\nOur customers can host their data in the region that best meets their requirements.\n\n## \U0001F511 Authentication\n\nAll API endpoints are secured using **Bearer token authentication**. You must include an access token in every request:\n\n```\nAuthorization: Bearer YOUR_ACCESS_TOKEN\n```\n\n### Getting Your Access Token\n\nAuthlete supports two types of access tokens:\n\n**Service Access Token** - Scoped to a single service (authorization server instance)\n\n1. Log in to [Authlete Console](https://console.authlete.com)\n2. Navigate to your service → **Settings** → **Access Tokens**\n3. Click **Create Token** and select permissions (e.g., `service.read`, `client.write`)\n4. Copy the generated token\n\n**Organization Token** - Scoped to your entire organization\n\n1. Log in to [Authlete Console](https://console.authlete.com)\n2. Navigate to **Organization Settings** → **Access Tokens**\n3. Click **Create Token** and select org-level permissions\n4. Copy the generated token\n\n> ⚠️ **Important Note**: Tokens inherit the permissions of the account that creates them. Service tokens can only \n> access their specific service, while organization tokens can access all services within your org.\n\n### Token Security Best Practices\n\n- **Never commit tokens to version control** - Store in environment variables or secure secret managers\n- **Rotate regularly** - Generate new tokens periodically and revoke old ones\n- **Scope appropriately** - Request only the permissions your application needs\n- **Revoke unused tokens** - Delete tokens you're no longer using from the console\n\n### Quick Test\n\nVerify your token works with a simple API call:\n\n```bash\ncurl -X GET https://us.authlete.com/api/service/get/list \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\"\n```\n\n## \U0001F393 Tutorials\n\nIf you're new to Authlete or want to see sample implementations, these resources will help you get started:\n\n- [Getting Started with Authlete](https://www.authlete.com/developers/getting_started/)\n- [From Sign-Up to the First API Request](https://www.authlete.com/developers/tutorial/signup/)\n\n## \U0001F6E0 Contact Us\n\nIf you have any questions or need assistance, our team is here to help:\n\n- [Contact Page](https://www.authlete.com/contact/)\n"
  version: 3.0.16
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- description: 🇺🇸 US Cluster
  url: https://us.authlete.com
- description: 🇯🇵 Japan Cluster
  url: https://jp.authlete.com
- description: 🇪🇺 Europe Cluster
  url: https://eu.authlete.com
- description: 🇧🇷 Brazil Cluster
  url: https://br.authlete.com
security:
- bearer: []
tags:
- name: Client Management
  description: API endpoints for managing OAuth clients, including creation, update, and deletion of clients.
  x-tag-expanded: false
paths:
  /api/{serviceId}/client/get/{clientId}:
    get:
      summary: Get Client
      description: 'Get a client.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientId
        schema:
          type: string
        required: true
        description: A client ID.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client'
              example:
                applicationType: WEB
                attributes:
                - key: attribute1-key
                  value: attribute1-value
                - key: attribute2-key
                  value: attribute2-value
                authTimeRequired: false
                bcUserCodeRequired: false
                clientId: 26478243745571
                clientIdAlias: my-client
                clientIdAliasEnabled: true
                clientName: My client
                clientSecret: gXz97ISgLs4HuXwOZWch8GEmgL4YMvUJwu3er_kDVVGcA0UOhA9avLPbEmoeZdagi9yC_-tEiT2BdRyH9dbrQQ
                clientType: CONFIDENTIAL
                createdAt: 1639468356000
                defaultMaxAge: 0
                derivedSectorIdentifier: my-client.example.com
                developer: john
                dynamicallyRegistered: false
                frontChannelRequestObjectEncryptionRequired: false
                grantTypes:
                - AUTHORIZATION_CODE
                - REFRESH_TOKEN
                idTokenSignAlg: RS256
                modifiedAt: 1639468356000
                number: 6164
                parRequired: false
                redirectUris:
                - https://my-client.example.com/cb1
                - https://my-client.example.com/cb2
                requestObjectEncryptionAlgMatchRequired: false
                requestObjectEncryptionEncMatchRequired: false
                requestObjectRequired: false
                responseTypes:
                - CODE
                - TOKEN
                serviceNumber: 5041
                subjectType: PUBLIC
                tlsClientCertificateBoundAccessTokens: false
                tokenAuthMethod: CLIENT_SECRET_BASIC
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_get_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v https://us.authlete.com/api/21653835348762/client/get/26478243745571 \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          long clientId = ...;


          api.getClient(clientId);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          clientId = ...


          api.getClient(clientId)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/get/list:
    get:
      summary: List Clients
      description: 'Get a list of clients on a service.


        If the access token can view a full service (including an admin), all clients within the

        service are returned. Otherwise, only clients that the access token can view within the

        service are returned.

        - ViewClient: []

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: query
        name: developer
        schema:
          type: string
        required: false
        description: 'The developer of client applications. The default value is null. If this parameter is not set

          to `null`, client application of the specified developer are returned. Otherwise, all client

          applications that belong to the service are returned.

          '
      - in: query
        name: start
        schema:
          type: integer
          format: int32
        required: false
        description: Start index (inclusive) of the result set. The default value is 0. Must not be a negative number.
      - in: query
        name: end
        schema:
          type: integer
          format: int32
        required: false
        description: End index (exclusive) of the result set. The default value is 5. Must not be a negative number.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_get_list_response'
              examples:
                full:
                  summary: Example showing full client view.
                  value:
                    clients:
                    - applicationType: WEB
                      attributes:
                      - key: attribute1-key
                        value: attribute1-value
                      - key: attribute2-key
                        value: attribute2-value
                      authTimeRequired: false
                      bcUserCodeRequired: false
                      clientId: 26478243745571
                      clientIdAlias: my-client
                      clientIdAliasEnabled: true
                      clientName: My client
                      clientSecret: gXz97ISgLs4HuXwOZWch8GEmgL4YMvUJwu3er_kDVVGcA0UOhA9avLPbEmoeZdagi9yC_-tEiT2BdRyH9dbrQQ
                      clientType: CONFIDENTIAL
                      createdAt: 1639468356000
                      defaultMaxAge: 0
                      derivedSectorIdentifier: my-client.example.com
                      dynamicallyRegistered: false
                      frontChannelRequestObjectEncryptionRequired: false
                      grantTypes:
                      - AUTHORIZATION_CODE
                      - REFRESH_TOKEN
                      idTokenSignAlg: RS256
                      modifiedAt: 1639468356000
                      number: 6164
                      parRequired: false
                      redirectUris:
                      - https://my-client.example.com/cb1
                      - https://my-client.example.com/cb2
                      requestObjectEncryptionAlgMatchRequired: false
                      requestObjectEncryptionEncMatchRequired: false
                      requestObjectRequired: false
                      responseTypes:
                      - CODE
                      - TOKEN
                      serviceNumber: 5041
                      subjectType: PUBLIC
                      tlsClientCertificateBoundAccessTokens: false
                      tokenAuthMethod: CLIENT_SECRET_BASIC
                    end: 3
                    start: 0
                    totalCount: 1
                limited:
                  summary: Example showing limited client view.
                  value:
                    clients:
                    - clientId: 26478243745571
                      clientIdAlias: my-client
                      clientIdAliasEnabled: true
                      clientName: My client
                      clientType: CONFIDENTIAL
                      number: 6164
                    end: 3
                    start: 0
                    totalCount: 1
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_get_list_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v https://us.authlete.com/api/21653835348762/client/get/list?developer=john\&start=0\&end=5 \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          String developer = "john";

          int start = 0;

          int end = 5;


          api.getClientList(developer, start, end);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          developer = ''john''

          start = 0

          end = 5


          api.getClientList(developer, start, end)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/create:
    post:
      summary: Create Client
      description: 'Create a new client.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/client'
            example:
              developer: john
              clientName: My Client
              clientIdAlias: my-client
              clientIdAliasEnabled: true
              clientType: CONFIDENTIAL
              applicationType: WEB
              grantTypes:
              - AUTHORIZATION_CODE
              - REFRESH_TOKEN
              responseTypes:
              - CODE
              - TOKEN
              redirectUris:
              - https://my-client.example.com/cb1
              - https://my-client.example.com/cb2
              tokenAuthMethod: CLIENT_SECRET_BASIC
              attributes:
              - key: attribute1-key
                value: attribute1-value
              - key: attribute2-key
                value: attribute2-value
      responses:
        '200':
          description: Client created successfully (legacy compatibility)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client'
              example:
                applicationType: WEB
                clientId: 26478243745571
        '201':
          description: Client created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client'
              example:
                applicationType: WEB
                attributes:
                - key: attribute1-key
                  value: attribute1-value
                - key: attribute2-key
                  value: attribute2-value
                authTimeRequired: false
                bcUserCodeRequired: false
                clientId: 26478243745571
                clientIdAlias: my-client
                clientIdAliasEnabled: true
                clientName: My client
                clientSecret: gXz97ISgLs4HuXwOZWch8GEmgL4YMvUJwu3er_kDVVGcA0UOhA9avLPbEmoeZdagi9yC_-tEiT2BdRyH9dbrQQ
                clientType: CONFIDENTIAL
                createdAt: 1639468356000
                defaultMaxAge: 0
                derivedSectorIdentifier: my-client.example.com
                developer: john
                dynamicallyRegistered: false
                frontChannelRequestObjectEncryptionRequired: false
                grantTypes:
                - AUTHORIZATION_CODE
                - REFRESH_TOKEN
                idTokenSignAlg: RS256
                modifiedAt: 1639468356000
                number: 6164
                parRequired: false
                redirectUris:
                - https://my-client.example.com/cb1
                - https://my-client.example.com/cb2
                requestObjectEncryptionAlgMatchRequired: false
                requestObjectEncryptionEncMatchRequired: false
                requestObjectRequired: false
                responseTypes:
                - CODE
                - TOKEN
                serviceNumber: 5041
                subjectType: PUBLIC
                tlsClientCertificateBoundAccessTokens: false
                tokenAuthMethod: CLIENT_SECRET_BASIC
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_create_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v -X POST https://us.authlete.com/api/21653835348762/client/create \

          -H ''Content-Type:application/json'' \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F'' \

          -d ''{ "developer": "john", "clientName": "My Client", ... }''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          Client client = new Client();

          client.setDeveloper("john");

          client.setClientName("My Client");

          ...


          api.createClient(client);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          client = Client()

          client.developer = ''john''

          client.clientName = ''My Client''

          ...


          api.createClient(client)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/update/{clientId}:
    post:
      summary: Update Client
      description: 'Update a client.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientId
        schema:
          type: string
        required: true
        description: A client ID.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/client'
            example:
              applicationType: WEB
              attributes:
              - key: attribute1-key
                value: attribute1-value
              - key: attribute2-key
                value: attribute2-value
              authTimeRequired: false
              bcUserCodeRequired: false
              clientIdAlias: my-client
              clientIdAliasEnabled: true
              clientName: My updated client
              clientType: CONFIDENTIAL
              defaultMaxAge: 0
              derivedSectorIdentifier: my-client.example.com
              developer: john
              dynamicallyRegistered: false
              frontChannelRequestObjectEncryptionRequired: false
              grantTypes:
              - AUTHORIZATION_CODE
              - REFRESH_TOKEN
              idTokenSignAlg: RS256
              parRequired: false
              redirectUris:
              - https://my-client.example.com/cb1
              - https://my-client.example.com/cb2
              requestObjectEncryptionAlgMatchRequired: false
              requestObjectEncryptionEncMatchRequired: false
              requestObjectRequired: false
              responseTypes:
              - CODE
              - TOKEN
              subjectType: PUBLIC
              tlsClientCertificateBoundAccessTokens: false
              tokenAuthMethod: CLIENT_SECRET_BASIC
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/client'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client'
              example:
                applicationType: WEB
                attributes:
                - key: attribute1-key
                  value: attribute1-value
                - key: attribute2-key
                  value: attribute2-value
                authTimeRequired: false
                bcUserCodeRequired: false
                clientId: 26478243745571
                clientIdAlias: my-client
                clientIdAliasEnabled: true
                clientName: My updated client
                clientSecret: gXz97ISgLs4HuXwOZWch8GEmgL4YMvUJwu3er_kDVVGcA0UOhA9avLPbEmoeZdagi9yC_-tEiT2BdRyH9dbrQQ
                clientType: CONFIDENTIAL
                createdAt: 1639468356000
                defaultMaxAge: 0
                derivedSectorIdentifier: my-client.example.com
                developer: john
                dynamicallyRegistered: false
                frontChannelRequestObjectEncryptionRequired: false
                grantTypes:
                - AUTHORIZATION_CODE
                - REFRESH_TOKEN
                idTokenSignAlg: RS256
                modifiedAt: 1639557082764
                number: 6164
                parRequired: false
                redirectUris:
                - https://my-client.example.com/cb1
                - https://my-client.example.com/cb2
                requestObjectEncryptionAlgMatchRequired: false
                requestObjectEncryptionEncMatchRequired: false
                requestObjectRequired: false
                responseTypes:
                - CODE
                - TOKEN
                serviceNumber: 5041
                subjectType: PUBLIC
                tlsClientCertificateBoundAccessTokens: false
                tokenAuthMethod: CLIENT_SECRET_BASIC
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: The client was not found.
        '500':
          $ref: '#/components/responses/500'
      operationId: client_update_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v -X POST https://us.authlete.com/api/21653835348762/client/update/26478243745571 \

          -H ''Content-Type:application/json'' \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F'' \

          -d ''{ "clientName": "My updated client", ... }''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          // Get an existing client.

          long clientId = ...;

          Client client = api.getClient(clientId);


          // Update "client name".

          client.setClientName("My updated client");


          api.updateClient(client);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          # Get an existing client.

          clientId = ...

          client = api.getClient(clientId)


          # Update "client name".

          client.clientName = ''My updated client''


          api.updatedClient(client)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/delete/{clientId}:
    delete:
      summary: Delete Client ⚡
      description: 'Delete a client.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientId
        schema:
          type: string
        required: true
        description: The client ID.
      responses:
        '204':
          description: The client was successfully deleted.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          description: The client was not found.
        '500':
          $ref: '#/components/responses/500'
      operationId: client_delete_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v -X DELETE https://us.authlete.com/api/21653835348762/client/delete/26478243745571 \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          long clientId = ...;


          api.deleteClient(clientId);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          clientId = ...


          api.deleteClient(clientId)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/lock_flag/update/{clientIdentifier}:
    post:
      summary: Update Client Lock
      description: 'Lock and unlock a client

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientIdentifier
        schema:
          type: string
        required: true
        description: A client ID.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/client_flag_update_request'
            example:
              clientLocked: true
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/client_flag_update_request'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_flag_update_response'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_flag_update_api
      tags:
      - Client Management
  /api/{serviceId}/client/secret/refresh/{clientIdentifier}:
    get:
      summary: Rotate Client Secret
      description: 'Refresh the client secret of a client. A new value of the client secret will be generated by the

        Authlete server.


        If you want to specify a new value, use `/api/client/secret/update` API.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientIdentifier
        schema:
          type: string
        required: true
        description: 'The client ID or the client ID alias of a client.

          '
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_secret_refresh_response'
              example:
                resultCode: A148001
                resultMessage: '[A148001] Successfully refreshed the client secret of the client (ID = 26478243745571).'
                newClientSecret: 6Rg_WDO23F0HSZe8GzE5_ZxRHD2pCA02M7T87s0MNOmnf8hg9eYScgeH6P_tb42yiaRuptJmMY12jwWuoy2KeA
                oldClientSecret: gXz97ISgLs4HuXwOZWch8GEmgL4YMvUJwu3er_kDVVGcA0UOhA9avLPbEmoeZdagi9yC_-tEiT2BdRyH9dbrQQ
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_secret_refresh_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v https://us.authlete.com/api/21653835348762/client/secret/refresh/26478243745571 \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          String clientIdentifier = ...;


          api.refreshClientSecret(clientIdentifier);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          clientIdentifier = ...


          api.refreshClientSecret(clientIdentifier)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/secret/update/{clientIdentifier}:
    post:
      summary: Update Client Secret
      description: 'Update the client secret of a client.


        If you want to have the Authlete server generate a new value of the client secret, use `/api/client/secret/refresh`

        API.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: path
        name: clientIdentifier
        schema:
          type: string
        required: true
        description: 'The client ID or the client ID alias of a client.

          '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/client_secret_update_request'
            example:
              clientSecret: my_updated_client_secret
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/client_secret_update_request'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/client_secret_update_response'
              example:
                resultCode: A149001
                resultMessage: '[A149001] Successfully updated the client secret of the client (ID = 26478243745571).'
                newClientSecret: my_updated_client_secret
                oldClientSecret: 6Rg_WDO23F0HSZe8GzE5_ZxRHD2pCA02M7T87s0MNOmnf8hg9eYScgeH6P_tb42yiaRuptJmMY12jwWuoy2KeA
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
      operationId: client_secret_update_api
      x-code-samples:
      - lang: shell
        label: curl
        source: 'curl -v https://us.authlete.com/api/21653835348762/client/secret/update/26478243745571 \

          -H ''Content-Type:application/json'' \

          -H ''Authorization: Bearer V5a40R6dWvw2gMkCOBFdZcM95q4HC0Z-T0YKD9-nR6F'' \

          -d ''{ "clientSecret": "..." }''

          '
      - lang: java
        label: java
        source: 'AuthleteConfiguration conf = ...;

          AuthleteApi api = AuthleteApiFactory.create(conf);


          String clientIdentifier = ...;

          String clientSecret = "my_updated_client_secret";


          api.updateClientSecret(clientIdentifier, clientSecret);

          '
      - lang: python
        source: 'conf = ...

          api = AuthleteApiImpl(conf)


          clientIdentifier = ...

          clientSecret = ''my_new_client_secret''


          api.updateClientSecret(clientIdentifier, clientSecret)

          '
      tags:
      - Client Management
  /api/{serviceId}/client/authorization/get/list:
    x-code-samples:
    - lang: shell
      label: curl
      source: 'curl -v https://us.authlete.com/api/client/authorization/get/list?subject=john\&start=0\&end=5 \

        -u ''21653835348762:uE4NgqeIpuSV_XejQ7Ds3jsgA1yXhjR1MXJ1LbPuyls''

        '
    - lang: java
      label: java
      source: 'AuthleteConfiguration conf = ...;

        AuthleteApi api = AuthleteApiFactory.create(conf);


        ClientAuthorizationGetListRequest req = new ClientAuthorizationGetListRequest();

        req.setSubject("john");

        req.setStart(0);

        req.setEnd(5);


        api.getClientAuthorizationList(req);

        '
    - lang: python
      source: 'conf = ...

        api = AuthleteApiImpl(conf)


        req = ClientAuthorizationGetListRequest()

        req.subject = ''john''

        req.start = 0

        req.end = 5


        api.getClientAuthorizationList(req)

        '
    get:
      summary: Get Authorized Applications
      description: 'Get a list of client applications that an end-user has authorized.


        The subject parameter is required and can be provided as a query parameter.

        '
      parameters:
      - in: path
        name: serviceId
        description: A service ID.
        required: true
        schema:
          type: string
      - in: query
        name: subject
        schema:
          type: string
        required: true
        description: 'Unique user ID of an end-user.

          '
      - in: query
        name: developer
        schema:
          type: string
        required: false
        description: 'Unique ID of a client developer.

          '
      - in: qu

# --- truncated at 32 KB (123 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/authlete/refs/heads/main/openapi/authlete-client-management-api-openapi.yml