Programmatic obot, for your agents and pipelines.
obot exposes a Model Context Protocol server and a REST API so AI copilots, scripts and CI systems can submit jobs, watch status and pull results — using the same OAuth identity as everything else in obot.
What is the MCP server?
A standards-based endpoint that presents obot's actions as callable tools. Any MCP-compatible client — Claude, an internal agent, a copilot — can discover and invoke them with no bespoke integration code.
When to use the REST API
For deterministic automation — a CI job that fires simulations on commit, a nightly batch, a dashboard in your own portal. Same OAuth tokens, plain HTTPS + JSON.
Authentication
Create an API client under Admin → API access. obot mints an OAuth client; exchange its credentials for a bearer JWT and send it with every request.
# exchange client credentials for a bearer token curl -X POST https://api.obot.cloud/oauth/token \ -d grant_type=client_credentials \ -d client_id=$OBOT_CLIENT_ID \ -d client_secret=$OBOT_CLIENT_SECRET # → { "access_token": "eyJ…", "token_type": "Bearer" }
MCP tools
obot.submit_jobQueue a case for dispatch by project, case and priority.obot.get_jobFetch status, duration and the machine a job ran on.obot.list_jobsFilter and page through jobs by project, user or time window.obot.cancel_jobCancel a queued or running job.obot.list_machinesSee connected agents, their capabilities and availability.obot.get_resultsRetrieve output artifacts and the run summary for a completed job.Example: submit & poll a job
POST /v1/jobs Authorization: Bearer $TOKEN { "project": "LLOG_Taggart", "case": "gas-lift-optimizer", "priority":"normal" } → 201 { "id": 32741, "status": "queued" } GET /v1/jobs/32741 → 200 { "status": "completed", "duration": "15:30", "machine": "hou-sim09" }
Endpoints & payloads shown are illustrative — confirm against the shipped API reference.
