CoderPad Account API
Information about the account the API key belongs to.
Information about the account the API key belongs to.
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/coderpad:coderpad-account-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: CoderPad Interview Account API
version: 1.0.0
description: 'The CoderPad Interview API lets you create and manage interview pads and questions programmatically, for example to integrate CoderPad with your interview scheduling platform or to retrieve the content of an interview once it has ended.
It is a REST API that returns JSON.
# Authentication
Every request is authenticated with your API key, which you can find on your settings page. Send it in the `Authorization` header, either as a bearer token or in the `Token` format:
```
curl -H ''Authorization: Bearer YOUR_API_KEY'' https://app.coderpad.io/api/pads
curl -H ''Authorization: Token token="YOUR_API_KEY"'' https://app.coderpad.io/api/pads
```
# Responses and errors
Every response is a JSON object. Successful responses have an HTTP 2xx status and include `"status": "OK"`. Unsuccessful responses have an appropriate HTTP status and include `"status": "ERROR"` and a human-readable `message`:
```json
{ "status": "ERROR", "message": "Invalid API key" }
```
| HTTP status | Meaning |
| --- | --- |
| 200 | The request succeeded. |
| 400 | The request is invalid, for example because it specifies a language that does not exist. |
| 401 | The API key is not tied to a valid account, or you cannot access this resource. |
| 403 | You do not have permission to perform this action. |
| 404 | The resource does not exist or is not visible to you. |
| 429 | Too many requests, or your pad quota is exhausted. |
# Request bodies
Requests can be sent as JSON or as form data. Write endpoints expect their fields wrapped in an object named after the resource (`{"pad": {"title": "..."}}`, `question[title]=...`), but also accept them at the top level (`{"title": "..."}`, `title=...`).
# Pagination
List endpoints return at most 50 items per request, along with a `total` count. Follow the `next_page` and `prev_page` URLs, when present, to fetch the other pages.
# Languages
Wherever a request or response has a `language` field, its value is a CoderPad language key such as `python3`, `javascript`, `typescript`, `java`, `ruby`, `go`, `csharp`, `cpp` or `postgresql`. Where noted, project template slugs (multi-file environments such as `react` or `multifile_python`) are also accepted.'
contact:
name: CoderPad Support
url: https://coderpad.io/support/
servers:
- url: https://app.coderpad.io/api
security:
- apiKey: []
tags:
- name: Account
description: Information about the account the API key belongs to.
paths:
/quota:
get:
tags:
- Account
operationId: getQuota
summary: Retrieve your pad quota
description: Returns your pad usage for the current billing cycle. For organization accounts, this is the organization's quota.
responses:
'200':
description: The quota.
content:
application/json:
schema:
$ref: '#/components/schemas/QuotaResponse'
'401':
$ref: '#/components/responses/Unauthorized'
/user:
get:
tags:
- Account
operationId: getUser
summary: Retrieve the current user
description: Returns the user the API key belongs to.
responses:
'200':
description: The user.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Ok'
- type: object
required:
- name
- allow_pad_creation
- analytics_id
properties:
name:
type:
- string
- 'null'
allow_pad_creation:
type: boolean
description: Whether this user may create pads.
analytics_id:
type: string
description: A stable, anonymous identifier of the user.
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Ok:
type: object
required:
- status
properties:
status:
type: string
enum:
- OK
QuotaResponse:
allOf:
- $ref: '#/components/schemas/Ok'
- type: object
properties:
trial_expires_at:
type:
- string
- 'null'
format: date-time
pads_used:
type: integer
description: Pads used in the current billing cycle.
quota_reset_at:
type:
- string
- 'null'
format: date-time
description: When the current billing cycle ends.
unlimited:
type: boolean
overages_enabled:
type: boolean
description: Whether pads can still be created, and billed as overages, once the limit is reached.
pads_remaining:
type: integer
description: Pads left in the current billing cycle. Absent when `unlimited` is `true`.
billing_cycle_pad_limit:
type: integer
description: Pads allowed per billing cycle. Absent when `unlimited` is `true`.
Error:
type: object
required:
- status
- message
properties:
status:
type: string
enum:
- ERROR
message:
type: string
description: A human-readable description of the error.
responses:
Unauthorized:
description: The API key is invalid, or you cannot access this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
status: ERROR
message: Invalid API key
securitySchemes:
apiKey:
type: http
scheme: bearer
description: 'Your API key, from [your settings page](https://app.coderpad.io/settings). The `Authorization: Token token="YOUR_API_KEY"` format is also accepted.
'
x-provenance:
method: searched
source: https://developers.coderpad.io/reference
harvested: '2026-10-27'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://developers.coderpad.io/reference/createpad.md
- https://developers.coderpad.io/reference/createquestion-1.md
- https://developers.coderpad.io/reference/createquestionvariant.md
- https://developers.coderpad.io/reference/deletequestion.md
- https://developers.coderpad.io/reference/deletequestionvariant.md
- https://developers.coderpad.io/reference/getorganization.md
- https://developers.coderpad.io/reference/getorganizationstats.md
- https://developers.coderpad.io/reference/getpad.md
- https://developers.coderpad.io/reference/getpadenvironment.md
- https://developers.coderpad.io/reference/getquestion.md
- https://developers.coderpad.io/reference/getquestionvariant.md
- https://developers.coderpad.io/reference/getquota.md
- https://developers.coderpad.io/reference/getuser.md
- https://developers.coderpad.io/reference/listorganizationpads.md
- https://developers.coderpad.io/reference/listorganizationquestions.md
- https://developers.coderpad.io/reference/listorganizationusers.md
- https://developers.coderpad.io/reference/listpadevents.md
- https://developers.coderpad.io/reference/listpads.md
- https://developers.coderpad.io/reference/listquestions.md
- https://developers.coderpad.io/reference/listquestionvariants.md
- https://developers.coderpad.io/reference/updatepad.md
- https://developers.coderpad.io/reference/updatequestion-1.md
- https://developers.coderpad.io/reference/updatequestionvariant.md
merge:
pages: 23
deduped: 211
conflicts_kept_first: 0