Skip to main content
The gateway brokers monid.ai’s marketplace of pay-per-run data endpoints under /v1/monid, with the same API key, rate limits, wallet, and spend caps as every other route. You never create a monid account or hold a monid key: AI Reserve holds one workspace, every run is billed to your AI Reserve wallet at monid’s published price for that endpoint, and each run appears in your usage analytics under the model monid:<provider><endpoint>. Three verbs, mirroring monid’s own API so their published request and response shapes apply unchanged:
  1. POST /v1/monid/discover — search endpoints in natural language. Free.
  2. POST /v1/monid/inspect — read one endpoint’s input schema and price. Free.
  3. POST /v1/monid/run — execute an endpoint. Billed. Sync providers answer inline; async providers answer 202 and you poll GET /v1/monid/runs/{job_id}.
Availability. The surface answers 503 with code SERVICE_UNAVAILABLE until the platform’s monid workspace is provisioned in your environment. Discover and inspect are free upstream and never touch your wallet.

Quickstart

Run request

Run response

The body is monid’s run object, with one AI Reserve addition:
  • aireserve.job_id is the identifier you poll and the request_id of the run in your usage analytics. monid’s runId is an upstream identifier and is not accepted by GET /v1/monid/runs/{job_id}.
  • HTTP status mirrors the brokered provider on sync runs. A 404 with status: "COMPLETED" and providerResponse.httpStatus: 404 means the run finished and the provider found no match — that is a result, not a gateway error, and monid does not charge for it (billedUnits: 0, and nothing is debited from your wallet). Check aireserve.status for the run lifecycle and providerResponse.httpStatus for the provider’s answer.
  • 202 means the provider executes asynchronously; aireserve.status is queued or running until you poll a terminal state. Most runs complete within 1–120 seconds.

Billing

  • Price — monid’s published price for the endpoint (PER_CALL flat, or PER_RESULT with an optional base fee), shown in every discover, inspect, and run response. There is no markup: you pay what monid charges.
  • Reserve, then settle — a run reserves the endpoint’s per-call price (or base fee plus one result) against your wallet at submit and settles the actual charge from monid’s reported cost at completion. Runs the provider errored on settle at $0.
  • Analytics — one usage row per run: model monid:<provider><endpoint>, provider monid, media_kind: "data", media_count = units billed. Team, user, and key attribution and spend caps apply exactly as for chat.
  • Caps — runs count against your per-client rate limits, and in-flight runs are capped per organization (25 concurrent, $25 estimated in flight) to bound a runaway loop.

Data handling

monid is a broker: the input you send is forwarded by monid to the third-party data endpoint you selected, whose own terms apply. AI Reserve keeps only the billing skeleton of a completed run (endpoint identity, price, units) — never the input or output content. See the data-handling matrix for the monid.ai row.

Errors

Not proxied: monid’s account, workspace, and wallet endpoints — those describe the platform’s workspace, not yours. Your balance is your AI Reserve wallet.