status is terminal.
Discover lanes
id is the same lane ID used in the Erstan frontend. If defaultLaneId is present, the agent has one public lane and callers may omit laneId when starting a run.
Start a run
agentId is the agent workflow ID returned by GET /v1/public/agents.
Request body
Lane modes
When an agent has multiple lanes, omitting
laneId returns lane_required.
Idempotency
Pass anidempotencyKey when an external event might retry.
For the same API key, workspace, agent, and idempotency key, Erstan returns the existing run instead of starting a duplicate.
Attachments
Runs can include attachments when the selected lane reportsattachments.supported: true.
attachments.maxRequestBytes repeats that limit for clients building dynamic forms.
Start response
New runs return202 Accepted.
idempotencyKey that already started a run for the same API key, workspace, and agent, Erstan returns 200 OK with the existing runId.
Poll response
finalResponse is the agent’s final output. Agents intended for automation should be configured to return JSON so NetSuite or another caller can parse the result deterministically.
Statuses
Treat
completed, failed, and cancelled as terminal.