China SnapshotDocs
Get a key ↗
Open in AI ↗
Open in ChatGPTOpen in ClaudeView Markdown
API reference

API reference

Generated from the repository OpenAPI contract. Every documented operation is included.

Contract and coverage#

The operation pages below are generated from OpenAPI, including parameters, request bodies, response schemas, documented examples and errors. The spec is the generation boundary, not a claim that every internal application route is public API. GET /api/usage is described in the plans guide but is not yet in this spec.

Operations#

MethodPathOperation
GET/api/datasetsbrowsePublicDatasets
GET/api/changesgetChanges
GET/api/serieslistSeries
GET/api/series/{series_id}getSeries
GET/api/indicators/{slug}.jsongetIndicator
GET/data/topics/index.jsonlistPublicTopics
GET/data/topics/{slug}.jsongetPublicTopic
GET/data/topics/{slug}.mdgetPublicTopicMarkdown
GET/data/topics/{slug}/v{version}.jsongetPublicTopicRevision
GET/data/topics/{slug}/v{version}.mdgetPublicTopicRevisionMarkdown
GET/data/endpoints.jsongetEndpointsCatalog
GET/data/daily_digest.jsongetDailyDigest
GET/data/baselines.jsongetBaselines
GET/data/forecasts/index.jsongetForecastBoard
GET/data/forecasts/track_record.jsongetForecastTrackRecord
GET/data/signal-packet.jsongetSignalPacket
GET/data/digest.mdgetDailyDigestMarkdown
GET/.well-known/mcp.jsongetMcpManifest
GET/api/{path}apiNotFound
POST/api/{path}apiNotFoundPost
GET/api/researchresearchDiscovery
POST/api/researchresearchInvoke
GET/api/mcpmcpDiscovery
POST/api/mcpmcpJsonRpc
POST/api/key_signuprequestApiKey
POST/api/keys/replacereplaceApiKey
POST/api/keys/revokerevokeApiKey
POST/api/checkout/prostartProCheckout
GET/developersdeveloperPortal
GET/openapi.jsongetOpenApi

Errors and retries#

Read the operation-specific status and body. Public datasets may use a string error; signup uses a structured error.code; MCP uses JSON-RPC errors. Do not assume one envelope. For read-only requests, honor Retry-After on 429, and use bounded backoff with jitter for transient 503 or transport failures. Fix invalid parameters and expired cursors before retrying 400. Resolve credentials or entitlement for 401/403. A missing record is not a retry loop. Do not automatically repeat signup or checkout after an ambiguous response.

Examples versus schemas#

JSON marked as a schema or operation contract is not an executable request. Response examples are copied only when supplied by OpenAPI; where it provides none, the page says so rather than inventing a production response.

Search documentation