API Overview
The Monid HTTP API lets you discover, inspect, and run data endpoints programmatically.
Base URL
https://api.monid.aiAuthentication
All /v1/* endpoints require an API key passed as a Bearer token:
Authorization: Bearer monid_live_...Create an API key at https://app.monid.ai/access/api-keys.
Endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/discover | Search for data endpoints |
POST | /v1/inspect | Get full endpoint details |
POST | /v1/run | Execute a data endpoint |
GET | /v1/runs | List runs |
GET | /v1/runs/:runId | Get run status and results |
GET | /v1/wallet/balance | Get wallet balance |
Request Format
All request bodies must be JSON with Content-Type: application/json.
bash
curl -X POST https://api.monid.ai/v1/discover \
-H "Authorization: Bearer monid_live_..." \
-H "Content-Type: application/json" \
-d '{"query": "twitter posts"}'Response Format
All responses return JSON. Successful responses return the resource directly. Error responses return:
json
{
"code": 400,
"message": "Descriptive error message"
}Pagination
All list endpoints use cursor-based pagination:
Request:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | number | 10 | Maximum items to return (max varies by endpoint) |
cursor | string | -- | Opaque cursor from a previous response |
Response:
json
{
"items": [],
"cursor": "eyJsYXN0..."
}If cursor is null or absent, you've reached the last page.
Error Codes
| Code | Meaning |
|---|---|
400 | Bad request -- invalid input, malformed JSON, or validation error |
401 | Unauthorized -- missing or invalid API key |
402 | Payment required -- insufficient wallet balance |
403 | Forbidden -- key is valid but not associated with a workspace |
404 | Not found -- resource doesn't exist |
408 | Request timeout -- execution timed out |
500 | Internal server error |
Request Tracing
Every request is assigned a unique request ID via the x-request-id header. Include this ID when reporting issues.