On-premise API

Workato API allows you to work with on-prem groups and on-prem agents through the API.

Rate limits

On-prem resources have the following rate limits:

Quick reference

TypeResourceDescription
GET/api/on_prem_groupsList on-prem groups.
POST/api/on_prem_groupsCreate on-prem group.
GET/api/on_prem_groups/:idGet on-prem group details.
PUT/api/on_prem_groups/:idUpdate on-prem group.
DELETE/api/on_prem_groups/:idDelete an on-prem group.
GET/api/on_prem_groups/:id/statusGet on-prem group status.
GET/api/on_prem_agentsList on-prem agents.
POST/api/on_prem_agentsCreate on-prem agent.
GET/api/on_prem_agents/:idGet on-prem agent details.
PUT/api/on_prem_agents/:idUpdate on-prem agent.
DELETE/api/on_prem_agents/:idDelete on-prem agents.
GET/api/on_prem_agents/:id/statusGet on-prem agent status.
GET/api/on_prem_agents/searchSearch for on-prem agent.
GET/api/on_prem_agents/:id/activation_codeGet on-prem agent activation code.

List on-prem groups

List all on-prem groups in your workspace.

shell
GET /api/on_prem_groups

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_groups' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
[
  {
    "id": 16803,
    "name": "CRM server",
    "created_at": "2017-09-21T01:51:45.954-07:00",
    "in_use": true,
    "use_managed_connection": true,
    "config_version": 9,
    "logs_enabled": false,
    "whitelisted_ips": [
      "198.51.100.10",
      "192.0.2.0/24"
    ]
  }
]

Create on-prem group

Create an on-prem group.

shell
POST /api/on_prem_groups

Payload

NameTypeDescription
namestring
required
The on-prem group's name.
use_managed_connectionboolean
optional
Set to true to configure the on-prem group using a cloud profile or false to configure each agent manually using a config.yml file. Defaults to false if not specified.
settings_attributes[whitelisted_ips]array of strings
optional
Defines IPs to whitelist for the on-prem group.

Sample request

shell
curl -X POST 'https://www.workato.com/api/on_prem_groups' \
     -H 'Authorization: Bearer <api_token>' \
     -H 'Content-Type: application/json' \
     -d '{
          "name":"CRM server",
          "use_managed_connection": true,
          "settings_attributes": { 
            "whitelisted_ips": [
              "198.51.100.10",
              "192.0.2.0/24"
            ]
          }
         }'

Response

json
[
  {
    "id": 16803,
    "name": "CRM server",
    "created_at": "2017-09-21T01:51:45.954-07:00",
    "in_use": false,
    "use_managed_connection": true,
    "config_version": null,
    "logs_enabled": false,
    "whitelisted_ips": [
      "198.51.100.10",
      "192.0.2.0/24"
    ]
  }
]

Get on-prem group details

Get details about an on-prem group.

shell
GET /api/on_prem_groups/:id

URL parameters

NameTypeDescription
idinteger
required
The ID of the on-prem group to retrieve.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_groups/16803' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
[
  {
    "id": 16803,
    "name": "CRM server",
    "created_at": "2017-09-21T01:51:45.954-07:00",
    "in_use": false,
    "use_managed_connection": false,
    "config_version": null,
    "logs_enabled": false,
    "whitelisted_ips": [
        "198.51.100.10",
        "192.0.2.0/24"
    ]
  }
]

Update on-prem group

Update an on-prem group.

shell
PUT /api/on_prem_groups/:id

URL parameters

NameTypeDescription
idinteger
required
The on-prem group's ID.

Payload

NameTypeDescription
namestring
optional
The on-prem group's name.
settings_attributes[whitelisted_ips]array of strings
optional
Defines IPs to whitelist for the on-prem group.

Sample request

shell
curl -X PUT 'https://www.workato.com/api/on_prem_groups/16803' \
     -H 'Authorization: Bearer <api_token>' \
     -H 'Content-Type: application/json' \
     -d '{
          "name":"CRM server",
          "settings_attributes": { 
            "whitelisted_ips": [
              "198.51.100.10",
              "192.0.2.0/24"
            ]
          }
         }'

Response

json
[
  {
    "id": 16803,
    "name": "CRM server",
    "created_at": "2017-09-21T01:51:45.954-07:00",
    "in_use": false,
    "use_managed_connection": false,
    "config_version": null,
    "logs_enabled": false,
    "whitelisted_ips": [
      "198.51.100.10",
      "192.0.2.0/24"
    ]
  }
]

Delete on-prem group

Delete an on-prem group and the on-prem agents it contains.

shell
DELETE /api/on_prem_groups/:id

URL parameters

NameTypeDescription
idinteger
required
The on-prem group's ID.

Sample request

shell
curl -X DELETE 'https://www.workato.com/api/on_prem_groups/16803' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
{
  "success": true
}

Get on-prem group status

Get the status of an on-prem group.

shell
GET /api/on_prem_groups/:id/status

URL parameters

NameTypeDescription
idinteger
required
The on-prem group's ID.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_groups/16805/status' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
{
  "agent_count": 4,
  "active_agent_count": 3,
  "profiles": [
    {
      "name": "CRM-Oracle",
      "provider": "oracle",
      "type": "Database",
      "connections": [
        {
          "id": 440724,
          "name": "Oracle CRM DB"
        }
      ]
    }
  ]
}

List on-prem agents

List all on-prem agents in your workspace.

shell
GET /api/on_prem_agents

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_agents' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
[
  {
    "id": 12233,
    "on_prem_group_id": 16803,
    "name": "primary agent",
    "cn": "134fd7acd89cf5b8b96deea4870d413d:12233",
    "os": "windows",
    "installation_method": null,
    "awaiting_setup": false,
    "enabled": true,
    "last_seen_version": "25.0",
    "created_at": "2024-12-10T13:20:03.330-08:00",
    "updated_at": "2025-05-12T13:03:23.754-07:00",
    "state": "connected",
    "activated": true
  }
]

Create on-prem agent

Create an on-prem agent.

shell
POST /api/on_prem_agents

Payload

NameTypeDescription
namestring
required
The on-prem agent's name.
on_prem_group_idinteger
required
The on-prem group's ID. You can retrieve group IDs from the List on-prem groups endpoint's response.
osstring
optional
The server's operating system.
awaiting_setupboolean
optional
Set to true to create the agent in the awaiting_setup state. Set to false to skip agent setup and get its status right away. Defaults to true if not specified.
enabledboolean
optional
Set to true to enable the agent or false to disable it.

Sample request

shell
curl -X POST 'https://www.workato.com/api/on_prem_agents' \
     -H 'Authorization: Bearer <api_token>' \
     -H 'Content-Type: application/json' \
     -d '{
          "name": "US-west-1",
          "on_prem_group_id": 50,
          "os": "windows",
          "awaiting_setup": false
         }'

Response

json
[
  {
    "id": 12233,
    "on_prem_group_id": 50,
    "name": "US-west-1",
    "cn": "134fd7acd89cf5b8b96deea4870d413d:12233",
    "os": "windows",
    "installation_method": null,
    "awaiting_setup": false,
    "enabled": true,
    "last_seen_version": null,
    "created_at": "2025-06-24T12:37:49.824-07:00",
    "updated_at": "2025-06-24T12:37:49.886-07:00",
    "state": "connected",
    "activated": false
  }
]

Get on-prem agent details

Get the details of an on-prem agent.

shell
GET /api/on_prem_agents/:id

URL parameters

NameTypeDescription
idinteger
required
The on-prem agent's ID.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_agents/12233' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
[
  {
    "id": 12233,
    "on_prem_group_id": 16803,
    "name": "primary agent",
    "cn": "134fd7acd89cf5b8b96deea4870d413d:12233",
    "os": "windows",
    "installation_method": null,
    "awaiting_setup": true,
    "enabled": true,
    "last_seen_version": null,
    "created_at": "2025-06-24T12:37:49.824-07:00",
    "updated_at": "2025-06-24T12:37:49.886-07:00",
    "state": "awaiting_setup",
    "activated": false
  }
]

Update on-prem agent

Update an on-prem agent.

shell
PUT /api/on_prem_agents/:id

URL parameters

NameTypeDescription
idinteger
required
The on-prem agent's ID.

Payload

NameTypeDescription
namestring
optional
The on-prem agent's name.
osstring
optional
The server's operating system.
on_prem_group_idinteger
optional
The on-prem group's ID. You can retrieve group IDs from the List on-prem groups endpoint's response.
enabledboolean
optional
Set to true to enable the agent or false to disable it.

Sample request

shell
curl -X PUT 'https://www.workato.com/api/on_prem_agents/49026' \
     -H 'Authorization: Bearer <api_token>' \
     -H 'Content-Type: application/json' \
     -d '{
           "name": "primary agent"
         }'

Response

json
[
  {
    "id": 49026,
    "on_prem_group_id": 32109,
    "name": "primary agent",
    "cn": "1ee944db3b24d7c19dfe4685c49b77a4:49026",
    "os": "windows",
    "installation_method": null,
    "awaiting_setup": false,
    "enabled": true,
    "last_seen_version": "27.0",
    "created_at": "2025-03-27T08:18:49.641-07:00",
    "updated_at": "2025-05-12T13:26:36.731-07:00",
    "state": "connected",
    "activated": true
  }
]

Delete on-prem agent

Delete an on-prem agent.

shell
DELETE /api/on_prem_agents/:id

URL parameters

NameTypeDescription
idinteger
required
The on-prem agent's ID.

Sample request

shell
curl -X DELETE 'https://www.workato.com/api/on_prem_agents/12233' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
{
  "success": true
}

Get on-prem agent status

Get the status of an on-prem agent.

shell
GET /api/on_prem_agents/:id/status

URL parameters

NameTypeDescription
idinteger
required
The on-prem agent's ID.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_agents/12233/status' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
{
  "active": true
}

Search for on-prem agent by common name

Search on-prem agents by their common name.

shell
GET /api/on_prem_agents/search

URL parameters

NameTypeDescription
cnstring
optional
The common name of the on-prem agent to retrieve. Omit this parameter to return all agents.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_agents/search' \
     -H 'Authorization: Bearer <api_token>' \
     -H 'Content-Type: application/json' \
     -d  '{
             "cn": "134fd7acd89cf5b8b96deea4870d413d:12233"
          }'

Response

json
[
  {
    "id": 12233,
    "on_prem_group_id": 16803,
    "name": "primary agent",
    "cn": "134fd7acd89cf5b8b96deea4870d413d:12233",
    "os": "windows",
    "awaiting_setup": false,
    "enabled": true
  }
]

Get on-prem agent activation code

Get an activation code for an on-prem agent.

shell
GET /api/on_prem_agents/:id/activation_code

URL parameters

NameTypeDescription
idinteger
required
The on-prem agent's ID.

Sample request

shell
curl -X GET 'https://www.workato.com/api/on_prem_agents/12233/activation_code' \
     -H 'Authorization: Bearer <api_token>' \

Response

json
[
  {
    "code": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJiMjY3MTA4NTU5NDBmMGFjYTVmNDYyMTFhNWYxMmJiNzo2MDg3MCIsImlhdCI6MTc0ODcyNTU5OSwiZXhwIjoxNzQ4NzI5MTk5LCJhZ2VudCI6NjA4NzAsImd3Ijoic2czLndvcmthdG8uY29tfHNnNC53b3JrYXRvLmNvbSJ9.JCcQ0NCetvIjP9xJJ1BIUAxmE9ImuNvtUJLNIazICiQg61RlSz2YJHywhbSXvakjjB77L7ZPydo43Rs_iiWiWRr5atk8iHvZlnfAKL_338-nFxmSkN-Ms7sL-fguNdQaO-DgkkZubAJ-qP8a34VKJ6QYA3c3SaixoNfnukKan0mUySTz7wQsVxU4C0Ff0R42AGO9CjKxYRobeBr_QgLJm6PtSUN5J6JkWGpyg9jTHJEpsFPDLBzJ0u7O7HkDP_onF4wdrraJ7_5BSn04ZllXw6oIwTbMWq1ncqhYHs0ZXNnv3efXF4L0tzgSkekdz-YasqojNSo0wzfpV0W_3vq_Mg"
  }
]

Last updated: