Downloads
CLI, helpers, and machine-readable specs for working against the Etlworks REST API.
Etlworks CLI
The CLI wraps the REST API for human use at the terminal: auth, deploy, run, monitor, audit. Same auth as the API (API key or JWT), so what you script in Bash you can hand off to ops.
etlworks CLI
Cross-platform binary (macOS, Linux, Windows). Authenticate once, run flows and inspect runs from a terminal or CI job.
Postman collection
Every operation in the REST API as a Postman collection: one folder per group, in the same order as the API reference. It is generated from the OpenAPI spec on every build, so the two never disagree.
etlworks-api.postman_collection.json
534 requests in 46 folders, Postman collection format v2.1. Path parameters are collection variables; optional query parameters are included but switched off, with their defaults filled in.
- In Postman, choose Import and select the file.
- Open the collection’s Variables and set
baseUrlto your instance plus/rest(it defaults tohttps://app.etlworks.com/rest) andtokento an API key or a JWT. - Every request inherits bearer authentication from the collection, except Exchange a login and password for a JWT, which is how you get a token if you do not use an API key.
OpenAPI 3 spec
OpenAPI 3.1 specification of the complete REST API: authentication, users and security groups, flows, runs, executions, schedules, connections, formats, listeners, CDC offsets, Explorer, Integration Agents, Simba, metrics, resource usage, system administration, webhooks, audit and more. Every operation in it is checked against the application source on each build. Generate a client with openapi-generator, or load it into Postman, Insomnia or any OpenAPI viewer.
etlworks-api.openapi.yaml
534 operations across 46 groups. Also available as JSON. The AI Agent API has its own spec.
Starter scripts
Small, dependency-light clients for the jobs most scripts start with: list flows, run one and wait for it, read its status and log, stop it, and run CLI commands. Each one also has a generic request command for anything else in the API. Edit them freely; they are starting points, not packages. All three read the same environment variables and behave the same way.
etlworks_api.py
Python 3.8+, standard library only. Import it as a library or run it as a command.
etlworks-api.sh
Bash with curl and jq. Fits a CI step or a cron job.
etlworks-api.ps1
Windows PowerShell 5.1 or PowerShell 7+, no extra modules.
Authentication
Set ETLWORKS_URL to your instance (for example https://app.etlworks.com) and one of: ETLWORKS_API_KEY, ETLWORKS_TOKEN (a JWT), or ETLWORKS_LOGIN and ETLWORKS_PASSWORD, which the script exchanges for a JWT. Accounts with two-factor authentication need an API key.
Quick start
export ETLWORKS_URL="https://app.etlworks.com"
export ETLWORKS_API_KEY="your-api-key"
python etlworks_api.py flows # id and name of every flow
python etlworks_api.py run 123 '{"date":"2026-10-01"}' --wait # exit 1 if the run fails
./etlworks-api.sh run "Load orders" --wait # by name
./etlworks-api.sh log 123 4567 # an execution's log
.\etlworks-api.ps1 cli "list-flows select id, name limit 5" # PowerShell
python etlworks_api.py request GET /v1/schedules # anything else
run --wait (-Wait in PowerShell) polls the execution and exits 0 for success or warning and 1 for error or canceled, printing the log on failure, so a CI pipeline can gate on it.
On-prem installer
Self-host Etlworks (cloud + agent + UI) inside your network. The REST API is identical to Etlworks Cloud; only the base URL differs.
Etlworks self-hosted
Linux, Windows, and Docker images. Request a download link and we'll provision your installer + license.
We'd like to hear about it. product@etlworks.com goes straight to the team that owns the REST surface, if you need an endpoint that isn't there yet, that's the right address.