Project ID
- Get metrics aggregate of a project
WebRobot ETL API (1.0.0)
API for managing projects, jobs, datasets, and ETL pipelines on WebRobot.
The API uses API Keys for authentication. Include the X-API-Key header in all requests.
Request
Returns the aggregated metrics of all executions of a job, including sums, averages and counts by status.
Metrics are computed at the database level for optimal performance and include:
- Total number of executions
- Total and average duration
- Total processed and output records
- Total memory usage
- Execution counts by status (COMPLETED, FAILED, RUNNING)
Metrics can be filtered by time range using startTime and endTime.
- Mock serverhttp://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/id/{projectId}/jobs/{jobId}/metrics
- Productionhttps://api.webrobot.eu/api/webrobot/api/projects/id/{projectId}/jobs/{jobId}/metrics
- Local developmenthttp://localhost:8020/api/webrobot/api/projects/id/{projectId}/jobs/{jobId}/metrics
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'http://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/id/98/jobs/220/metrics?startTime=2025-12-11T00%3A00%3A00Z&endTime=2025-12-11T23%3A59%3A59Z' \
-H 'X-API-Key: YOUR_API_KEY_HERE'{ "jobId": 0, "startTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "aggregated": { "totalExecutions": 0, "totalDurationSeconds": 0, "averageDurationSeconds": 0.1, "totalRecordsProcessed": 0, "totalRecordsOutput": 0, "totalOutputFileSizeBytes": 0, "totalDriverMemoryUsedBytes": 0, "totalExecutorMemoryUsedBytes": 0, "totalCpuTimeSeconds": 0, "totalErrorCount": 0, "totalWarningCount": 0, "completedCount": 0, "failedCount": 0, "runningCount": 0 } }
Request
Returns the aggregated metrics of all executions of all jobs of a project, including sums, averages, and counts by status.
Metrics are computed at the database level for optimal performance and include:
- Total number of executions for the project
- Total and average duration
- Total processed and output records
- Total memory usage
- Execution counts by status (COMPLETED, FAILED, RUNNING)
- Per-job breakdown with metrics for each job
Metrics can be filtered by time range using startTime and endTime.
- Mock serverhttp://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/id/{projectId}/metrics
- Productionhttps://api.webrobot.eu/api/webrobot/api/projects/id/{projectId}/metrics
- Local developmenthttp://localhost:8020/api/webrobot/api/projects/id/{projectId}/metrics
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'http://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/id/98/metrics?startTime=2025-12-11T00%3A00%3A00Z&endTime=2025-12-11T23%3A59%3A59Z' \
-H 'X-API-Key: YOUR_API_KEY_HERE'{ "projectId": 0, "startTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "aggregated": { "totalExecutions": 0, "totalDurationSeconds": 0, "averageDurationSeconds": 0.1, "totalRecordsProcessed": 0, "totalRecordsOutput": 0, "totalOutputFileSizeBytes": 0, "totalDriverMemoryUsedBytes": 0, "totalExecutorMemoryUsedBytes": 0, "totalCpuTimeSeconds": 0, "totalErrorCount": 0, "totalWarningCount": 0, "completedCount": 0, "failedCount": 0, "runningCount": 0 }, "jobs": [ { … } ] }
Request
Detects and marks as FAILED tasks that are RUNNING for longer than the specified timeout ("zombie" tasks).
A task is considered a "zombie" if:
- It has status RUNNING
- It has been running longer than the specified timeout (default: 24 hours)
- The
startedAttimestamp (orscheduledTimeas a fallback) exceeds the timeout
When a task is marked as a zombie:
- Status is updated to FAILED
executionLogis updated with FAILED status,completedAt, and an error message- Total execution duration is computed
Note: This endpoint requires admin privileges (scope admin).
- Mock serverhttp://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/admin/tasks/mark-zombies
- Productionhttps://api.webrobot.eu/api/webrobot/api/projects/admin/tasks/mark-zombies
- Local developmenthttp://localhost:8020/api/webrobot/api/projects/admin/tasks/mark-zombies
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'http://docs.webrobot.eu/_mock/openapi/webrobot/api/projects/admin/tasks/mark-zombies?timeoutHours=24' \
-H 'X-API-Key: YOUR_API_KEY_HERE'{ "markedCount": 0, "markedTaskIds": [ 0 ], "timeoutHours": 0, "message": "Marked 5 zombie task(s) as FAILED" }
- Mock serverhttp://docs.webrobot.eu/_mock/openapi/webrobot/api/html/{url}/{protocol}
- Productionhttps://api.webrobot.eu/api/webrobot/api/html/{url}/{protocol}
- Local developmenthttp://localhost:8020/api/webrobot/api/html/{url}/{protocol}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'http://docs.webrobot.eu/_mock/openapi/webrobot/api/html/{url}/{protocol}' \
-H 'X-API-Key: YOUR_API_KEY_HERE'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}
- Productionhttps://api.webrobot.eu/api/api/strapi-tables/{table}/{id}
- Local developmenthttp://localhost:8020/api/api/strapi-tables/{table}/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}' \
-H 'X-API-Key: YOUR_API_KEY_HERE'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}
- Productionhttps://api.webrobot.eu/api/api/strapi-tables/{table}/{id}
- Local developmenthttp://localhost:8020/api/api/strapi-tables/{table}/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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": {}
}'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}
- Productionhttps://api.webrobot.eu/api/api/strapi-tables/{table}/{id}
- Local developmenthttp://localhost:8020/api/api/strapi-tables/{table}/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'http://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}/{id}' \
-H 'X-API-Key: YOUR_API_KEY_HERE'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}
- Productionhttps://api.webrobot.eu/api/api/strapi-tables/{table}
- Local developmenthttp://localhost:8020/api/api/strapi-tables/{table}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/api/strapi-tables/{table}
- Productionhttps://api.webrobot.eu/api/api/strapi-tables/{table}
- Local developmenthttp://localhost:8020/api/api/strapi-tables/{table}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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": {}
}'- Mock serverhttp://docs.webrobot.eu/_mock/openapi/health
- Productionhttps://api.webrobot.eu/api/health
- Local developmenthttp://localhost:8020/api/health
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
http://docs.webrobot.eu/_mock/openapi/health \
-H 'X-API-Key: YOUR_API_KEY_HERE'