UiPath Documentation
private-test-cloud
2.2510
true
Private Test Cloud API guide

External client

External client API reference for Private Test Cloud, including endpoints, request fields, and response details.

List all external clients​

Get the full list of external clients for an organization.

API Endpoint​

GET https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Read

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID from where you want to retrieve the external clients.

{
  "partitionGlobalId": "<organizationId>"
}
{
  "partitionGlobalId": "<organizationId>"
}

Responses​

200 Success​

The list of external clients for a given organization has been successfully retrieved.

[
  {
    "name": "string",
    "id": "string",
    "secret": "string",
    "isConfidential": true,
    "redirectUri": "string",
    "resources": [
      {
        "name": "string",
        "displayName": "string",
        "description": "string",
        "scopes": [
          {
            "name": "string",
            "displayName": "string",
            "description": "string",
            "type": "user"
          }
        ]
      }
    ],
    "secrets": [
      {
        "id": 0,
        "description": "string",
        "secret": "string",
        "creationTime": "2025-07-18T12:52:37.566Z",
        "expiryTime": "2025-07-18T12:52:37.566Z"
      }
    ]
  }
]
[
  {
    "name": "string",
    "id": "string",
    "secret": "string",
    "isConfidential": true,
    "redirectUri": "string",
    "resources": [
      {
        "name": "string",
        "displayName": "string",
        "description": "string",
        "scopes": [
          {
            "name": "string",
            "displayName": "string",
            "description": "string",
            "type": "user"
          }
        ]
      }
    ],
    "secrets": [
      {
        "id": 0,
        "description": "string",
        "secret": "string",
        "creationTime": "2025-07-18T12:52:37.566Z",
        "expiryTime": "2025-07-18T12:52:37.566Z"
      }
    ]
  }
]

Get details for a specific external client​

Get a specific external client from an organization, and obtain the Secret ID of the oldest secret.

API Endpoint​

GET https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Read

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID from where you want to get the external client, and the corresponding client ID.

{
  "partitionGlobalId": "<organizationId>"
  "clientId": "<clientId>"
}
{
  "partitionGlobalId": "<organizationId>"
  "clientId": "<clientId>"
}

Responses​

200 Success​

The external client has been successfully retrieved.

{
  "name": "string",
  "id": "string",
  "secret": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "resources": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "scopes": [
        {
          "name": "string",
          "displayName": "string",
          "description": "string",
          "type": "user"
        }
      ]
    }
  ],
  "secrets": [
    {
      "id": 0,
      "description": "string",
      "secret": "string",
      "creationTime": "2025-07-18T12:57:01.155Z",
      "expiryTime": "2025-07-18T12:57:01.155Z"
    }
  ]
}
{
  "name": "string",
  "id": "string",
  "secret": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "resources": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "scopes": [
        {
          "name": "string",
          "displayName": "string",
          "description": "string",
          "type": "user"
        }
      ]
    }
  ],
  "secrets": [
    {
      "id": 0,
      "description": "string",
      "secret": "string",
      "creationTime": "2025-07-18T12:57:01.155Z",
      "expiryTime": "2025-07-18T12:57:01.155Z"
    }
  ]
}

Update an external client​

Update the name, redirect URL, scopes, or certificates of an external OAuth application.

API Endpoint​

PUT https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID where the specific external client is located, and the corresponding client ID.

{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}
{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}

Responses​

200 Success​

The specified external client has been successfully updated.

Example Value
Schema
{
  "name": "string",
  "redirectUri": "string",
  "scopes": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "type": "user"
    }
  ],
  "clientCertificates": [
    {}
  ]
}
Example Value
Schema
{
  "name": "string",
  "redirectUri": "string",
  "scopes": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "type": "user"
    }
  ],
  "clientCertificates": [
    {}
  ]
}

Delete external clients​

Delete a specific external client.

API Endpoint​

DELETE https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID from where you want to delete the external client, and the corresponding client ID.

{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}
{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}

Responses​

204 No content​

The external client has been successfully deleted. No values are returned.

Create a new external client​

Create a new external client.

API Endpoint​

POST https://{yourDomain}/{organizationName}/identity_/api/ExternalClient

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body includes the organization ID, the external client name, its confidentiality status, the redirect URI, the required scopes, and the client certificates.

{
  "partitionGlobalId": "orgId",
  "name": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "scopes": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "type": "user"
    }
  ],
  "clientCertificates": [
    {}
  ]
}
{
  "partitionGlobalId": "orgId",
  "name": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "scopes": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "type": "user"
    }
  ],
  "clientCertificates": [
    {}
  ]
}

Responses​

201 Created​

The external client has been successfully created.

{
  "name": "string",
  "id": "string",
  "secret": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "resources": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "scopes": [
        {
          "name": "string",
          "displayName": "string",
          "description": "string",
          "type": "user"
        }
      ]
    }
  ],
  "secrets": [
    {
      "id": 0,
      "description": "string",
      "secret": "string",
      "creationTime": "2025-07-18T13:53:12.823Z",
      "expiryTime": "2025-07-18T13:53:12.823Z"
    }
  ]
}
{
  "name": "string",
  "id": "string",
  "secret": "string",
  "isConfidential": true,
  "redirectUri": "string",
  "resources": [
    {
      "name": "string",
      "displayName": "string",
      "description": "string",
      "scopes": [
        {
          "name": "string",
          "displayName": "string",
          "description": "string",
          "type": "user"
        }
      ]
    }
  ],
  "secrets": [
    {
      "id": 0,
      "description": "string",
      "secret": "string",
      "creationTime": "2025-07-18T13:53:12.823Z",
      "expiryTime": "2025-07-18T13:53:12.823Z"
    }
  ]
}

Generate a new secret​

Generate a new client secret for the given external client.

API Endpoint​

GET https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}/{clientId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write
  • PM.OAuthSecret.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID where the external client is located, and the corresponding client ID.

{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}
{
  "partitionGlobalId": "<organizationId>",
  "clientId": "<clientId>"
}

Responses​

200 Success​

The client secret has been successfully created for the given external client.

"string"
"string"

Generate a new external client​

Generate a new external client.

API Enpoint​

POST https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/GenerateSecret

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write
  • PM.OAuthAppSecret.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the client ID for which you want to generate a secret,a corresponding description, and the organization ID.

{
  "clientId": "string",
  "description": "string",
  "partitionGlobalId": "orgId",
  "expiryTime": "2025-07-18T13:24:15.806Z"
}
{
  "clientId": "string",
  "description": "string",
  "partitionGlobalId": "orgId",
  "expiryTime": "2025-07-18T13:24:15.806Z"
}

Responses​

200 Success​

A new client secret has been successfully generated for the given external client.

{
  "id": 0,
  "description": "string",
  "secret": "string",
  "creationTime": "2025-07-18T13:56:16.889Z",
  "expiryTime": "2025-07-18T13:56:16.889Z"
{
  "id": 0,
  "description": "string",
  "secret": "string",
  "creationTime": "2025-07-18T13:56:16.889Z",
  "expiryTime": "2025-07-18T13:56:16.889Z"

Delete a client secret​

Delete a client secret.

API Endpoint​

DELETE https://{yourDomain}/{organizationName}/identity_/api/ExternalClient/{partitionGlobalId}/secrets/{secretId}

Scopes​

Requires either one of the following scopes:

  • PM.OAuthApp
  • PM.OAuthApp.Write
  • PM.OAuthAppSecret.Write

Request headers​

--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
--header 'Authorization: Bearer {access_token}'\
--header 'Content-Type: application/json'
Note:

To obtain the {access_token}, make sure to authenticate through one of the methods described in Authentication methods.

Request body​

The request body contains the organization ID, and the ID of the client secret you want to delete.

{
  "partitionGlobalId": "<organizationId>",
  "secretId": "<secretId>"
}
{
  "partitionGlobalId": "<organizationId>",
  "secretId": "<secretId>"
}

Responses​

204 No content​

The client secret has been successfully deleted. No value is returned.

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated