Free cookie consent management tool by TermsFeed

Credential Management

On This Page

Tip:  Remember to include the appropriate authentication headers in your HTTP request message when using this method.

Use the credential management endpoints to list and retrieve credentials stored in the RPA Console, and to update credential passwords programmatically. These endpoints are useful for automating credential rotation workflows without manual intervention in the console.

Passwords are never returned by any credential endpoint.

List credentials

GET: /credentials

Returns all credentials the service account has permission to view.

Response

The call is successful if "invocationResult" = "OK".

The following elements are provided in the result.credentials array.

Attribute Example Data type Description
uuid "69c1c62dd6765634c8a95f6e" String Unique identifier of the credential.
application "SAP_PROD" String Application name grouping for the credential.
username "svc_robot_01" String The username associated with the credential.

Example response body:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
    "invocationResult": "OK",
    "result": {
        "credentials": [
            {
                "uuid": "69c1c62dd6765634c8a95f6e",
                "application": "SAP_PROD",
                "username": "svc_robot_01"
            }
        ]
    },
    "exceptionThrownText": null
}

Error codes

HTTP code Meaning
401 Invalid or missing API key.

Get credential details

GET: /credentials/{uuid}

Returns the metadata for a specific credential. Use this endpoint to confirm a credential exists before updating its password.

Path parameters

Parameter Type Description
uuid String Credential UUID. Visible on the credential's detail page in the RPA Console.

Response

The call is successful if "invocationResult" = "OK".

Attribute Example Data type Description
uuid "69c1c62dd6765634c8a95f6e" String Unique identifier of the credential.
application "SAP_PROD" String Application name grouping for the credential.
username "svc_robot_01" String The username associated with the credential.

Example response body:

1
2
3
4
5
6
7
8
9
{
    "invocationResult": "OK",
    "result": {
        "uuid": "69c1c62dd6765634c8a95f6e",
        "application": "SAP_PROD",
        "username": "svc_robot_01"
    },
    "exceptionThrownText": null
}

Error codes

HTTP code Meaning
401 Invalid or missing API key.
403 Service account lacks permission to this credential. The response does not reveal whether the credential exists.
404 Credential not found.

Update credential password

PUT: /credentials/{uuid}/password

Updates the password for a credential. The new password takes effect immediately for all subsequent robot executions that use the credential.

Note:  There is no server-side password complexity enforcement. The target system enforces its own policy.

Path parameters

Parameter Type Description
uuid String Credential UUID.

Request body

Parameter Type Required? Description
password String Yes The new password. Must be a non-empty string.

Example request body:

1
2
3
{
    "password": "[new-password]"
}

Caution:  Never include plaintext passwords in source control or logs. Use a secrets manager or environment variable to supply the password value at runtime.

Response

The call is successful if "invocationResult" = "OK". The result field is null on success.

Example response body:

1
2
3
4
5
{
    "invocationResult": "OK",
    "result": null,
    "exceptionThrownText": null
}

Error codes

HTTP code Meaning
400 Empty or missing password.
401 Invalid or missing API key.
403 Service account lacks permission to this credential.
404 Credential not found.

Concurrency: Last-write-wins. Concurrent updates are accepted; the most recent write takes effect.

Audit logging: A security event is logged on each successful password update.

Credential endpoint code examples

The following examples show how to call the credential endpoints. Replace <SITE_URL> with your RPA Console hostname and <API_KEY> with your API key.

List credentials (cURL)

1
2
curl -s -H "Authorization: Bearer ${API_KEY}" \
  "${SITE_URL}/rpa/rest/oo/credentials"

Update credential password (cURL)

1
2
3
4
5
curl -s -X PUT \
  -H "Authorization: Bearer ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"password": "[new-password]"}' \
  "${SITE_URL}/rpa/rest/oo/credentials/69c1c62dd6765634c8a95f6e/password"

Batch rotation (PowerShell)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$SiteUrl = "https://rpa.example.com"
$ApiKey  = $env:RPA_API_KEY
$Headers = @{
    "Authorization" = "Bearer $ApiKey"
    "Content-Type"  = "application/json"
}

# List all credentials
$creds = Invoke-RestMethod -Uri "$SiteUrl/rpa/rest/oo/credentials" -Headers $Headers

# Rotate each credential's password
$creds.result.credentials | ForEach-Object {
    $uuid        = $_.uuid
    $newPassword = $env:NEW_CREDENTIAL_PASSWORD  # Retrieved from secrets manager at runtime
    $body        = @{ password = $newPassword } | ConvertTo-Json

    $response = Invoke-RestMethod `
        -Uri     "$SiteUrl/rpa/rest/oo/credentials/$uuid/password" `
        -Method  PUT `
        -Headers $Headers `
        -Body    $body

    if ($response.invocationResult -eq "OK") {
        Write-Host "Credential $uuid ($($_.username)) rotated successfully."
    } else {
        Write-Warning "Credential $uuid failed: $($response.exceptionThrownText)"
    }
}

Feedback