Base URL
All API requests use the following base URL:Authentication
Include your API key as a Bearer token in theAuthorization header:
msh_. Create keys in the dashboard at Settings → API Keys.
See Authentication for key types, scopes, and signup/login endpoints.
Response Format
All responses use a consistent envelope:Success
Success (Paginated)
Error
Common Error Codes
| HTTP Status | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid request body or parameters |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 402 | PLAN_LIMIT_REACHED | Agent limit or feature not available on your plan |
| 403 | FORBIDDEN | Insufficient permissions or policy violation |
| 404 | NOT_FOUND | Resource not found |
| 409 | CONFLICT | Resource already exists (e.g., duplicate agent name) |
| 429 | RATE_LIMITED | Too many requests — retry after the Retry-After header value |
| 500 | INTERNAL_ERROR | Server error — contact support |
Pagination
List endpoints support pagination withpage and limit query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number (1-based) |
limit | integer | 20 | Results per page (max 100) |
meta object contains the total count for building pagination UI.
Rate Limits
| Plan | Requests/min |
|---|---|
| Starter | 60 |
| Professional | 300 |
| Enterprise | 1,000 |
| Enterprise Plus | Custom |
Retry-After header (seconds).

