API clients ​

The following endpoints allow you to manage your API clients via developer APIs. This allows you to programmatically create new API clients when onboarding new teams or rotate API tokens regularly for all your API clients.

Rate limits ​

API client resources have the following rate limits:

TypeResourceQuota
AllAll API client endpoints60 requests per minute

Quick reference ​

TypeResourceDescription
GET/api/developer_api_clientsList Developer API Clients.
POST/api/developer_api_clientsCreate Developer API Client.
GET/api/developer_api_clients/:idGet Developer API Client by ID.
PUT/api/developer_api_clients/:idUpdate Developer API Clients.
DELETE/api/developer_api_clients/:idDelete Developer API Client.
POST/api/developer_api_clients/:id/regenerateRegenerate Developer API Client token.
GET/api/developer_api_client_rolesList Developer API Client roles.

List Developer API clients ​

List all Developer API clients.

GET https://YOUR_DATA_CENTER/api/developer_api_clients

Query parameters ​

NameTypeDescription
per_pageintegerNumber of API clients to return in a single page. Defaults to 100. Max is 100.
pageintegerPage number of the API clients to fetch. Defaults to 1.

Sample Request ​

shell
curl  -X GET https://YOUR_DATA_CENTER/api/developer_api_clients \
      -H 'Authorization: Bearer <api_token>'

Response ​

json
{
    "result": {
        "count": 3,
        "items": [
            {
                "id": 40947,
                "name": "Test",
                "api_privilege_group_id": 26779,
                "created_at": "2023-02-22T01:55:35.739-08:00",
                "updated_at": "2023-02-28T01:23:18.046-08:00",
                "all_folders": false,
                "folder_ids": [
                    26138,
                    26136
                ],
                "environment_name": "Development",
                "environment_id": 3218,
                "ip_allow_list": "192.0.2.10,198.51.100.5",
                "token": {
                    "updated_at": "2023-02-22T09:55:36.427Z"
                }
            },
        ]
    }
}

Create a Developer API client ​

Create a Developer API client.

POST https://YOUR_DATA_CENTER/api/developer_api_clients

Payload ​

NameTypeDescription
nameStringName of the API client
api_privilege_group_idintegerAPI client role ID
all_foldersboolean
required
Flag indicating whether API client has access to all folders
folder_idsarrayArray of folder IDs. Required if all_folders is false.
environment_namestringName of the environment. Required if your workspace has environments enabled.
ip_allow_liststring
optional
Array of IP addresses allowed to access the API client. Defaults to all IPs if not specified.

Sample Request ​

shell
curl  -X POST https://YOUR_DATA_CENTER/api/developer_api_clients \
      -H 'Authorization: Bearer <api_token>' \
      -H 'Content-Type: application/json' \
      -d '{
            "name": ":name",
            "api_privilege_group_id": :api_privilege_group_id_value,
            "environment_name": ":environment_name",
            "all_folders": :true_or_false,
            "ip_allow_list": ":ip_allow_list"
          }'

Response ​

json
{
    "result": {
        "id": 40948,
        "name": "Test Client",
        "api_privilege_group_id": 26779,
        "created_at": "2023-02-28T02:09:07.255-08:00",
        "updated_at": "2023-02-28T02:09:07.586-08:00",
        "all_folders": true,
        "environment_name": "Development",
        "environment_id": 3218,
        "ip_allow_list": "192.0.2.10,198.51.100.5",
        "token": {
            "updated_at": "2023-02-28T10:09:07.579Z",
            "value": "wrkaus-eyJhbGciOiJSUz..."
        }
    }
}

Get a Developer API client by ID ​

Get a Developer API client by ID.

GET https://YOUR_DATA_CENTER/api/developer_api_clients/:id

Path parameters ​

NameTypeDescription
idinteger
required
ID of the API Client.

Sample Request ​

shell
curl  -X GET https://YOUR_DATA_CENTER/api/developer_api_clients/:id \
      -H 'Authorization: Bearer <api_token>'

Response ​

json
{
    "result": {
        "id": 40948,
        "name": "Test Client",
        "api_privilege_group_id": 26779,
        "created_at": "2023-02-28T02:09:07.255-08:00",
        "updated_at": "2023-02-28T02:09:07.586-08:00",
        "all_folders": true,
        "environment_name": "Development",
        "environment_id": 3218,
        "token": {
            "updated_at": "2023-02-28T10:09:07.579Z"
        },
        "user": {
            "id": 3218,
            "name": "Workato Customer Success test"
        }
    }
}

Update a Developer API client ​

Update a Developer API client.

PUT https://YOUR_DATA_CENTER/api/developer_api_clients/:id

Path parameters ​

NameTypeDescription
idinteger
required
ID of the API Client.

Payload ​

NameTypeDescription
nameStringName of the API client
api_privilege_group_idintegerAPI client role ID
all_foldersboolean
required
Flag indicating whether API client has access to all folders
folder_idsarrayArray of folder IDs. Required if all_folders is false.
environment_namestringName of the environment. Required if your workspace has environments enabled.
ip_allow_liststring
optional
Array of IP addresses allowed to access the API client. Defaults to all IPs if not specified.

Sample Request ​

shell
curl  -X PUT https://YOUR_DATA_CENTER/api/developer_api_clients/:id \
      -H 'Authorization: Bearer <api_token>'  \
      -H 'Content-Type: application/json' \
      -d '{
            "name": ":name",
            "api_privilege_group_id": :api_privilege_group_id_value,
            "environment_name": ":environment_name",
            "all_folders": :true_or_false,
            "ip_allow_list": ":ip_allow_list"
          }'

Response ​

json
{
    "result": {
        "id": 40948,
        "name": "Test Client",
        "api_privilege_group_id": 26779,
        "created_at": "2023-02-28T02:09:07.255-08:00",
        "updated_at": "2023-02-28T02:09:07.586-08:00",
        "all_folders": true,
        "environment_name": "Development",
        "environment_id": 3218,
        "ip_allow_list": "192.0.2.10,198.51.100.5",
        "token": {
            "updated_at": "2023-02-28T10:09:07.579Z"
        },
        "user": {
            "id": 3218,
            "name": "Workato Customer Success test"
        }
    }
}

Delete a Developer API client ​

Delete a Developer API client.

DELETE https://YOUR_DATA_CENTER/api/developer_api_clients/:id

Path parameters ​

NameTypeDescription
idinteger
required
ID of the API Client.

Sample Request ​

shell
curl  -X DELETE https://YOUR_DATA_CENTER/api/developer_api_clients/:id \
      -H 'Authorization: Bearer <api_token>'

Response ​

json
{
    "result": "success"
}

Regenerate a Developer API Client token ​

Regenerates the API token for an API client. This invalidates the previous API token.

POST https://YOUR_DATA_CENTER/api/developer_api_clients/:id/regenerate

Path parameters ​

NameTypeDescription
idinteger
required
ID of the API Client.

Sample Request ​

shell
curl  -X POST https://YOUR_DATA_CENTER/api/developer_api_clients/:id/regenerate \
      -H 'Authorization: Bearer <api_token>'

Response ​

json
{
    "result": {
        "id": 40890,
        "name": "Test new API client",
        "api_privilege_group_id": 26779,
        "created_at": "2023-01-29T22:30:12.930-08:00",
        "updated_at": "2023-02-28T02:19:16.542-08:00",
        "all_folders": true,
        "environment_name": "Development",
        "environment_id": 3218,
        "token": {
            "updated_at": "2023-02-28T10:19:16.530Z",
            "value": "wrkaus-eyJhbGc..."
        }
    }
}

List Developer API client roles ​

List all Developer API Client roles.

GET https://YOUR_DATA_CENTER/api/developer_api_client_roles

Query parameters ​

NameTypeDescription
per_pageintegerNumber of API clients to return in a single page. Defaults to 100. Max is 100.
pageintegerPage number of the API clients to fetch. Defaults to 1.

Sample Request ​

shell
curl  -X GET https://YOUR_DATA_CENTER/api/developer_api_client_roles \
      -H 'Authorization: Bearer <api_token>'

Response ​

json
{
    "result": {
        "items": [
            {
                "id": 26779,
                "name": "Admin",
                "created_at": "2023-01-18T04:31:03.302-08:00",
                "updated_at": "2023-02-28T01:23:01.427-08:00"
            },
            ...
        ],
        "count": 3,
        "page": 1,
        "per_page": 100
    }
}

Last updated: