Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.boxcrew.ai/llms.txt

Use this file to discover all available pages before exploring further.

Base URL: https://api.boxcrew.ai Interactive docs: https://api.boxcrew.ai/docs

Authentication

All API endpoints require authentication via the Authorization header.

API key

Create an API key from the dashboard or with the CLI. Keys start with bxk_.
curl https://api.boxcrew.ai/agents \
  -H "Authorization: Bearer bxk_your_key_here"

Supabase JWT

If you’re building on top of BoxCrew’s frontend auth, you can also use a Supabase access token directly:
curl https://api.boxcrew.ai/agents \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Errors

The API returns standard HTTP status codes. Error responses include a JSON body:
{
  "statusCode": 400,
  "message": "Agent name must be 3-30 characters",
  "error": "Bad Request"
}
StatusMeaning
400Bad request — invalid parameters
401Unauthorized — missing or invalid auth
402Payment required — insufficient credits
403Forbidden — not allowed to access this resource
404Not found
409Conflict — resource already exists
429Rate limited
500Internal server error

Streaming

The POST /agents/{name}/chat endpoint returns an SSE stream. Use curl -N or an SSE client library to consume it:
curl -N -X POST https://api.boxcrew.ai/agents/my-agent/chat \
  -H "Authorization: Bearer bxk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello"}'
Each event is a JSON object on a data: line:
data: {"type":"response.output_text.delta","delta":"Hello"}
data: {"type":"response.output_text.delta","delta":"! How can I help?"}
data: {"type":"response.completed"}