DEVELOPER PORTAL

Build against the report engine.

The same public API and MCP servers the website uses. Anonymous reads, self-serve OAuth clients, a sandbox, and an OpenAPI description you can hand to an agent.

Quickstart

  1. Read the API reference or the MCP guide.
  2. Call the sandbox: curl https://api.getonemove.app/v1/sandbox/reports/chesscom/example.
  3. Call a real public report: curl "https://api.getonemove.app/v1/free-reports/chesscom/hikaru?time_class=blitz".
  4. For attributable limits, register a client below and exchange it at https://api.getonemove.app/oauth2/token.
  5. For an agent host, connect https://api.getonemove.app/mcp instead of writing HTTP glue.

API keys, self-serve

POST https://api.getonemove.app/v1/clients is anonymous and self-serve. It returns a client id, a secret shown once, the three scopes and the token endpoint. Store the secret in the agent's secret store, not in a prompt.

curl -sS -X POST https://api.getonemove.app/v1/clients \
  -H 'Content-Type: application/json' \
  -d '{"client_name":"my-agent"}'

# {
#   "client_id": "om_...",
#   "client_secret": "...",
#   "scopes": ["reports:read", "reports:write", "docs:read"],
#   "token_endpoint": "https://api.getonemove.app/oauth2/token"
# }

Public report reads work without any key. The key buys attributable limits and write access, not private data.

Sandbox

GET https://api.getonemove.app/v1/sandbox/reports/{site}/{username} returns a fixed synthetic report and never touches a real account. It accepts chesscom or lichess and any username. Use it for schema tests and retry logic before touching a real player.

Rate limits

Default: 120 requests per minute per IP. Responses carry RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and RateLimit-Policy; 429s carry Retry-After. Report creation has its own per-IP budget.

Agent protocols

Support

Use the support form or open an issue at https://github.com/chrissuperduper/workstreams/issues. Source and agent instructions are at https://github.com/chrissuperduper/one-move-agent.