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

Categories

Operations

Test

Operations

Cloud Credentials

Operations

Tasks

Operations

Admin

Operations

ETL Library

Operations

Package

Operations

Plugins

Operations

Disable a plugin

Request

Disable a plugin in the system for a specific build type.

Disabled plugins will not be available for use in jobs.

Security
ApiKeyAuth
Path
pluginIdstringrequired

Plugin ID

Example: ean-image-sourcing
Query
buildTypestring

Build type (default: development)

Default "development"
Example: buildType=development
curl -i -X POST \
  'http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugins/ean-image-sourcing/disable?buildType=development' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Plugin disabled successfully

Bodyapplication/json
object
Response
application/json
{}

Enable a plugin

Request

Enable a plugin in the system for a specific build type.

Enabled plugins will be available for use in jobs.

Security
ApiKeyAuth
Path
pluginIdstringrequired

Plugin ID

Example: ean-image-sourcing
Query
buildTypestring

Build type (default: development)

Default "development"
Example: buildType=development
curl -i -X POST \
  'http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugins/ean-image-sourcing/enable?buildType=development' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Plugin enabled successfully

Bodyapplication/json
object
Response
application/json
{}

List all plugins

Request

Returns the list of all plugins available in the system, filtered by build type.

Security
ApiKeyAuth
Query
buildTypestring

Build type (default: development)

Default "development"
Example: buildType=development
curl -i -X GET \
  'http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugins?buildType=development' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

List of plugins

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

Upload a new plugin

Request

Uploads a new plugin to the system as a JAR file.

The plugin can be associated with one or more organizations and a specific build type.

Security
ApiKeyAuth
Bodymultipart/form-datarequired

Plugin file and metadata

fileobject(FormDataContentDisposition)required

Content disposition information for form data

file.​typestring

Type

file.​parametersobject

Parameters

file.​fileNamestring

Filename

file.​creationDatestring(date-time)

Creationdate

file.​modificationDatestring(date-time)

Modificationdate

file.​readDatestring(date-time)

Readdate

file.​sizeinteger(int64)

Size

file.​namestring

Name

pluginIdstringrequired

Plugin ID

Example: "my-plugin"
buildTypestring

Build type (default: development)

Default "development"
Example: "development"
buildNumberinteger(int32)

Plugin build number

Example: 1
organizationIdsstring

List of organization IDs separated by comma

Example: "1,2,3"
curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugins/upload \
  -H 'Content-Type: multipart/form-data' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -F 'file[type]=string' \
  -F 'file[parameters][property1]=string' \
  -F 'file[parameters][property2]=string' \
  -F 'file[fileName]=string' \
  -F 'file[creationDate]=2019-08-24T14:15:22Z' \
  -F 'file[modificationDate]=2019-08-24T14:15:22Z' \
  -F 'file[readDate]=2019-08-24T14:15:22Z' \
  -F 'file[size]=0' \
  -F 'file[name]=string' \
  -F pluginId=my-plugin \
  -F buildType=development \
  -F buildNumber=1 \
  -F 'organizationIds=1,2,3'

Responses

Plugin uploaded successfully

Bodyapplication/json
object
Response
application/json
{}

Get a specific plugin installation

Request

Returns the details of a plugin installation identified by the ID.

Security
ApiKeyAuth
Path
idinteger(int64)required

Installation ID

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

Responses

Plugin installation details

Bodyapplication/json
idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

Response
application/json
{ "id": 0, "pluginId": "string", "pluginType": "string", "buildType": "string", "buildNumber": 0, "version": "string", "jarPath": "string", "manifestPath": "string", "enabled": true, "organizationId": "string", "organizationIdsJson": "string", "mainClass": "string", "description": "string", "installedAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "enabledAt": "2019-08-24T14:15:22Z", "enabledBy": "string", "installedBy": "string" }

Update a plugin installation

Request

Updates the data of an existing plugin installation, including configurations and metadata.

Security
ApiKeyAuth
Path
idinteger(int64)required

Unique ID of the installation to update

Example: 1
Bodyapplication/jsonrequired

Updated installation data

idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

curl -i -X PUT \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations/1 \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "id": 0,
    "pluginId": "string",
    "pluginType": "string",
    "buildType": "string",
    "buildNumber": 0,
    "version": "string",
    "jarPath": "string",
    "manifestPath": "string",
    "enabled": true,
    "organizationId": "string",
    "organizationIdsJson": "string",
    "mainClass": "string",
    "description": "string",
    "installedAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "enabledAt": "2019-08-24T14:15:22Z",
    "enabledBy": "string",
    "installedBy": "string"
  }'

Responses

Installation updated successfully

Bodyapplication/json
idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

Response
application/json
{ "id": 0, "pluginId": "string", "pluginType": "string", "buildType": "string", "buildNumber": 0, "version": "string", "jarPath": "string", "manifestPath": "string", "enabled": true, "organizationId": "string", "organizationIdsJson": "string", "mainClass": "string", "description": "string", "installedAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "enabledAt": "2019-08-24T14:15:22Z", "enabledBy": "string", "installedBy": "string" }

Delete a plugin installation

Request

Deletes a plugin installation from the system.

Warning: This operation is irreversible. The plugin will no longer be available for use in jobs.

Security
ApiKeyAuth
Path
idinteger(int64)required

Unique ID of the installation to delete

Example: 1
curl -i -X DELETE \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations/1 \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Installation deleted successfully

Bodyapplication/json
object
Response
application/json
{}

Disable a plugin installation

Request

Disable a plugin installation in the system.

Disabled plugins will not be available for use in jobs.

Security
ApiKeyAuth
Path
idinteger(int64)required

Installation ID

Example: 1
curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations/1/disable \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Installation disabled successfully

Bodyapplication/json
object
Response
application/json
{}

Enable a plugin installation

Request

Enable a plugin installation in the system.

Enabled plugins will be available for use in jobs.

Security
ApiKeyAuth
Path
idinteger(int64)required

Installation ID

Example: 1
curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations/1/enable \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Installation enabled successfully

Bodyapplication/json
object
Response
application/json
{}

Get all plugin installations

Request

Returns the list of all plugin installations available in the system, with support for filtering by organization and enabled status.

Security
ApiKeyAuth
Query
organizationIdstring

Filter by organization ID

Example: organizationId=1
enabledOnlyboolean

Return only enabled installations

Default false
curl -i -X GET \
  'http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations?organizationId=1&enabledOnly=false' \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

List of plugin installations

Bodyapplication/jsonArray [
idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

]
Response
application/json
[ { "id": 0, "pluginId": "string", "pluginType": "string", "buildType": "string", "buildNumber": 0, "version": "string", "jarPath": "string", "manifestPath": "string", "enabled": true, "organizationId": "string", "organizationIdsJson": "string", "mainClass": "string", "description": "string", "installedAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "enabledAt": "2019-08-24T14:15:22Z", "enabledBy": "string", "installedBy": "string" } ]

Register a new plugin

Request

Registers a new plugin in the system as an installation.

The plugin can be associated with one or more organizations.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

Plugin installation data

idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "id": 0,
    "pluginId": "string",
    "pluginType": "string",
    "buildType": "string",
    "buildNumber": 0,
    "version": "string",
    "jarPath": "string",
    "manifestPath": "string",
    "enabled": true,
    "organizationId": "string",
    "organizationIdsJson": "string",
    "mainClass": "string",
    "description": "string",
    "installedAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "enabledAt": "2019-08-24T14:15:22Z",
    "enabledBy": "string",
    "installedBy": "string"
  }'

Responses

Plugin registered successfully

Bodyapplication/json
idinteger(int64)

Id

pluginIdstring

Pluginid

pluginTypestring

Plugintype

buildTypestring

Buildtype

buildNumberinteger(int32)

Buildnumber

versionstring

Version

jarPathstring

Jarpath

manifestPathstring

Manifestpath

enabledboolean

Enabled

organizationIdstring

Organizationid

organizationIdsJsonstring

Organizationidsjson

mainClassstring

Mainclass

descriptionstring

Description

installedAtstring(date-time)

Installedat

updatedAtstring(date-time)

Updatedat

enabledAtstring(date-time)

Enabledat

enabledBystring

Enabledby

installedBystring

Installedby

Response
application/json
{ "id": 0, "pluginId": "string", "pluginType": "string", "buildType": "string", "buildNumber": 0, "version": "string", "jarPath": "string", "manifestPath": "string", "enabled": true, "organizationId": "string", "organizationIdsJson": "string", "mainClass": "string", "description": "string", "installedAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "enabledAt": "2019-08-24T14:15:22Z", "enabledBy": "string", "installedBy": "string" }

Reload all plugins

Request

Reloads all plugins in the system, updating configurations and installations.

Useful after uploading or modifying plugins to apply changes without restarting the system.

Security
ApiKeyAuth
curl -i -X POST \
  http://docs.webrobot.eu/_mock/openapi/webrobot/api/admin/plugin-installations/reload \
  -H 'X-API-Key: YOUR_API_KEY_HERE'

Responses

Plugins reloaded successfully

Bodyapplication/json
messagestring
Example: "Plugins reloaded successfully"
Response
application/json
{ "message": "Plugins reloaded successfully" }

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