Developer API
Start workflows from your own code, pass them inputs, and read what each run did. A small REST API with JSON bodies and API-key authentication.
The developer API lets your own systems use the workflows you've built in Lodol: list them, start runs with the inputs they need, follow each run to its result, and stop or delete a run. Workflows themselves are built in Lodol, or by your AI tool.
Quickstart
Create a key, start a run and read its result, in about five minutes.
Authentication
API keys, scopes and what each key is allowed to do.
Base URL
Every endpoint is under one base URL:
https://api-prod.lodol.com/api/v1Endpoints
| Endpoint | What it does | Scope |
|---|---|---|
GET /workflows | List the workspace's workflows | workflows:read |
GET /workflows/:id | Get one workflow, with its steps | workflows:read |
DELETE /workflows/:id | Delete a workflow for good | workflows:delete |
POST /workflows/:id/run-async | Start a run | workflows:execute |
GET /executions | List runs | executions:read |
GET /executions/:id | Get a run's status and results | executions:read |
POST /executions/:id/stop | Stop a run | workflows:execute |
DELETE /executions/:id | Delete a finished run for good | executions:delete |
The API calls a run an execution: run IDs are execution_id, and their endpoints are under /executions.
Requests and responses
- Authentication. Send your API key as a bearer token:
Authorization: Bearer sk_live_…. See Authentication. - JSON. Request bodies are JSON, sent with
Content-Type: application/json. Every response is JSON. - Timestamps are ISO 8601 with an offset, such as
2026-03-17T08:00:00+00:00. - Errors have a JSON body with an
errormessage and a standard HTTP status. See Errors and retries. - Retries. Send an
Idempotency-Keywith each run you start, so retrying a request never starts the same run twice. See Idempotency. - Limits. Requests are rate-limited per workspace, by plan. See Limits.
Paging through lists
List runs returns results a page at a time. Pass limit (1 to 100, default 20) for the page size, and after with the last ID of the page you have to get the next one.
# First page
curl "https://api-prod.lodol.com/api/v1/executions?limit=20" \
-H "Authorization: Bearer $LODOL_API_KEY"
# Next page: after = the last execution_id of the previous page
curl "https://api-prod.lodol.com/api/v1/executions?limit=20&after=683b2c3d4e5f6a7b8c9d0e1f" \
-H "Authorization: Bearer $LODOL_API_KEY"Version
This is version 1 of the API, named in the path as /api/v1.