RESTfor direct HTTP integrations and predictable HTTP control.MCPfor agent-native clients such as Claude, Cursor, Codex, and ChatGPT.
How to get access
Once provisioned:RESTcontinues to usex-api-key: <partner-api-key>MCPprefers the plain server URLhttps://partners.centaur.io/mcpand lets compatible clients dynamically register themselves before the browser-based OAuth approval flowMCPkeeps legacy API-key auth as a compatibility fallback for clients that cannot complete the OAuth flow yet
Choose your integration path
REST quickstart
Choose REST when you want a conventional backend integration, predictable request/response behavior, and explicit
control over retries and pagination.
MCP quickstart
Choose MCP when your users work in Claude, Cursor, Codex, or another MCP-capable client and you want native tool
calling instead of handwritten HTTP requests.
REST quickstart
- you are integrating from a service or backend job
- you want explicit request and retry control
- you want the generated API reference to be your primary technical source
MCP quickstart
Preferred MCP onboarding uses the plain server URL. In supported clients, Centaur exposes Dynamic Client Registration for public clients before opening the browser sign-in and consent flow:Authorization: Bearer <partner-api-key>where custom headers are supportedhttps://partners.centaur.io/mcp?api_key=<partner-api-key>only for clients that cannot send headers at all
- your users work in Claude, ChatGPT, Cursor, or Codex
- you want Centaur exposed as a tool instead of a raw HTTP dependency
- you want to pair the MCP surface with the public Centaur skill repo
What you can read
| Data family | REST | MCP | Required scope |
|---|---|---|---|
| Trader discovery | GET /api/v1/traders | list_traders | directory.read |
| Asset discovery | GET /api/v1/assets | list_assets | directory.read |
| Events | GET /api/v1/events | list_events | events.read |
| Messages | GET /api/v1/messages | list_messages | messages.read |
| Valid closed positions | GET /api/v1/positions/closed/valid | list_valid_closed_positions | positions.read |
| Open positions | GET /api/v1/positions/open | list_open_positions | positions.read |
| Trader stats | GET /api/v1/traders/{traderId}/stats | get_trader_stats | stats.read |
| Asset stats | GET /api/v1/assets/{assetId}/stats | get_asset_stats | stats.read |
GET /api/v1/messages and list_messages behave as a message feed by default. If you pass assetIds, directions, or eventTypes, those filters narrow through linked events and exclude eventless messages for that request.
Service surfaces
What this product exposes today
- REST reads under
/api/v1/* - MCP reads at
/mcp - shared read families across events, messages, positions, discovery, and stats
- server-discovered MCP tools and resources for the current live contract