AimRank Competitions API
The Competitions API from AimRank — 5 operation(s) for competitions.
The Competitions API from AimRank — 5 operation(s) for competitions.
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-competitions-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 Competitions 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: Competitions
paths:
/api/v1/competitions:
post:
tags:
- Competitions
summary: Create Competition
description: Create a new competition.
operationId: create_competition_api_v1_competitions_post
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/api__routes__competitions__CreateCompetitionRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Competitions
summary: List Competitions
description: List competitions with optional filters.
operationId: list_competitions_api_v1_competitions_get
parameters:
- name: ranking_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Ranking Id
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Status
- name: is_public
in: query
required: false
schema:
type: boolean
default: true
title: Is Public
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
title: Page
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
default: 20
title: Page Size
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/competitions/{competition_id}:
get:
tags:
- Competitions
summary: Get Competition
description: Get a specific competition by ID or share code.
operationId: get_competition_api_v1_competitions__competition_id__get
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
- name: include_matches
in: query
required: false
schema:
type: boolean
default: true
title: Include Matches
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- Competitions
summary: Update Competition
description: Update a competition.
operationId: update_competition_api_v1_competitions__competition_id__put
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCompetitionRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Competitions
summary: Delete Competition
description: Delete a competition (soft delete).
operationId: delete_competition_api_v1_competitions__competition_id__delete
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/competitions/{competition_id}/matches:
post:
tags:
- Competitions
summary: Create Match
description: Add a match to a competition.
operationId: create_match_api_v1_competitions__competition_id__matches_post
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMatchRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Competitions
summary: List Matches
description: List all matches in a competition.
operationId: list_matches_api_v1_competitions__competition_id__matches_get
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/competitions/{competition_id}/matches/{match_id}/result:
put:
tags:
- Competitions
summary: Update Match Result
description: Enter the result of a match.
operationId: update_match_result_api_v1_competitions__competition_id__matches__match_id__result_put
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
- name: match_id
in: path
required: true
schema:
type: string
title: Match Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateMatchResultRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/competitions/{competition_id}/matches/{match_id}:
delete:
tags:
- Competitions
summary: Delete Match
description: Delete a match from a competition.
operationId: delete_match_api_v1_competitions__competition_id__matches__match_id__delete
parameters:
- name: competition_id
in: path
required: true
schema:
type: string
title: Competition Id
- name: match_id
in: path
required: true
schema:
type: string
title: Match Id
responses:
'204':
description: Successful Response
'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
CreateMatchRequest:
properties:
entity_a_id:
type: string
title: Entity A Id
entity_b_id:
type: string
title: Entity B Id
match_number:
anyOf:
- type: integer
- type: 'null'
title: Match Number
card_position:
anyOf:
- type: string
- type: 'null'
title: Card Position
scheduled_rounds:
type: integer
title: Scheduled Rounds
default: 3
weight_class:
anyOf:
- type: string
- type: 'null'
title: Weight Class
is_title_fight:
type: boolean
title: Is Title Fight
default: false
scheduled_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Scheduled At
type: object
required:
- entity_a_id
- entity_b_id
title: CreateMatchRequest
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
api__routes__competitions__CreateCompetitionRequest:
properties:
ranking_id:
type: string
title: Ranking Id
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
event_date:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Event Date
event_location:
anyOf:
- type: string
- type: 'null'
title: Event Location
venue:
anyOf:
- type: string
- type: 'null'
title: Venue
competition_type:
type: string
title: Competition Type
default: custom
is_public:
type: boolean
title: Is Public
default: true
requires_auth:
type: boolean
title: Requires Auth
default: false
voting_opens_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Voting Opens At
voting_closes_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Voting Closes At
type: object
required:
- ranking_id
- name
title: CreateCompetitionRequest
UpdateMatchResultRequest:
properties:
winner_id:
anyOf:
- type: string
- type: 'null'
title: Winner Id
outcome:
type: string
title: Outcome
method:
anyOf:
- type: string
- type: 'null'
title: Method
method_detail:
anyOf:
- type: string
- type: 'null'
title: Method Detail
ending_round:
anyOf:
- type: integer
- type: 'null'
title: Ending Round
ending_time:
anyOf:
- type: string
- type: 'null'
title: Ending Time
type: object
required:
- outcome
title: UpdateMatchResultRequest
UpdateCompetitionRequest:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
event_date:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Event Date
event_location:
anyOf:
- type: string
- type: 'null'
title: Event Location
venue:
anyOf:
- type: string
- type: 'null'
title: Venue
status:
anyOf:
- type: string
- type: 'null'
title: Status
is_public:
anyOf:
- type: boolean
- type: 'null'
title: Is Public
voting_opens_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Voting Opens At
voting_closes_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Voting Closes At
type: object
title: UpdateCompetitionRequest
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: X-API-Key