# Crowded Kingdoms APIs > Crowded Kingdoms is a platform for massive multiplayer worlds. There are two public APIs: one GraphQL API serving both the management surface (identity, organizations, apps marketplace, access tiers, billing, payments, quotas) and the game surface (runtime world/replication data and the realtime UDP-proxy subscription stream), and the Replication API / "Buddy" (a binary UDP wire protocol for low-latency spatial replication). The management and game surfaces are ONE endpoint — there is no separate management host to configure. Browser clients should use the CrowdyJS TypeScript SDK. Sign-in — email + password, a magic link, or a social provider — produces an identity session token; mint a separate app-scoped token for gameplay and realtime calls. Apps live in a single datacenter, so mintAppToken and gameClientBootstrap return the endpoint to use for that app — follow it rather than hardcoding a host. BigInt values are decimal strings; timestamps are ISO-8601 UTC. ## Start here (for AI agents and integrators) - [For AI agents — quickstart & end-to-end workflows](https://docs.dev.crowdedkingdoms.com/overview/for-ai-agents): get a key on production, the SDL URLs, and the most common flows (register → token → host discovery → spatial send; and the studio-backend economy flow). - [Best practices](https://docs.dev.crowdedkingdoms.com/overview/best-practices): authority in your server code on ck-exec (hubs and spokes), tokens and hosts. - [Overview / client workflow](https://docs.dev.crowdedkingdoms.com/overview/client-workflow): one endpoint, two token types, and how an app's datacenter endpoint is discovered. - [Before you ship](https://docs.dev.crowdedkingdoms.com/overview/before-you-ship): public hosts and aliases, and the SDK default origins a shipped client needs. - [Players under 18 and player safety](https://docs.dev.crowdedkingdoms.com/overview/player-safety): Crowded Kingdoms admits players from 13 (since 2026-11-04); what is live, what is not yet in production (parental consent), and what a game needs to admit players under 18 (age screen, safety log, communication controls, reports and moderators, hub hooks). - [Discord community support](https://discord.gg/x7tMKGwHf): ask questions and get help from the Crowded Kingdoms community. ## Schema (downloadable SDL) - [Full SDL](https://docs.dev.crowdedkingdoms.com/schema/game-api.graphql) - the complete unified schema; start here. - [Management-surface SDL](https://docs.dev.crowdedkingdoms.com/schema/management-api.graphql) - the same schema filtered to identity/orgs/apps/billing, for reading that surface alone. - [CrowdyJS SDL](https://docs.dev.crowdedkingdoms.com/schema/crowdyjs.graphql) - Production serves no GraphiQL and does not answer introspection; read the SDL above. The API is https://ck.prod.crowdedkingdoms.com/graphql. Crowded Kingdoms' dev and test environments are internal (staff and approved partners only) and refuse other accounts with TIER_ACCESS_REQUIRED. ## Conventions (read before calling) - [Error codes (GraphQL extensions.code + UDP UdpErrorCode) with remediation](https://docs.dev.crowdedkingdoms.com/overview/error-codes) - [Pagination conventions](https://docs.dev.crowdedkingdoms.com/overview/pagination) - [Rate limits and query cost](https://docs.dev.crowdedkingdoms.com/overview/rate-limits) - [Authentication (Game API: bearer token + ws connection_init)](https://docs.dev.crowdedkingdoms.com/game-api/authentication) ## Management surface (identity, apps, billing) — same endpoint as the game surface - [Management surface intro](https://docs.dev.crowdedkingdoms.com/management-api/intro) - [Guide](https://docs.dev.crowdedkingdoms.com/management-api/readme) - [GraphQL reference (operations & types)](https://docs.dev.crowdedkingdoms.com/management-api/reference/graphql-overview) - [Management API best practices](https://docs.dev.crowdedkingdoms.com/management-api/best-practices) · [Shared environment](https://docs.dev.crowdedkingdoms.com/management-api/shared-environment) · [Game setup](https://docs.dev.crowdedkingdoms.com/management-api/game-setup) - [Org-managed players: an organization signs its own players in (org tokens, signed assertions, the Org-Managed Players Addendum)](https://docs.dev.crowdedkingdoms.com/management-api/org-managed-players) - [Age, country and who may play](https://docs.dev.crowdedkingdoms.com/management-api/age-and-territory): the checks at every sign-up, mint and refresh (TERRITORY_NOT_SUPPORTED, AGE_REQUIRED, AGE_REQUIREMENT_NOT_MET), birthDate/country/parentalConfirmation, recordPlayerAge, the neutral age screen, minPlayerAge, territoryPolicies, managed players' ageYears and country. - [Legal documents](https://docs.dev.crowdedkingdoms.com/management-api/legal-documents): the platform's player documents, an app's own (setAppRequiredDocuments, appRequiredDocuments), recordPlayerConsents(appId), extensions.missingDocuments, the developer documents. ## Game surface (world data + realtime UDP proxy) — same endpoint - [Game API intro](https://docs.dev.crowdedkingdoms.com/game-api/intro) - [Game API best practices](https://docs.dev.crowdedkingdoms.com/game-api/best-practices) - [Authentication](https://docs.dev.crowdedkingdoms.com/game-api/authentication) - [GraphQL UDP-proxy API (subscriptions + spatial sends)](https://docs.dev.crowdedkingdoms.com/game-api/graphql-udp-proxy-api) - [Host discovery](https://docs.dev.crowdedkingdoms.com/game-api/host-discovery) · [Permissions](https://docs.dev.crowdedkingdoms.com/game-api/permissions) · [Grids & permissions](https://docs.dev.crowdedkingdoms.com/game-api/grids-and-permissions) - [Teams](https://docs.dev.crowdedkingdoms.com/game-api/teams) · [Channels](https://docs.dev.crowdedkingdoms.com/game-api/channels) · [Avatar state](https://docs.dev.crowdedkingdoms.com/game-api/avatar-state) · [Actor state](https://docs.dev.crowdedkingdoms.com/game-api/actor-state) - [Voice, video, contacts and blocks](https://docs.dev.crowdedkingdoms.com/game-api/communication): per-player send and receive settings per medium, contacts, blocks, parental consent for players under 18, and what the realtime servers refuse or drop · [Safety reports and moderation](https://docs.dev.crowdedkingdoms.com/game-api/safety-reports): fileSafetyReport, moderate_safety, safetyReports, resolve and escalate, what a report preserves - [Game Kit (starter hubs on ck-exec and typed clients for them in every SDK)](https://docs.dev.crowdedkingdoms.com/game-kit/intro) · [The kit protocol (messages, action ids, refusal codes, shard keys, realtime events)](https://docs.dev.crowdedkingdoms.com/game-kit/protocol) · [The starter hubs](https://docs.dev.crowdedkingdoms.com/game-kit/starters) · [The clients](https://docs.dev.crowdedkingdoms.com/game-kit/clients) · [Deploying the starters](https://docs.dev.crowdedkingdoms.com/game-kit/deploy) · [Genres and the kit (which starters a kind of game begins from)](https://docs.dev.crowdedkingdoms.com/game-kit/genres) · [The economy and its limits (hub state, not a ledger)](https://docs.dev.crowdedkingdoms.com/game-kit/economy) - [ck-exec (your server code: hubs, spokes and players' mods)](https://docs.dev.crowdedkingdoms.com/exec/intro) · [CLIENT halves (a mod's browser code)](https://docs.dev.crowdedkingdoms.com/exec/client-halves) · [From the legacy engines (game models, automations, compute modules, player code)](https://docs.dev.crowdedkingdoms.com/exec/from-the-legacy-engines) · [Players' data, blocks and reports (the erasure and export hooks, players.blocked, safety.report, age brackets)](https://docs.dev.crowdedkingdoms.com/exec/players-and-safety) - [Agentic Crowdy Studio game integration (allowlisted development)](https://docs.dev.crowdedkingdoms.com/game-api/agentic-crowdy-studio): durable sessions/events, bounded host tools, approvals, leases, takeover, and reconnect. Verify the published SDK with `npm view @crowdedkingdoms/crowdyjs dist-tags`. Allowlisted development only; no production or real-money autonomy claim. - [GraphQL reference (operations & types)](https://docs.dev.crowdedkingdoms.com/game-api/reference/graphql-overview) ## Replication API / Buddy (binary UDP wire protocol) - [Replication API intro](https://docs.dev.crowdedkingdoms.com/replication-api/intro) - [Getting started](https://docs.dev.crowdedkingdoms.com/replication-api/getting-started) - [Authenticate and assign a server](https://docs.dev.crowdedkingdoms.com/replication-api/authenticate-and-assign) - [Wire formats (opcodes, long-spatial layout, payloads)](https://docs.dev.crowdedkingdoms.com/replication-api/wire-formats) - [Send and receive](https://docs.dev.crowdedkingdoms.com/replication-api/send-and-receive) - [HMAC](https://docs.dev.crowdedkingdoms.com/replication-api/hmac) - [Operations & error codes](https://docs.dev.crowdedkingdoms.com/replication-api/operations) - [Input logging and the safety log](https://docs.dev.crowdedkingdoms.com/replication-api/input-logging): recording what clients send, reading it back, the voice and video switches, and the safety log an app that admits players under 18 keeps - [Best practices](https://docs.dev.crowdedkingdoms.com/replication-api/best-practices) - [Troubleshooting](https://docs.dev.crowdedkingdoms.com/replication-api/troubleshooting) - [Load testing your integration (open-source cks-loadtest)](https://docs.dev.crowdedkingdoms.com/replication-api/load-testing) ## SDKs - [CrowdyJS (browser-first TypeScript SDK) overview](https://docs.dev.crowdedkingdoms.com/crowdyjs/readme) - [CrowdyJS best practices](https://docs.dev.crowdedkingdoms.com/crowdyjs/best-practices) - [Build player mods with Crowdy Studio](https://docs.dev.crowdedkingdoms.com/build-a-game/bwf-mod-development): start from a game you run (The Construct locally, or a game that embeds Studio), the in-world Monaco/Rust workflow, server mods on ck-exec and client mods in the browser, author trust, and troubleshooting. - [What a game needs for mods](https://docs.dev.crowdedkingdoms.com/crowdyjs/crowdy-studio-embed#what-a-game-needs-for-mods): the Studio dock, the `/dsh/` harness and its headers, cross-origin isolation for CLIENT mods, the access tier keys and `use_studio_agent`, and Allow Live Modding. - [Mod authoring helper file](https://docs.dev.crowdedkingdoms.com/helpers/bwf-mod/authoring-checklist.txt) · [Cargo.toml](https://docs.dev.crowdedkingdoms.com/helpers/bwf-mod/Cargo.toml) · [client HUD Rust starter](https://docs.dev.crowdedkingdoms.com/helpers/bwf-mod/client-hud-lib.rs) - CrowdyJS guides: [Channels](https://docs.dev.crowdedkingdoms.com/crowdyjs/channels) · [Teams](https://docs.dev.crowdedkingdoms.com/crowdyjs/teams) · [Grids](https://docs.dev.crowdedkingdoms.com/crowdyjs/grids) · [World Stores (SDK-managed actor/chunk/message state)](https://docs.dev.crowdedkingdoms.com/crowdyjs/stores) - [Agentic Crowdy Studio player + CrowdyJS quickstart](https://docs.dev.crowdedkingdoms.com/crowdyjs/agentic-crowdy-studio) - [CrowdyCPP (portable C++ SDK with native UDP replication) overview](https://docs.dev.crowdedkingdoms.com/crowdycpp/intro) - [CrowdyCPP best practices](https://docs.dev.crowdedkingdoms.com/crowdycpp/best-practices) - CrowdyCPP guides: [Installation](https://docs.dev.crowdedkingdoms.com/crowdycpp/installation) · [Quick start](https://docs.dev.crowdedkingdoms.com/crowdycpp/quick-start) · [Replication client (native UDP)](https://docs.dev.crowdedkingdoms.com/crowdycpp/replication-client) · [World session (SDK-managed game state)](https://docs.dev.crowdedkingdoms.com/crowdycpp/world-session) · [Engine integration (Unreal, Godot, Unity)](https://docs.dev.crowdedkingdoms.com/crowdycpp/engine-integration) · [Compatibility & parity](https://docs.dev.crowdedkingdoms.com/crowdycpp/compatibility) - [CrowdyPy (Python SDK over the CrowdyCPP native core) overview](https://docs.dev.crowdedkingdoms.com/crowdypy/intro) - [CrowdyPy best practices](https://docs.dev.crowdedkingdoms.com/crowdypy/best-practices) - CrowdyPy guides: [Installation](https://docs.dev.crowdedkingdoms.com/crowdypy/installation) · [Quick start](https://docs.dev.crowdedkingdoms.com/crowdypy/quick-start) · [Replication (native UDP)](https://docs.dev.crowdedkingdoms.com/crowdypy/replication) · [World Stores](https://docs.dev.crowdedkingdoms.com/crowdypy/world-stores) · [Studio and player host](https://docs.dev.crowdedkingdoms.com/crowdypy/studio) · [Compatibility & parity](https://docs.dev.crowdedkingdoms.com/crowdypy/compatibility) - [Build a game (tutorial)](https://docs.dev.crowdedkingdoms.com/build-a-game/intro) - [Host your game](https://docs.dev.crowdedkingdoms.com/build-a-game/host-your-game): Crowded Kingdoms does not host games (Crowdy Games was retired on 2026-10-29). Serve your build from any static host that sends the headers: COOP/COEP for cross-origin isolation, the game's CSP, the separate `/dsh/` policy for the Studio agent, and sign-in through the app's redirect URIs and launch URL. ## Unreal SDK - [Unreal SDK index for agents (llms.txt)](https://docs.dev.crowdedkingdoms.com/helpers/unreal-sdk/llms.txt): start here. Every Unreal SDK page with its URL and a one-line description, grouped into sections, each with a link to that section as one plain-text file (`llms-
.txt`, 20 to 430 KB; the largest sections are split by subfolder). - [Unreal SDK docs root](https://docs.dev.crowdedkingdoms.com/unreal-sdk/intro): the Unreal Engine plugin, driven from C++ or Blueprint. - [Unreal SDK quickstart](https://docs.dev.crowdedkingdoms.com/unreal-sdk/quickstart): sign in and sync your app, sign the player in at runtime, then build one lantern that shows an entity, an RPC event, and a replicated property. - [For AI agents (Unreal SDK)](https://docs.dev.crowdedkingdoms.com/unreal-sdk/for-ai-agents): the fastest correct path for a coding agent working in an Unreal project on the plugin. - [Unreal SDK agent drop-in file](https://docs.dev.crowdedkingdoms.com/helpers/unreal-sdk/AGENTS.md): copy into a project's root, `CLAUDE.md`, or `.cursorrules`. - [Every Unreal SDK page in one file](https://docs.dev.crowdedkingdoms.com/helpers/unreal-sdk/llms-full.txt): all pages in reading order, with each page's source URL. About 1.6 MB, too large for most context windows; prefer the section files linked from the index. Blueprint graphs appear as pointers to their clipboard text under `/bp/unreal-sdk/`. - [SDK symbol index (JSON Lines)](https://docs.dev.crowdedkingdoms.com/helpers/unreal-sdk/sdk-surface-index.jsonl): about 340 KB, one line per symbol with name, kind, module, header and, where known, the first sentence of its help text. Check it before the full inventory. - [SDK surface inventory (JSON)](https://docs.dev.crowdedkingdoms.com/helpers/unreal-sdk/sdk-surface.json): every Blueprint-callable function, delegate, async action, subsystem, struct, enum, setting, console variable, metadata key, log category and C++ type the plugin exports, with module and header. - Blueprint clipboard text: one plain-text file per Blueprint graph referenced from the docs, at `https://docs.dev.crowdedkingdoms.com/bp/unreal-sdk/.txt` (for example [qs-entity](https://docs.dev.crowdedkingdoms.com/bp/unreal-sdk/qs-entity.txt)), named as the pointer lines in `llms-full.txt` name them, ready to paste into the editor. ## Changelog - [Releases & changelog](https://docs.dev.crowdedkingdoms.com/releases/intro) ## Agentic Crowdy Studio policy (development only) - [Studio agent policy](https://docs.dev.crowdedkingdoms.com/management-api/agentic-crowdy-studio-policy): allowlisted models, platform-funded caps, `use_studio_agent`, privacy, retention, and usage.