Base URL
All endpoints in this section are served from the following base URL.Authentication
Every request needs a valid Lyzr API key in thex-api-key header. Studio session keys (prefixed agk_ or ags_) and durable sk- keys are accepted.
x-org-id and x-user-id headers are accepted only when they match the key’s owner, and a header that contradicts the key is refused with 403. A header the key cannot vouch for is ignored, so you cannot use a header to act as another user.
Two requests do not need an API key:
- A request to Execute Workflow that carries an
X-Webhook-Secretheader matching the workflow’s webhook trigger. The run executes as the workflow’s owner. - A request to Get Node Catalog.
Request limits
The following limits apply to every request under/api:
- Requests are limited to 50 per second per client IP address. Over the limit, the API returns
429. - Request bodies are capped at 8 MiB.
- The HTTP Request node refuses a response larger than 16 MiB, and any node whose output exceeds 16 MiB fails.
- Every URL a workflow calls must resolve to a public address. This covers the HTTP Request
url, a Parse or Extractionfile_url, the A2A AgentagentUrl, a Guardrailsendpoint, an OAuth2token_url, and theendpointof a bring-your-own-model credential. Loopback, private-network, and link-local addresses are refused, and so is a redirect to one.
Drafts and versions
A workflow has two graphs. The draft, also called the test graph, is what you save with Update Workflow and what the Studio canvas runs. A version is an immutable snapshot of the draft, and the live version is the one production runs. Saving only changes the draft, so production keeps running the live version until you deploy a new one. A workflow that has never had a version deployed keeps running its draft.Typical flow
A common integration follows four steps. First, create a workflow with Create Workflow or build it visually in Studio; the workflow graph itself is a JSON document described in the flow_data reference. Check it with Validate Workflow, then save a version and deploy it when it is ready for production. Second, start a run with Execute Workflow, which returns anexecution_id immediately. Third, track progress by polling Get Execution Status or by subscribing to the live event stream. Fourth, if the workflow contains a human-in-the-loop node, resolve the pending request with Resolve Approval so the run can continue.
Access control
Workflows are owned by the API key that created them. You can share a workflow with users or teams atread, write, or execute access, or with your whole organization at read or write. List endpoints return resources you own plus resources shared with you. Destructive operations such as deleting a workflow or removing its shares are restricted to the owner.
The owner can also lock a workflow. While it is locked, a shared editor cannot save, publish, or deploy it, and those requests return 423. Saving a version and deploying need edit access, and listing and viewing versions need read access.