Skip to content

WebRobot ETL API (1.0.0)

API for managing projects, jobs, datasets, and ETL pipelines on WebRobot.

Authentication

The API uses API Keys for authentication. Include the X-API-Key header in all requests.

Base URL

  • Production: https://api.webrobot.eu/api
  • Development: http://localhost:8020/api

Rate Limiting

Requests are limited to 1000 requests per minute per API key.

Download OpenAPI description
Overview
WebRobot Support
License
Languages
Servers
Mock server
http://docs.webrobot.eu/_mock/openapi/
Production
https://api.webrobot.eu/api/
Local development
http://localhost:8020/api/

Cloud

Operations

Scheduler

Operations

Spark

Operations

Health

Operations

Training

Operations

EAN Plugin

Operations

Jobs

Operations

Bootstrap

Operations

Images

Operations

Info

Operations

Query

Operations

Upload

Operations

AI Providers

Operations

Models

Operations

Datasets

Operations

Agents

Operations

Create a new PySpark agent

Request

Creates a new PySpark agent that can be used to execute ETL jobs.

An agent contains the PySpark code that is executed when a job is started. The agent must be associated with a category.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

Agent data to create

idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "id": "string",
    "name": "string",
    "description": "string",
    "enabled": true,
    "apiEndpoint": "string",
    "executionMode": "MANUAL",
    "categoryId": "string",
    "type": "SCRAPING_AGENT",
    "role": "string",
    "backstory": "string",
    "defaultPrompt": "string",
    "prompts": "string",
    "config": "string",
    "code": "string",
    "codeTypeId": "string",
    "pysparkCode": "string",
    "pythonExtensions": "string",
    "generatedAt": "2019-08-24T14:15:22Z",
    "toolIds": [
      "string"
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }'

Responses

Agent created successfully

Bodyapplication/json
idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

Response
application/json
{ "id": "string", "name": "string", "description": "string", "enabled": true, "apiEndpoint": "string", "executionMode": "MANUAL", "categoryId": "string", "type": "SCRAPING_AGENT", "role": "string", "backstory": "string", "defaultPrompt": "string", "prompts": "string", "config": "string", "code": "string", "codeTypeId": "string", "pysparkCode": "string", "pythonExtensions": "string", "generatedAt": "2019-08-24T14:15:22Z", "toolIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Delete an agent

Request

Deletes a PySpark agent from the system.

Warning: This operation is irreversible. Jobs that use this agent will no longer be able to be executed.

Security
ApiKeyAuth
Path
agentIdstringrequired

Unique ID of the agent to delete

Example: 123
curl -i -X DELETE \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents/123 \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Agent deleted successfully

Bodyapplication/json
object
Response
application/json
{}

Get a specific agent

Request

Returns the details of a specific PySpark agent, including the source code.

Security
ApiKeyAuth
Path
categoryIdstringrequired

ID of the category the agent belongs to

Example: 1
agentIdstringrequired

Unique ID of the agent

Example: 123
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents/1/123 \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Agent details

Bodyapplication/json
idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

Response
application/json
{ "id": "string", "name": "string", "description": "string", "enabled": true, "apiEndpoint": "string", "executionMode": "MANUAL", "categoryId": "string", "type": "SCRAPING_AGENT", "role": "string", "backstory": "string", "defaultPrompt": "string", "prompts": "string", "config": "string", "code": "string", "codeTypeId": "string", "pysparkCode": "string", "pythonExtensions": "string", "generatedAt": "2019-08-24T14:15:22Z", "toolIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Update an agent

Request

Updates the data of an existing PySpark agent, including the source code.

Note: Updating the source code requires that no job is running with this agent.

Security
ApiKeyAuth
Path
categoryIdstringrequired

ID of the category the agent belongs to

Example: 1
agentIdstringrequired

Unique ID of the agent to update

Example: 123
Bodyapplication/jsonrequired

Updated agent data

idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

curl -i -X PUT \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents/1/123 \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "id": "string",
    "name": "string",
    "description": "string",
    "enabled": true,
    "apiEndpoint": "string",
    "executionMode": "MANUAL",
    "categoryId": "string",
    "type": "SCRAPING_AGENT",
    "role": "string",
    "backstory": "string",
    "defaultPrompt": "string",
    "prompts": "string",
    "config": "string",
    "code": "string",
    "codeTypeId": "string",
    "pysparkCode": "string",
    "pythonExtensions": "string",
    "generatedAt": "2019-08-24T14:15:22Z",
    "toolIds": [
      "string"
    ],
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }'

Responses

Agent updated successfully

Bodyapplication/json
idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

Response
application/json
{ "id": "string", "name": "string", "description": "string", "enabled": true, "apiEndpoint": "string", "executionMode": "MANUAL", "categoryId": "string", "type": "SCRAPING_AGENT", "role": "string", "backstory": "string", "defaultPrompt": "string", "prompts": "string", "config": "string", "code": "string", "codeTypeId": "string", "pysparkCode": "string", "pythonExtensions": "string", "generatedAt": "2019-08-24T14:15:22Z", "toolIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get an agent by name

Request

Returns the details of a PySpark agent searching by name within of a category.

Security
ApiKeyAuth
Path
categoryIdstringrequired

Category ID

Example: 1
agentNamestringrequired

Agent name

Example: my-agent
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents/1/name/my-agent \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Agent details

Bodyapplication/json
idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

Response
application/json
{ "id": "string", "name": "string", "description": "string", "enabled": true, "apiEndpoint": "string", "executionMode": "MANUAL", "categoryId": "string", "type": "SCRAPING_AGENT", "role": "string", "backstory": "string", "defaultPrompt": "string", "prompts": "string", "config": "string", "code": "string", "codeTypeId": "string", "pysparkCode": "string", "pythonExtensions": "string", "generatedAt": "2019-08-24T14:15:22Z", "toolIds": [ "string" ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }

Get all agents of a category

Request

Returns the list of all PySpark agents belonging to a specific category.

Security
ApiKeyAuth
Path
categoryIdstringrequired

Category ID

Example: 1
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/agents/1 \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

List of agents in the category

Bodyapplication/jsonArray [
idstring

Id

namestring

Name

descriptionstring

Description

enabledboolean

Enabled

apiEndpointstring

Apiendpoint

executionModestring

Executionmode

Enum"MANUAL""SCHEDULED""EVENT_DRIVEN"
categoryIdstring

Categoryid

typestring

Type

Enum"SCRAPING_AGENT""LEADGEN_AGENT""TRADING_AGENT""DATA_ANALYTICS_AGENT""REPORTING_AGENT""ML_AGENT"
rolestring

Role

backstorystring

Backstory

defaultPromptstring

Defaultprompt

promptsstring

Prompts

configstring

Config

codestring

Code

codeTypeIdstring

Codetypeid

pysparkCodestring

Pysparkcode

pythonExtensionsstring

Pythonextensions

generatedAtstring(date-time)

Generatedat

toolIdsArray of strings

Toolids

createdAtstring(date-time)

Createdat

updatedAtstring(date-time)

Updatedat

]
Response
application/json
[ { "id": "string", "name": "string", "description": "string", "enabled": true, "apiEndpoint": "string", "executionMode": "MANUAL", "categoryId": "string", "type": "SCRAPING_AGENT", "role": "string", "backstory": "string", "defaultPrompt": "string", "prompts": "string", "config": "string", "code": "string", "codeTypeId": "string", "pysparkCode": "string", "pythonExtensions": "string", "generatedAt": "2019-08-24T14:15:22Z", "toolIds": [ … ], "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } ]

Get extensions of an agent

Request

Returns the list of all Python extensions associated with a specific agent.

Security
ApiKeyAuth
Path
agentIdstringrequired

Agent ID

Example: 123
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/python-extensions/agents/123/extensions \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

List of the agent's extensions

Bodyapplication/jsonArray [
object
]
Response
application/json
[ {} ]

Get Python extensions of an agent

Request

Returns the list of all Python extensions associated with a specific agent.

Security
ApiKeyAuth
Path
agentIdstringrequired

Agent ID

Example: 123
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/python-extensions/agents/123/python-extensions \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

List of the agent's Python extensions

Bodyapplication/jsonArray [
object
]
Response
application/json
[ {} ]

Update Python extensions of an agent

Request

Updates the list of Python extensions associated with a specific agent.

Security
ApiKeyAuth
Path
agentIdstringrequired

Agent ID

Example: 123
Bodyapplication/jsonrequired

List of Python extensions to associate with the agent

property name*objectadditional property
curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/python-extensions/agents/123/python-extensions \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "property1": {},
    "property2": {}
  }'

Responses

Extensions updated successfully

Bodyapplication/json
object
Response
application/json
{}

Categories

Operations

Test

Operations

Cloud Credentials

Operations

Tasks

Operations

Admin

Operations

ETL Library

Operations

Package

Operations

Plugins

Operations

Projects

Operations

ETL Execution

Operations

Execution

Operations

Webhooks

Operations

Metrics

Operations

getHtml

Request

Security
ApiKeyAuth
Path
protocolstringrequired

HTTP protocol (http or https)

urlstringrequired

URL to fetch HTML content from

curl -i -X GET \
  'http://docs.webrobot.eu/_mock/openapi/webrobot/api/html/{url}/{protocol}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

default response

Bodytext/html

getById

Request

Security
ApiKeyAuth
Path
tablestringrequired

Table name in Strapi

idstringrequired

Record ID

curl -i -X GET \
  'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

default response

Bodyapplication/json
Response
application/json
null

update

Request

Security
ApiKeyAuth
Path
tablestringrequired

Table name in Strapi

idstringrequired

Record ID

Bodyapplication/json
property name*objectadditional property
curl -i -X PUT \
  'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "property1": {},
    "property2": {}
  }'

Responses

default response

Bodyapplication/json
Response
application/json
null

delete

Request

Security
ApiKeyAuth
Path
tablestringrequired

Table name in Strapi

idstringrequired

Record ID

curl -i -X DELETE \
  'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

default response

Bodyapplication/json
Response
application/json
null

findAll

Request

Security
ApiKeyAuth
Path
tablestringrequired
Query
pageinteger(int32)
Default 0
pageSizeinteger(int32)

Number of records per page

Default 50
curl -i -X GET \
  'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}?page=0&pageSize=50' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

default response

Bodyapplication/json
Response
application/json
null

insert

Request

Security
ApiKeyAuth
Path
tablestringrequired

Table name in Strapi

Bodyapplication/json
property name*objectadditional property
curl -i -X POST \
  'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "property1": {},
    "property2": {}
  }'

Responses

default response

Bodyapplication/json
Response
application/json
null

getHealth

Request

Security
ApiKeyAuth
curl -i -X GET \
  http://docs.webrobot.eu/_mock/openapi/health \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

default response

Bodyapplication/json
Response
application/json
null

Python Extensions

Operations