AimRank API Keys API
The API Keys API from AimRank — 3 operation(s) for api keys.
The API Keys API from AimRank — 3 operation(s) for api keys.
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/aimrank-io:aimrank-io-api-keys-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: AimRank API Keys API
description: Ranking-as-a-Service API — Turn binary comparisons into calibrated rankings with Glicko-2, Bradley-Terry, TrueSkill, and cross-domain transfer learning. Includes webhooks, API keys, RLHF exports, and embeddable widgets.
version: 4.12.0
tags:
- name: API Keys
paths:
/api/v1/api-keys:
get:
tags:
- API Keys
summary: List Api Keys
description: List all API keys for the current user.
operationId: list_api_keys_api_v1_api_keys_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/APIKeyResponse'
type: array
title: Response List Api Keys Api V1 Api Keys Get
post:
tags:
- API Keys
summary: Create Api Key
description: 'Create a new API key.
⚠️ The full API key is only shown once in this response!
Store it securely - it cannot be retrieved again.
Requires Pro plan or higher.'
operationId: create_api_key_api_v1_api_keys_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyCreate'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyCreatedResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/api-keys/{key_id}:
get:
tags:
- API Keys
summary: Get Api Key
description: Get details of a specific API key.
operationId: get_api_key_api_v1_api_keys__key_id__get
parameters:
- name: key_id
in: path
required: true
schema:
type: string
title: Key Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- API Keys
summary: Update Api Key
description: 'Update an API key. Requires a Pro plan or higher.
Gated because a PATCH can widen `scopes` (read -> write/admin) and flip
`is_active` back on — the same capability grant `create` charges for. A
free caller who wants a key switched off can still DELETE it, which stays
ungated, so this gate cannot strand anyone with a key they cannot revoke.'
operationId: update_api_key_api_v1_api_keys__key_id__patch
parameters:
- name: key_id
in: path
required: true
schema:
type: string
title: Key Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- API Keys
summary: Revoke Api Key
description: Revoke (delete) an API key.
operationId: revoke_api_key_api_v1_api_keys__key_id__delete
parameters:
- name: key_id
in: path
required: true
schema:
type: string
title: Key Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/api-keys/{key_id}/regenerate:
post:
tags:
- API Keys
summary: Regenerate Api Key
description: 'Regenerate an API key.
This invalidates the old key and creates a new one with the same settings.
⚠️ The new key is only shown once!
Requires a Pro plan or higher. Regeneration mints a brand-new secret, so
leaving it open let a lapsed subscriber re-arm API access indefinitely
from a key issued while they were paying — `create` was gated and this
was not, which made the create gate decorative after the first key.'
operationId: regenerate_api_key_api_v1_api_keys__key_id__regenerate_post
parameters:
- name: key_id
in: path
required: true
schema:
type: string
title: Key Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/APIKeyCreatedResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
APIKeyUpdate:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
scopes:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Scopes
is_active:
anyOf:
- type: boolean
- type: 'null'
title: Is Active
allowed_ips:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Allowed Ips
allowed_rankings:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Allowed Rankings
rate_limit:
anyOf:
- type: integer
- type: 'null'
title: Rate Limit
type: object
title: APIKeyUpdate
APIKeyCreate:
properties:
name:
type: string
maxLength: 255
minLength: 1
title: Name
scopes:
items:
type: string
type: array
title: Scopes
default:
- read
expires_in_days:
anyOf:
- type: integer
maximum: 365.0
minimum: 1.0
- type: 'null'
title: Expires In Days
allowed_ips:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Allowed Ips
allowed_rankings:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Allowed Rankings
rate_limit:
type: integer
maximum: 100000.0
minimum: 10.0
title: Rate Limit
default: 1000
type: object
required:
- name
title: APIKeyCreate
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
APIKeyResponse:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
key_prefix:
type: string
title: Key Prefix
scopes:
items:
type: string
type: array
title: Scopes
rate_limit:
type: integer
title: Rate Limit
is_active:
type: boolean
title: Is Active
expires_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Expires At
last_used_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Used At
usage_count:
type: integer
title: Usage Count
created_at:
type: string
format: date-time
title: Created At
type: object
required:
- id
- name
- key_prefix
- scopes
- rate_limit
- is_active
- expires_at
- last_used_at
- usage_count
- created_at
title: APIKeyResponse
APIKeyCreatedResponse:
properties:
id:
type: string
title: Id
name:
type: string
title: Name
key_prefix:
type: string
title: Key Prefix
scopes:
items:
type: string
type: array
title: Scopes
rate_limit:
type: integer
title: Rate Limit
is_active:
type: boolean
title: Is Active
expires_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Expires At
last_used_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Last Used At
usage_count:
type: integer
title: Usage Count
created_at:
type: string
format: date-time
title: Created At
api_key:
type: string
title: Api Key
type: object
required:
- id
- name
- key_prefix
- scopes
- rate_limit
- is_active
- expires_at
- last_used_at
- usage_count
- created_at
- api_key
title: APIKeyCreatedResponse
description: Response when creating a new API key - includes the full key.
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key