Developer API overview

Three ways to consume publisher content programmatically: MCP, REST, A2A.

Oasy exposes every publisher's licensed content over three protocols, all
backed by the same index, the same policy engine, and the same licensing
rules:

SurfaceBest forAuth
MCP (Streamable HTTP, JSON-RPC 2.0)Agents in Claude, ChatGPT, Cursor, and any MCP hostNone, or OAuth 2.1 when the publisher requires it
REST APIYour own backend, scripts, non-MCP stacksNone (when the publisher opts in) or a buyer API key
A2A (Agent2Agent JSON-RPC)A2A-native agent frameworksNone (publisher opt-in)

Base URLs

  • Per-publisher vanity host (preferred): https://oasy.<publisher-domain>
    — MCP at /mcp, REST under /api/v1/…, A2A at /a2a, agent card at
    /.well-known/agent-card.json.
  • Platform origin (works for every publisher, no CNAME needed):
    https://api.oasy.ai — MCP at /api/mcp/<publisherId>,
    A2A at /api/a2a/<publisherId>. REST requires a vanity host (it resolves
    the publisher from the hostname).

One API key for everything

Sign up on the marketplace and you get a single
mk_… API key that:

  • unlocks REST access to every publisher (even ones that haven't
    opted into anonymous public REST),
  • carries your licenses (subscriptions you've purchased) and
    metered pay-per-use billing (consume first, settle monthly),
  • ties your MCP installs' usage into one consolidated usage report and
    monthly statement.

Send it as a bearer token: Authorization: Bearer mk_….

What every response respects

  1. Access policy per article — OBSERVE / ADVERTISE / PAYWALL
    (metered) / BLOCK.
  2. Use-case license rights — summarization / display /
    rag / fine-tuning; full text is the display right.
  3. Content rules — publisher-defined path patterns, embargo windows,
    and territorial restrictions, evaluated at serve time (territory
    refusals return HTTP 451).

Service levels

Uptime, latency percentiles, and error rates are published live — see
Status & SLA.


Did this page help you?