Manage an API key
- Last Updated: May 12, 2026
- 4 minute read
- Progress Data Cloud
- Documentation
An API key provides access to services available through PDC. API keys can be managed through the user-interface or programmatically with the API.
Default key duration
This chart lists the standard durations for API keys and session tokens. The Operations Team can extend the duration up to the maximum values shown:
| Item | Default Duration | Max Duration |
|---|---|---|
| User API key | 14 days | 90 days |
| Service account API key | 90 days | 90 days |
| Session Token | 1 hour | 14 days |
Manage API keys through the user-interface
API keys are managed in different places in the user-interface depending on the account:
- User account API keys are managed on the Account Settings page.
- Users with the Tenant Administrator role can manage service account API keys on the Users page.
Generate an API key for a user account
To generate an API key for a user account:
- Click the User icon.
- Click the email address. The Account Settings screen appears. If there is an existing API key, it shows the expiry date. If there is not an existing key, or if the expiry date is approaching, continue with step 3.
- Click Manage your API Key.
- (Optional) In the Generate your API Key section, enter the number of minutes the key will be valid.
- Click Generate. A key generates and appears under Your API Key with an expiry date.
Revoke a user account API key
Note:
Revoking an API key invalidates tokens generated with the key.
To revoke an API key:
- Click the User icon.
- Click your email address.
- Click Manage your API Key.
- Under Revoke your API Key, click Revoke. The API key is no longer listed.
Generate an API key for a service account
Note:
The Tenant Administrator role is required to generate or manage a service account API key.
To generate an API key for a service account:
- Click the Settings icon.
- Click Users.
- Locate the appropriate service account.
- Click the key icon.
- The Key Management sidebar appears. If there is an existing API key, it shows the expiry date. If there is not an existing key, or if the expiry date is approaching, continue with step 6.
- (Optional) In the Generate API Key section, enter the number of minutes the key will be valid.
- Click Generate. A key generates and appears with an expiry date.
Revoke a service account API key
Note:
Revoking an API key invalidates tokens generated with the key.
To revoke a service account API key:
- Click the Settings icon.
- Click Users.
- Locate the appropriate service account.
- Click the key icon. The Key Management sidebar appears.
- Click Revoke.
Manage keys with the API
Before generating a new key from the API, generate an access token. Then, check the expiry date of the existing key before generating a new one.
Note:
-
To aid with integration, the following sample script may be used to automate API key management: API key management PowerShell script.
-
If your current API key is not valid, you may generate an API key for a user account or generate an API key for a service account through the user-interface.
Generate an access token
To generate an access token:
-
Submit a POST request to the token service. For example:
POST https://{tenancy-URL}/token/ Content-Type: application/json{ "grantType": "apikey", "key": "abc123XYZ789example+ApiKey/Sample==" }
Note:
The content type must be set to application/json. In the request body, apikey must be specified for the grantType parameter, and the actual API key must be specified for the key parameter.
-
An access token is returned. Use this token in the header of the other calls in this section. For example:
curl -H "Authorization: Bearer {access_token}" https://{tenancy-URL}/ml/{target-endpoint}
Check the expiry date of the API key
After generating an access token, check the expiry date of the current API key:
-
Make a call to the
GET /api/account/apikeyendpoint. The server returns a response like this:{ "apikey": "_ABCDGAHHjYAYKyA9rA==", "expiryDate": "2025-03-27T12:31:43Z" } -
Check the
expiryDatefield to see when the API key expires. If theexpiryDateis approaching soon or will expire before it is used again, generate a new API key.
Note:
The expiry date is also available in the user interface. See steps 1-2 in Generate an API key for a user account.
Generate a new API key (if necessary)
Note:
Calls to the PUT /api/account/apikey endpoint will disconnect the current session. Authenticate again to save the new API key.
-
Make a call to the
PUT /api/account/apikeyendpoint:PUT https://{tenancy-URL}/api/account/apikey Content-Type: application/json Authorization: Bearer {access_token}{ "durationMinutes": 129600 }Note: The
durationMinutesparameter is optional. If omitted, the default duration will be used.A new API key like this appears in the response:
{ "apikey": "D08NxE25rbw5iFaTfLxbA==", "expiryDate": "2025-08-12T20:11:25Z" } -
In the next step, use this key to reauthenticate.
Reauthenticate with the new key
-
Make a call to
POST /tokenwith the new API key:POST https://{tenancy-URL}/token/ Content-Type: application/json{ "grantType": "apikey", "key": "D08NxE25rbw5iFaTfLxbA==" } -
All future automated tasks should now reference the new key.