Kongregate · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the Kongregate Server-Side API
19 actions
19 updates
documentation
extends
openapi/kongregate-server-api-openapi-original.json
Derived by API Evangelist
Built from the contracts Kongregate publishes. Kongregate did not publish this file.
What the actions change
tagsx-apievangelist-notestitledescriptioncontacttermsOfServicex-apievangelist-enrichedx-logo
Targets 19 · first 16 shown; the file carries all of them
$.info
$
$.components
$.servers
$.paths['/authenticate.json'].get
$.paths['/use_item.json'].post
$.paths['/submit_statistics.json'].post
$.paths['/high_scores/{scope}/:statistic_id.json'].get
$.paths['/high_scores/friends/{statistic_id}/:user_id.json'].get
$.paths['/items.json'].get
$.paths['/user_items.json'].get
$.paths['/guilds.json'].post
$.paths['/guilds/destroy.json'].post
$.paths['/characters.json'].post
$.paths['/kongpanions/index.json'].get
$.paths['/kongpanions.json'].get
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for the Kongregate Server-Side API
version: 1.0.0
extends: openapi/kongregate-server-api-openapi-original.json
x-generated: '2026-07-19'
x-method: generated
x-source: >-
Derived from openapi/kongregate-server-api-openapi-original.json plus the Kongregate developer
documentation at https://docs.kongregate.com/. This overlay records API Evangelist
enhancements only — the harvested original specification is never mutated.
actions:
- target: $.info
description: Give the specification a real title, contact and licence identity.
update:
title: Kongregate Server-Side API
description: >-
Server-side REST API for games hosted on the Kongregate platform. Covers player
authentication, statistics and leaderboards, the Kreds virtual-goods catalogue and
inventory, guilds and characters, Kongpanions, and shared links. All calls are
authenticated with a private per-game API key, which must never be used from a game
client.
contact:
name: Kongregate Developer Support
url: https://kongregatesupport.zendesk.com/hc/en-us/categories/26688218392717-Developers
termsOfService: https://www.kongregate.com/en/terms-of-service
x-apievangelist-enriched: '2026-07-19'
x-logo:
url: https://www.kongregate.com
- target: $
description: >-
Declare the security schemes the API actually uses. The published specification ships an
EMPTY components.securitySchemes object even though every operation requires an api_key,
so no tooling can generate correct authenticated clients from it as published.
update:
externalDocs:
description: Kongregate Developers documentation
url: https://docs.kongregate.com/
tags:
- name: Authentication
description: Exchange a client-minted game_auth_token for the player's identity.
- name: Statistics
description: Submit statistics and read lifetime, weekly, daily and friends leaderboards.
- name: Items
description: The Kreds virtual-goods catalogue, per-user inventory, and item consumption.
- name: Guilds
description: Game-defined player groups and the characters that belong to them.
- name: Kongpanions
description: Platform-level collectibles and a user's collection.
- name: Shared Links
description: Expiring shareable links generated from inside a game.
- name: Users
description: Player profile, friends and mute lists.
- target: $.components
description: Add the api_key and game_auth_token security schemes missing from the original.
update:
securitySchemes:
apiKeyQuery:
type: apiKey
in: query
name: api_key
description: >-
Private per-game API key, retrieved from the game's own /api page at
https://www.kongregate.com/games/{username}/{game}/api. Server-side only — never
expose this in game client code.
- target: $.servers
description: Document that there is no separate sandbox host.
update:
- url: https://api.kongregate.com/api
description: >-
Production. Kongregate publishes no sandbox host; testing runs against production,
isolated by game preview state and by developer accounts that transact at zero Kreds.
- target: $.paths['/authenticate.json'].get
description: >-
Flag the status-code decoupling. Both documented failure modes are returned as HTTP 200
with success:false in the body, which silently breaks clients that branch on HTTP status.
update:
tags: [Authentication]
x-apievangelist-notes:
status_code_decoupled: true
warning: >-
Invalid Credentials (error 403) and Bad Parameters (error 400) are both returned as
HTTP 200. Branch on the response body's `success` boolean, not on the HTTP status.
token_rotation: >-
game_auth_token changes whenever the player changes their password. Treat a 403 as a
signal to re-fetch the token client-side rather than as a permanent failure.
- target: $.paths['/use_item.json'].post
description: Flag the non-idempotent consume operation.
update:
tags: [Items]
x-apievangelist-notes:
idempotent: false
warning: >-
Consuming an item decrements remaining_uses. Kongregate documents no idempotency key,
so a retry after a network timeout can double-consume. Reconcile against the returned
usage_record_id and remaining_uses, or re-read the inventory via /user_items.json,
before retrying.
error_schema_missing: >-
The declared 400 response carries no schema and no body, so failures are not
machine-readable.
- target: $.paths['/submit_statistics.json'].post
description: Record the statistic-type semantics that determine retry safety.
update:
tags: [Statistics]
x-apievangelist-notes:
idempotent: conditional
detail: >-
Statistic type determines retry safety. max, min and replace statistics are naturally
idempotent — resubmitting the same value is a no-op, which is why the documentation
recommends resubmitting all data retroactively on game load. "add" statistics accumulate
and are NOT safe to retry.
constraints: >-
Statistic values must be non-negative integers with a maximum of BIG_INT (9.223e18).
Sub-integer values must be scaled (e.g. seconds to milliseconds) before submission.
- target: $.paths['/high_scores/{scope}/:statistic_id.json'].get
description: Note the malformed path template in the published specification.
update:
tags: [Statistics]
x-apievangelist-notes:
spec_defect: >-
The path mixes two templating styles: {scope} is OpenAPI-style while :statistic_id is
Rails-style. Generated clients will not substitute :statistic_id. The same defect
appears on /high_scores/friends/{statistic_id}/:user_id.json.
- target: $.paths['/high_scores/friends/{statistic_id}/:user_id.json'].get
description: Tag and flag the same path-template defect.
update:
tags: [Statistics]
x-apievangelist-notes:
spec_defect: >-
:user_id uses Rails-style templating rather than OpenAPI {user_id} and will not be
substituted by generated clients.
- target: $.paths['/items.json'].get
update:
tags: [Items]
- target: $.paths['/user_items.json'].get
update:
tags: [Items]
- target: $.paths['/guilds.json'].post
update:
tags: [Guilds]
- target: $.paths['/guilds/destroy.json'].post
update:
tags: [Guilds]
x-apievangelist-notes:
destructive: true
warning: Unrecoverable. Gate behind explicit confirmation in any agent-driven caller.
- target: $.paths['/characters.json'].post
update:
tags: [Guilds]
- target: $.paths['/kongpanions/index.json'].get
update:
tags: [Kongpanions]
- target: $.paths['/kongpanions.json'].get
update:
tags: [Kongpanions]
- target: $.paths['/shared_links/create.json'].post
update:
tags: [Shared Links]
- target: $.paths['/shared_links/{id}/destroy.json'].post
update:
tags: [Shared Links]
x-apievangelist-notes:
destructive: true
- target: $.paths['/user_info.json'].get
update:
tags: [Users]
x-apievangelist-notes:
batching: >-
Accepts plural usernames / user_ids for multi-user lookup alongside the singular forms.
expansion: >-
Setting `friends` expands the response with friends, friend_ids, muted_users and
muted_user_ids.
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/kongregate-server-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.