Skip to main content
POST
/
jobs
/
{org_id}
/
{endpoint_name}
/
start
curl -X POST https://agent.usedari.com/jobs/my-org/contact_form/start \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "form_data": {
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "jane@example.com"
    },
    "orchestrator_model": "claude-sonnet-4-6",
    "vision_model": "openai:gpt-5.4-mini",
    "human_in_the_loop": false,
    "max_turns": 100,
    "timeout_minutes": 30
  }'
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000"
}
Starts an AI-powered browser automation job. The agent navigates to the portal’s start URL and fills the form with the provided data.

Path Parameters

org_id
string
required
Organization ID
endpoint_name
string
required
Portal endpoint name

Headers

X-API-Key
string
required
Organization API key
Content-Type
string
required
Must be application/json

Request Body

form_data
object
Key-value pairs matching the portal’s form_schema. The AI agent uses this data to fill the target form. Mutually exclusive with document_bundle_id.
document_bundle_id
string
UUID of a completed document bundle. When provided, form data is automatically generated from the extracted document content using the portal’s form_schema. Mutually exclusive with form_data.
orchestrator_model
string
default:"claude-sonnet-4-6"
Claude model for the orchestrator (decision-making). Allowed values: claude-sonnet-4-6, claude-haiku-4-5.
vision_model
string
default:"anthropic:claude-haiku-4-5-20251001"
Model for vision/screenshot analysis. Allowed values: anthropic:claude-haiku-4-5-20251001, kimi:moonshotai/Kimi-K2.5, openai:gpt-5.4, openai:gpt-5.4-mini.
max_turns
integer
default:200
Maximum number of agent turns before stopping
timeout_minutes
integer
default:30
Maximum execution time in minutes
profile_id
string
Browser profile UUID to use for this job. Overrides the portal’s configured profile.
save_profile
boolean
default:true
Whether to save changes to the browser profile after the job completes. When enabled, cookies, local storage, and other browser state are persisted back to the profile.
human_in_the_loop
boolean
default:false
Enable human-in-the-loop mode. When enabled, the agent can pause and ask questions during execution. Poll Get Job Status for the waiting_for_input status, then submit answers via Answer Question. See the Human-in-the-Loop guide for details.
proxy
object
Proxy configuration for the browser session

Response Fields

job_id
string
UUID of the created job. Use this to poll status, stream logs, or control the job.
curl -X POST https://agent.usedari.com/jobs/my-org/contact_form/start \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "form_data": {
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "jane@example.com"
    },
    "orchestrator_model": "claude-sonnet-4-6",
    "vision_model": "openai:gpt-5.4-mini",
    "human_in_the_loop": false,
    "max_turns": 100,
    "timeout_minutes": 30
  }'
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000"
}

Usage Notes

  • Jobs run asynchronously. Use Get Job Status to poll or Stream Job Logs for real-time updates.
  • Each job consumes credits based on execution time and model used.
  • The browser_url is available via Get Job Status once the session is created.
  • Use profile_id to leverage saved login sessions across jobs.
  • Provide either form_data or document_bundle_id, not both. When using document_bundle_id, the portal must have a form_schema defined. The server will wait up to 60 seconds for document processing to complete if it’s still in progress.