Skip to content

API reference

Drive your Pilots from your own code. The API is REST over HTTPS, returns JSON, and uses a bearer key you create in your account. Every response is scoped to the key owner.

Base URL and authentication

All requests go to https://bizopspilot.com and carry a bearer key. Create one in Account → API keys. Keys start with bp_ and are shown once, so store them safely.

curl https://bizopspilot.com/api/v1/pilots \
  -H "Authorization: Bearer bp_your_key_here"

Endpoints

GET/api/v1/pilots
List your Pilots.
curl https://bizopspilot.com/api/v1/pilots \
  -H "Authorization: Bearer bp_your_key"

{
  "pilots": [
    { "id": 12, "title": "New lead welcome", "status": "active",
      "triggerType": "webhook", "runCount": 34, "lastRunAt": 1751655000 }
  ]
}
POST/api/v1/pilots
Create a Pilot from a plain-English description. The AI drafts the steps. Rate limit: 60 per minute per account.
curl -X POST https://bizopspilot.com/api/v1/pilots \
  -H "Authorization: Bearer bp_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Summarize new orders",
    "description": "When an order comes in, summarize it with AI and post to Slack.",
    "triggerType": "webhook"
  }'

// 201 Created
{ "id": 18, "title": "Summarize new orders", "triggerType": "webhook", "steps": [ ... ] }

triggerType is one of manual, webhook, schedule, email (defaults to manual).

POST/api/v1/pilots/:id/run
Trigger a run. The JSON body becomes the run's trigger payload, available to the steps. Returns 202 with a job id; 409 if the Pilot is paused.
curl -X POST https://bizopspilot.com/api/v1/pilots/18/run \
  -H "Authorization: Bearer bp_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "orderId": "1234", "total": 49.0 }'

// 202 Accepted
{ "queued": true, "jobId": 907 }
GET/api/v1/pilots/:id/runs
The 10 most recent runs, each with per-step results.
curl https://bizopspilot.com/api/v1/pilots/18/runs \
  -H "Authorization: Bearer bp_your_key"

{
  "runs": [
    { "id": 907, "status": "success", "triggerType": "webhook",
      "durationMs": 812, "error": null, "steps": [ ... ], "startedAt": 1751655100 }
  ]
}

Errors and rate limits

Errors return a JSON body { "error": "..." } with a matching status: 401 (bad or missing key), 404 (not your Pilot), 409 (Pilot paused), 429 (rate limited, with a Retry-After header). Run throughput is capped per account for fair use.

Model Context Protocol (MCP)

Prefer to drive Pilots from an AI agent? The repo ships a zero-dependency MCP bridge (scripts/mcp-server.mjs) exposing list, create, run, and get-runs as tools. Point it at your key and base URL, then add it to Claude Desktop:

{
  "mcpServers": {
    "bizops-pilot": {
      "command": "node",
      "args": ["scripts/mcp-server.mjs"],
      "env": {
        "BIZOPS_API_URL": "https://bizopspilot.com",
        "BIZOPS_API_KEY": "bp_your_key"
      }
    }
  }
}

Ready to build?

Create an account, generate a key in Account → API keys, and make your first call in under a minute.

Get your API key

BizOps Pilot

Built for operators who would rather not do it by hand.

© 2026 BizOps Pilot. All rights reserved.