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:
| Type | Resource | Limit |
|---|---|---|
| All | All API client endpoints | 60 requests per minute |
Quick reference
| Type | Resource | Description |
|---|---|---|
| GET | /api/developer_api_clients | List Developer API Clients. |
| POST | /api/developer_api_clients | Create Developer API Client. |
| GET | /api/developer_api_clients/:id | Get Developer API Client by ID. |
| PUT | /api/developer_api_clients/:id | Update Developer API Clients. |
| DELETE | /api/developer_api_clients/:id | Delete Developer API Client. |
| POST | /api/developer_api_clients/:id/regenerate | Regenerate Developer API Client token. |
| GET | /api/developer_api_client_roles | List Developer API Client roles. |
List Developer API clients
List all Developer API clients.
bash
GET https://YOUR_DATA_CENTER/api/developer_api_clientsQuery parameters
| Name | Type | Description |
|---|---|---|
| per_page | integer | Number of API clients to return in a single page. Defaults to 100. Max is 100. |
| page | integer | Page 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.
bash
POST https://YOUR_DATA_CENTER/api/developer_api_clientsPayload
| Name | Type | Description |
|---|---|---|
| name | String | Name of the API client |
| api_privilege_group_id | integer | API client role ID |
| all_folders | boolean required | Flag indicating whether API client has access to all folders |
| folder_ids | array | Array of folder IDs. Required if all_folders is false. |
| environment_name | string | Name of the environment. Required if your workspace has environments enabled. |
| ip_allow_list | string 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.
bash
GET https://YOUR_DATA_CENTER/api/developer_api_clients/:idPath parameters
| Name | Type | Description |
|---|---|---|
| id | integer 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.
bash
PUT https://YOUR_DATA_CENTER/api/developer_api_clients/:idPath parameters
| Name | Type | Description |
|---|---|---|
| id | integer required | ID of the API Client. |
Payload
| Name | Type | Description |
|---|---|---|
| name | String | Name of the API client |
| api_privilege_group_id | integer | API client role ID |
| all_folders | boolean required | Flag indicating whether API client has access to all folders |
| folder_ids | array | Array of folder IDs. Required if all_folders is false. |
| environment_name | string | Name of the environment. Required if your workspace has environments enabled. |
| ip_allow_list | string 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.
bash
DELETE https://YOUR_DATA_CENTER/api/developer_api_clients/:idPath parameters
| Name | Type | Description |
|---|---|---|
| id | integer 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.
bash
POST https://YOUR_DATA_CENTER/api/developer_api_clients/:id/regeneratePath parameters
| Name | Type | Description |
|---|---|---|
| id | integer 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.
bash
GET https://YOUR_DATA_CENTER/api/developer_api_client_rolesQuery parameters
| Name | Type | Description |
|---|---|---|
| per_page | integer | Number of API clients to return in a single page. Defaults to 100. Max is 100. |
| page | integer | Page 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: