Skip to main content

Endpoints

All requests require the X-API-Key header. See Authentication.

Common Request Body

All three automation endpoints accept the same JSON body.
Beta: agent_config.mode: "strict" is in beta — you must join the beta to use it (contact support to enable it for your account). Strict mode is best for precise tests and automations where unexpected page state should stop the run quickly instead of trying alternate paths.
Beta: agent_config.max_steps is available only to beta-enabled users. Use it when a run needs a shorter or longer step budget than EVA’s default. Non-beta API requests that include max_steps return 403 FORBIDDEN; requests without the field are unaffected.
Use use_profile: true for your default Browser Context Profile. Add profile_id when the run must use a specific saved profile. Create and set up profiles from the dashboard or the Browser Context Profiles API.
See Structured Output for the supported keyword allowlist, size and depth limits, and common rewrites for invalid schemas. See Browser Context Profiles, Browser Context Profiles API, Browser Profiles, Proxies, and Vault Credentials for operational guidance.

POST /v1/automation/run

Use this endpoint when you want the final result in one blocking response.
Runs created via /run cannot be cancelled.

POST /v1/automation/run-async

Use this endpoint when you want a run_id immediately and will fetch the full run later.
Fetch the full run state later with GET /v1/runs/{id}.

POST /v1/automation/run-sse

Use this endpoint when you want a streaming event feed while the automation runs. Possible SSE event types: Example stream:
Reconnection: SSE streams do not support Last-Event-ID reconnection. If your client disconnects mid-stream, recover by polling GET /v1/runs/{run_id} until the run reaches a terminal status (COMPLETED, FAILED, or CANCELLED).

Raw HTTP (no SDK)

Parse SSE events directly without the TinyFish SDK:

GET /v1/runs/{id}

Use this endpoint to retrieve the current or final state of an async or streaming run. error may include:

POST /v1/runs/{id}/cancel

Only runs created via /run-async or /run-sse can be cancelled.

Error Codes

Common HTTP-level errors across automation endpoints: The COMPLETE SSE event or GET /v1/runs/{id} may also include run-level failures such as TASK_FAILED, SITE_BLOCKED, MAX_STEPS_EXCEEDED, TIMEOUT, or INSUFFICIENT_CREDITS.

Agent overview

First request, endpoint selection, and goal-writing basics

Structured Output

Schema support, limits, and common rewrites

Runs

Statuses, polling, and lifecycle behavior

Goal prompting guide

Improve automation reliability

Authentication

API key setup and troubleshooting

Vault Credentials

Use password manager credentials in runs

Browser Context Profiles

Reuse saved logged-in browser state