Developers
Shortest path from curiosity to a working call. Any HTTP client works—no proprietary SDK required.
REST API
Base URL (live): https://plymove-api-production.up.railway.app — branded api.plymove.com pending DNS.
Auth: Authorization: Bearer $PLYMOVE_API_KEY or X-API-Key. Request API access viacontact.
curl -X POST https://plymove-api-production.up.railway.app/v1/analyses/position \
-H "Authorization: Bearer $PLYMOVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fen": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1",
"target_elo": 1600
}'import os, requests
r = requests.post(
f"https://plymove-api-production.up.railway.app/v1/analyses/position",
headers={"Authorization": f"Bearer {os.environ['PLYMOVE_API_KEY']}"},
json={"fen": "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", "target_elo": 1600},
timeout=120,
)
r.raise_for_status()
print(r.json()["explanation"])Also: POST /v1/analyses/game (async), /teaching-moments (async),/compare (sync). Full contract on Docs.
MCP
Streamable HTTP MCP exposing four tools that proxy to Core with a server-side API key.
MCP URL: set PUBLIC_MCP_URL at build time to your Alpic Streamable HTTP endpoint (e.g. https://<project>.alpic.live/mcp). Brandedmcp.plymove.com is not live yet—we will not list a hostname that does not resolve.
| Tool | Maps to |
|---|---|
explain_position | POST /v1/analyses/position |
explain_game | POST /v1/analyses/game + poll |
find_teaching_moments | POST /v1/analyses/teaching-moments |
compare_moves | POST /v1/analyses/compare |
Transport: Streamable HTTP. Details: Docs → MCP.
Paid agent endpoint
Live gateway (Base Sepolia staging): https://plymove-agent-gateway.round-cloud-7d27.workers.dev. Brandedagent.plymove.com is not deployed yet.
Currently protects explain_position on testnet. Wallet/setup details belong inAgent payments—not on this page.
SDK status
No first-party SDKs yet. Any HTTP client works. For agent payment automation, the community@x402/fetch stack is documented in the agent payment guide.