AimRank Gamification API

The Gamification API from AimRank — 8 operation(s) for gamification.

Operations 8

GET /api/v1/gamification/achievements Get Achievements #
GET /api/v1/gamification/achievements/{slug} Get Achievement #
GET /api/v1/gamification/leaderboard Get Leaderboard #
GET /api/v1/gamification/streak Get Streak #
GET /api/v1/gamification/points Get Points #
GET /api/v1/gamification/levels Get Levels #
GET /api/v1/gamification/dashboard Get Dashboard #
POST /api/v1/gamification/streak/freeze Use Streak Freeze #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aimrank-io:aimrank-io-gamification-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

aimrank-io-gamification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AimRank Gamification 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: Gamification
paths:
  /api/v1/gamification/achievements:
    get:
      tags:
      - Gamification
      summary: Get Achievements
      description: Get all achievements with user progress.
      operationId: get_achievements_api_v1_gamification_achievements_get
      parameters:
      - name: category
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by category
          title: Category
        description: Filter by category
      - name: earned_only
        in: query
        required: false
        schema:
          type: boolean
          description: Only show earned achievements
          default: false
          title: Earned Only
        description: Only show earned achievements
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AchievementResponse'
                title: Response Get Achievements Api V1 Gamification Achievements Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/gamification/achievements/{slug}:
    get:
      tags:
      - Gamification
      summary: Get Achievement
      description: Get a specific achievement.
      operationId: get_achievement_api_v1_gamification_achievements__slug__get
      parameters:
      - name: slug
        in: path
        required: true
        schema:
          type: string
          title: Slug
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AchievementResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/gamification/leaderboard:
    get:
      tags:
      - Gamification
      summary: Get Leaderboard
      description: Get leaderboard rankings.
      operationId: get_leaderboard_api_v1_gamification_leaderboard_get
      parameters:
      - name: leaderboard_type
        in: query
        required: false
        schema:
          enum:
          - global
          - weekly
          - monthly
          type: string
          default: global
          title: Leaderboard Type
      - name: metric
        in: query
        required: false
        schema:
          enum:
          - points
          - votes
          - accuracy
          - streak
          type: string
          default: points
          title: Metric
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 10
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeaderboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/gamification/streak:
    get:
      tags:
      - Gamification
      summary: Get Streak
      description: Get current user's streak information.
      operationId: get_streak_api_v1_gamification_streak_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreakResponse'
  /api/v1/gamification/points:
    get:
      tags:
      - Gamification
      summary: Get Points
      description: Get current user's points information.
      operationId: get_points_api_v1_gamification_points_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PointsResponse'
  /api/v1/gamification/levels:
    get:
      tags:
      - Gamification
      summary: Get Levels
      description: Get level thresholds (public endpoint).
      operationId: get_levels_api_v1_gamification_levels_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LevelInfo'
                type: array
                title: Response Get Levels Api V1 Gamification Levels Get
  /api/v1/gamification/dashboard:
    get:
      tags:
      - Gamification
      summary: Get Dashboard
      description: Get gamification dashboard with all user stats.
      operationId: get_dashboard_api_v1_gamification_dashboard_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DashboardResponse'
  /api/v1/gamification/streak/freeze:
    post:
      tags:
      - Gamification
      summary: Use Streak Freeze
      description: Use a streak freeze to protect the current streak.
      operationId: use_streak_freeze_api_v1_gamification_streak_freeze_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
components:
  schemas:
    LevelInfo:
      properties:
        level:
          type: integer
          title: Level
        min_points:
          type: integer
          title: Min Points
        max_points:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Points
      type: object
      required:
      - level
      - min_points
      - max_points
      title: LevelInfo
    AchievementResponse:
      properties:
        slug:
          type: string
          title: Slug
        name:
          type: string
          title: Name
        description:
          type: string
          title: Description
        icon:
          type: string
          title: Icon
        rarity:
          type: string
          title: Rarity
        category:
          type: string
          title: Category
        earned:
          type: boolean
          title: Earned
        earned_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Earned At
        progress:
          type: integer
          title: Progress
        progress_max:
          type: integer
          title: Progress Max
        is_hidden:
          type: boolean
          title: Is Hidden
      type: object
      required:
      - slug
      - name
      - description
      - icon
      - rarity
      - category
      - earned
      - earned_at
      - progress
      - progress_max
      - is_hidden
      title: AchievementResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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
    LeaderboardResponse:
      properties:
        type:
          type: string
          title: Type
        metric:
          type: string
          title: Metric
        entries:
          items:
            $ref: '#/components/schemas/LeaderboardEntry'
          type: array
          title: Entries
        current_user:
          anyOf:
          - $ref: '#/components/schemas/LeaderboardEntry'
          - type: 'null'
        total_users:
          type: integer
          title: Total Users
      type: object
      required:
      - type
      - metric
      - entries
      - current_user
      - total_users
      title: LeaderboardResponse
    LeaderboardEntry:
      properties:
        rank:
          type: integer
          title: Rank
        user_id:
          type: string
          title: User Id
        username:
          type: string
          title: Username
        value:
          type: integer
          title: Value
        level:
          type: integer
          title: Level
        is_current_user:
          type: boolean
          title: Is Current User
        change:
          anyOf:
          - type: integer
          - type: 'null'
          title: Change
      type: object
      required:
      - rank
      - user_id
      - username
      - value
      - level
      - is_current_user
      title: LeaderboardEntry
    PointsResponse:
      properties:
        total_points:
          type: integer
          title: Total Points
        current_level:
          type: integer
          title: Current Level
        points_to_next_level:
          type: integer
          title: Points To Next Level
        points_from_votes:
          type: integer
          title: Points From Votes
        points_from_accuracy:
          type: integer
          title: Points From Accuracy
        points_from_streaks:
          type: integer
          title: Points From Streaks
        points_from_achievements:
          type: integer
          title: Points From Achievements
        points_this_week:
          type: integer
          title: Points This Week
        points_this_month:
          type: integer
          title: Points This Month
      type: object
      required:
      - total_points
      - current_level
      - points_to_next_level
      - points_from_votes
      - points_from_accuracy
      - points_from_streaks
      - points_from_achievements
      - points_this_week
      - points_this_month
      title: PointsResponse
    StreakResponse:
      properties:
        current_daily_streak:
          type: integer
          title: Current Daily Streak
        longest_daily_streak:
          type: integer
          title: Longest Daily Streak
        current_correct_streak:
          type: integer
          title: Current Correct Streak
        longest_correct_streak:
          type: integer
          title: Longest Correct Streak
        streak_freezes_available:
          type: integer
          title: Streak Freezes Available
        streak_at_risk:
          type: boolean
          title: Streak At Risk
        hours_until_reset:
          anyOf:
          - type: integer
          - type: 'null'
          title: Hours Until Reset
      type: object
      required:
      - current_daily_streak
      - longest_daily_streak
      - current_correct_streak
      - longest_correct_streak
      - streak_freezes_available
      - streak_at_risk
      title: StreakResponse
    DashboardResponse:
      properties:
        streak:
          $ref: '#/components/schemas/StreakResponse'
        points:
          $ref: '#/components/schemas/PointsResponse'
        achievements_earned:
          type: integer
          title: Achievements Earned
        achievements_total:
          type: integer
          title: Achievements Total
        recent_achievements:
          items:
            $ref: '#/components/schemas/AchievementResponse'
          type: array
          title: Recent Achievements
        leaderboard_rank:
          anyOf:
          - type: integer
          - type: 'null'
          title: Leaderboard Rank
      type: object
      required:
      - streak
      - points
      - achievements_earned
      - achievements_total
      - recent_achievements
      - leaderboard_rank
      title: DashboardResponse
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key