CodeCombat Default API
The Default API from CodeCombat — 1 operation(s) for default.
The Default API from CodeCombat — 1 operation(s) for default.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/codecombat-default-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: CodeCombat API
version: ''
servers:
- url: https://codecombat.com/api
description: default
tags:
- name: ''
paths:
users/{handle}/o-auth-identities:
post:
description: 'Adds an OAuth2 identity to the user, so that they can be logged in with that identity. You need to send the OAuth code or the access token to this endpoint. 1. If no access token is provided, it will use your OAuth2 token URL to exchange the given code for an access token. 2. Then it will use the access token (given by you, or received from step 1) to look up the user on your service using the lookup URL, and expects a JSON object in response with an `id` property. 3. It will then save that user `id` to the user in our db as a new OAuthIdentity. In this example, we call your lookup URL (let''s say, `https://oauth.provider/user?t=`) with the access token (`1234`). The lookup URL returns `{ id: ''abcd'' }` in this case, which we save to the user in our db.'
operationId: Service.postUsersHandleOAuthIdentities
tags:
- ''
parameters:
- name: handle
in: path
description: The document's `_id` or `slug`.
required: true
schema:
type: string
responses:
'200':
description: The affected user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
summary: Add Oauth2 Identity
security:
- BasicAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
provider:
type: string
description: Your OAuth Provider ID.
accessToken:
type: string
description: Will be passed through your lookup URL to get the user ID. Required if no `code`.
code:
type: string
description: Will be passed to the OAuth token endpoint to get a token. Required if no `accessToken`.
required:
- provider
components:
schemas:
UserResponseSubscription:
type: object
properties:
ends:
$ref: '#/components/schemas/datetimeString'
active:
type: boolean
datetimeString:
type: string
UserResponseLicense:
type: object
properties:
ends:
$ref: '#/components/schemas/datetimeString'
active:
type: boolean
UserResponseOAuthIdentitiesItem:
type: object
properties:
provider:
type: string
id:
type: string
roleString:
type: string
description: Usually either 'teacher' or 'student'
UserResponseStats:
type: object
properties:
gamesCompleted:
type: number
format: double
concepts:
type: object
additionalProperties:
type: number
format: double
playTime:
type: number
format: double
description: Included only when specifically requested on the endpoint
UserResponse:
type: object
description: Subset of properties listed here
properties:
_id:
$ref: '#/components/schemas/objectIdString'
email:
type: string
name:
type: string
slug:
type: string
role:
$ref: '#/components/schemas/roleString'
stats:
$ref: '#/components/schemas/UserResponseStats'
oAuthIdentities:
type: array
items:
$ref: '#/components/schemas/UserResponseOAuthIdentitiesItem'
subscription:
$ref: '#/components/schemas/UserResponseSubscription'
license:
$ref: '#/components/schemas/UserResponseLicense'
objectIdString:
type: string
securitySchemes:
BasicAuth:
type: http
scheme: basic