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(opens in new window)

Want to learn? UiPath Academy(opens in new window)

Have questions? UiPath Forum(opens in new window)

Stay updated