openapi: 3.0.3
info:
  title: 'The NecroLab API'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://www.necrolab.com'
paths:
  /api/platforms:
    get:
      summary: 'Fetch Platforms'
      operationId: fetchPlatforms
      description: 'Fetches all enabled platforms and their metadata.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      slug: steam
                      name: Steam
                      start_date: '2014-07-30'
                      end_date: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        slug: steam
                        name: Steam
                        start_date: '2014-07-30'
                        end_date: null
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: steam
                        name:
                          type: string
                          example: Steam
                        start_date:
                          type: string
                          example: '2014-07-30'
                        end_date:
                          type: string
                          example: null
      tags:
        - Metadata
      security: []
  '/api/platforms/{platform}/tag-combos':
    get:
      summary: 'Fetch Tag Combos for Platform'
      operationId: fetchTagCombosForPlatform
      description: 'Fetches all tag combos for the specified platform.'
      parameters:
        -
          in: query
          name: includes_wildcard
          description: 'Only fetches wildcard tag combos when true, and only fetches non wildcard tag combos when false.'
          example: null
          required: false
          schema:
            type: boolean
            description: 'Only fetches wildcard tag combos when true, and only fetches non wildcard tag combos when false.'
            example: null
        -
          in: query
          name: includes_meme
          description: 'Only fetches meme tag combos when true, and only fetches non meme tag combos when false.'
          example: null
          required: false
          schema:
            type: boolean
            description: 'Only fetches meme tag combos when true, and only fetches non meme tag combos when false.'
            example: null
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: 'The slug of the tag combo to search for.'
          example: null
          required: false
          schema:
            type: string
            description: 'The slug of the tag combo to search for.'
            example: null
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~all-chars~amplified~deathless
                      metric: wins
                      includes_wildcard: true
                      includes_meme: true
                    -
                      slug: all-time~all-chars~amplified~deathless~co-op
                      metric: wins
                      includes_wildcard: true
                      includes_meme: true
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~all-chars~amplified~deathless
                        metric: wins
                        includes_wildcard: true
                        includes_meme: true
                      -
                        slug: all-time~all-chars~amplified~deathless~co-op
                        metric: wins
                        includes_wildcard: true
                        includes_meme: true
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~all-chars~amplified~deathless
                        metric:
                          type: string
                          example: wins
                        includes_wildcard:
                          type: boolean
                          example: true
                        includes_meme:
                          type: boolean
                          example: true
      tags:
        - Metadata
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/platforms/{platform}/metrics':
    get:
      summary: 'Fetch Metrics for Platform'
      operationId: fetchMetricsForPlatform
      description: 'Fetches all enabled metrics and their metadata for the specified platform.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: 'The slug of the metric to search for.'
          example: null
          required: false
          schema:
            type: string
            description: 'The slug of the metric to search for.'
            example: null
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: score
                      name: Score
                    -
                      slug: time
                      name: Time
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: score
                        name: Score
                      -
                        slug: time
                        name: Time
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: score
                        name:
                          type: string
                          example: Score
      tags:
        - Metadata
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  /api/ranking-timeframes:
    get:
      summary: 'Fetch Ranking Timeframes'
      operationId: fetchRankingTimeframes
      description: 'Fetches all enabled ranking timeframes and their metadata.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      slug: all
                      name: All
                      start_date: null
                      end_date: null
                    -
                      slug: past-6-months
                      name: 'Past 6 Months'
                      start_date: '2023-07-07'
                      end_date: '2024-01-07'
                    -
                      slug: past-month
                      name: 'Past Month'
                      start_date: '2023-12-07'
                      end_date: '2024-01-07'
                    -
                      slug: past-week
                      name: 'Past Week'
                      start_date: '2023-12-31'
                      end_date: '2024-01-07'
                    -
                      slug: past-year
                      name: 'Past Year'
                      start_date: '2023-01-07'
                      end_date: '2024-01-07'
                properties:
                  data:
                    type: array
                    example:
                      -
                        slug: all
                        name: All
                        start_date: null
                        end_date: null
                      -
                        slug: past-6-months
                        name: 'Past 6 Months'
                        start_date: '2023-07-07'
                        end_date: '2024-01-07'
                      -
                        slug: past-month
                        name: 'Past Month'
                        start_date: '2023-12-07'
                        end_date: '2024-01-07'
                      -
                        slug: past-week
                        name: 'Past Week'
                        start_date: '2023-12-31'
                        end_date: '2024-01-07'
                      -
                        slug: past-year
                        name: 'Past Year'
                        start_date: '2023-01-07'
                        end_date: '2024-01-07'
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all
                        name:
                          type: string
                          example: All
                        start_date:
                          type: string
                          example: null
                        end_date:
                          type: string
                          example: null
      tags:
        - Metadata
      security: []
  '/api/leaderboards/{platform}/{slug}/{date}/entries':
    get:
      summary: 'Fetch Leaderboard Entries for Date'
      operationId: fetchLeaderboardEntriesForDate
      description: "Fetch the entries for a leaderboard that is tied to a date.\n<aside class=\"notice\">Only leaderboard entries for dailies can be fetched from this endpoint.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: 'The player or user to search for.'
          example: null
          required: false
          schema:
            type: string
            description: 'The player or user to search for.'
            example: null
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      user: []
                      player_external_id: '76561198207378484'
                      username: Ocre
                      rank: 1
                      metric: '29203'
                      metric_type: score
                      date: '2022-06-30'
                      pb_metadata:
                        -
                          name: end_level
                          value: '6'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                      seed: '44832'
                      replay_id: 3900146047
                      replay_metadata:
                        -
                          name: last_damage_source
                          value: ''
                          display_name: 'Last Damage Source'
                        -
                          name: replay_version
                          value: '94'
                          display_name: 'Replay Version'
                    -
                      user: []
                      player_external_id: '76561197997560639'
                      username: Hellminthiasis
                      rank: 2
                      metric: '27867'
                      metric_type: score
                      date: '2022-06-30'
                      pb_metadata:
                        -
                          name: end_level
                          value: '6'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                      seed: '44832'
                      replay_id: 3902609047
                      replay_metadata:
                        -
                          name: last_damage_source
                          value: ''
                          display_name: 'Last Damage Source'
                        -
                          name: replay_version
                          value: '94'
                          display_name: 'Replay Version'
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        user: []
                        player_external_id: '76561198207378484'
                        username: Ocre
                        rank: 1
                        metric: '29203'
                        metric_type: score
                        date: '2022-06-30'
                        pb_metadata:
                          -
                            name: end_level
                            value: '6'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                        seed: '44832'
                        replay_id: 3900146047
                        replay_metadata:
                          -
                            name: last_damage_source
                            value: ''
                            display_name: 'Last Damage Source'
                          -
                            name: replay_version
                            value: '94'
                            display_name: 'Replay Version'
                      -
                        user: []
                        player_external_id: '76561197997560639'
                        username: Hellminthiasis
                        rank: 2
                        metric: '27867'
                        metric_type: score
                        date: '2022-06-30'
                        pb_metadata:
                          -
                            name: end_level
                            value: '6'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                        seed: '44832'
                        replay_id: 3902609047
                        replay_metadata:
                          -
                            name: last_damage_source
                            value: ''
                            display_name: 'Last Damage Source'
                          -
                            name: replay_version
                            value: '94'
                            display_name: 'Replay Version'
                    items:
                      type: object
                      properties:
                        user:
                          type: array
                          example: []
                        player_external_id:
                          type: string
                          example: '76561198207378484'
                        username:
                          type: string
                          example: Ocre
                        rank:
                          type: integer
                          example: 1
                        metric:
                          type: string
                          example: '29203'
                        metric_type:
                          type: string
                          example: score
                        date:
                          type: string
                          example: '2022-06-30'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '6'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '5'
                              display_name: 'End Zone'
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '6'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: '44832'
                        replay_id:
                          type: integer
                          example: 3900146047
                        replay_metadata:
                          type: array
                          example:
                            -
                              name: last_damage_source
                              value: ''
                              display_name: 'Last Damage Source'
                            -
                              name: replay_version
                              value: '94'
                              display_name: 'Replay Version'
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: last_damage_source
                              value:
                                type: string
                                example: ''
                              display_name:
                                type: string
                                example: 'Last Damage Source'
      tags:
        - Leaderboards
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: slug
        description: 'The tag combo slug.'
        example: daily~any-percent~cadence~amplified~normal~score~seeded~single-player~ost
        required: true
        schema:
          type: string
      -
        in: path
        name: date
        description: 'The date of the leaderboard in a format of YYYY-MM-DD.'
        example: '2022-06-30'
        required: true
        schema:
          type: string
  '/api/leaderboards/{platform}/{slug}/entries':
    get:
      summary: 'Fetch Leaderboard Entries for All Time'
      operationId: fetchLeaderboardEntriesForAllTime
      description: "Fetch the entries for a leaderboard that is not tied to a date.\n<aside class=\"notice\">Only leaderboard entries for all time leaderboards can be fetched from this endpoint.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: 'The player or user to search for.'
          example: null
          required: false
          schema:
            type: string
            description: 'The player or user to search for.'
            example: null
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      user: []
                      player_external_id: '76561197995201379'
                      username: dannyboy5600
                      rank: 1
                      metric: '99440'
                      metric_type: score
                      date: '2022-08-25'
                      pb_metadata:
                        -
                          name: end_level
                          value: '2'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '1'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: 'Red Dragon'
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '17173394'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.1.6-b2962
                          display_name: Version
                        -
                          name: victory
                          value: 'no'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                    -
                      user: []
                      player_external_id: '76561198072415677'
                      username: Aipexos
                      rank: 2
                      metric: '98715'
                      metric_type: score
                      date: '2024-01-04'
                      pb_metadata:
                        -
                          name: end_level
                          value: '1'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '1'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: 'Light Minotaur'
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '118100769'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.7.10-b4897
                          display_name: Version
                        -
                          name: victory
                          value: 'no'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        user: []
                        player_external_id: '76561197995201379'
                        username: dannyboy5600
                        rank: 1
                        metric: '99440'
                        metric_type: score
                        date: '2022-08-25'
                        pb_metadata:
                          -
                            name: end_level
                            value: '2'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '1'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: 'Red Dragon'
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '17173394'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.1.6-b2962
                            display_name: Version
                          -
                            name: victory
                            value: 'no'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                      -
                        user: []
                        player_external_id: '76561198072415677'
                        username: Aipexos
                        rank: 2
                        metric: '98715'
                        metric_type: score
                        date: '2024-01-04'
                        pb_metadata:
                          -
                            name: end_level
                            value: '1'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '1'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: 'Light Minotaur'
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '118100769'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.7.10-b4897
                            display_name: Version
                          -
                            name: victory
                            value: 'no'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                    items:
                      type: object
                      properties:
                        user:
                          type: array
                          example: []
                        player_external_id:
                          type: string
                          example: '76561197995201379'
                        username:
                          type: string
                          example: dannyboy5600
                        rank:
                          type: integer
                          example: 1
                        metric:
                          type: string
                          example: '99440'
                        metric_type:
                          type: string
                          example: score
                        date:
                          type: string
                          example: '2022-08-25'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '2'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '1'
                              display_name: 'End Zone'
                            -
                              name: gold_duplication
                              value: 'no'
                              display_name: 'Gold Duplication'
                            -
                              name: killer_id
                              value: 'Red Dragon'
                              display_name: Killer
                            -
                              name: low_percent
                              value: 'no'
                              display_name: 'Low Percent'
                            -
                              name: number_of_players
                              value: '1'
                              display_name: 'Number of Players'
                            -
                              name: raw_version
                              value: '17173394'
                              display_name: 'Raw Version'
                            -
                              name: version
                              value: 3.1.6-b2962
                              display_name: Version
                            -
                              name: victory
                              value: 'no'
                              display_name: Victory
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '2'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: null
                        replay_id:
                          type: string
                          example: null
                        replay_metadata:
                          type: array
                          example: []
      tags:
        - Leaderboards
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: slug
        description: 'The tag combo slug.'
        example: all-time~any-percent~cadence~amplified~normal~score~unseeded~single-player~ost
        required: true
        schema:
          type: string
  '/api/rankings/{platform}/{slug}/{timeframe}/entries':
    get:
      summary: 'Fetch Ranking Entries'
      operationId: fetchRankingEntries
      description: 'Fetches ranking entries for the specified platform, slug, and timeframe.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: 'The player or user to search for.'
          example: null
          required: false
          schema:
            type: string
            description: 'The player or user to search for.'
            example: null
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
        -
          in: query
          name: rank
          description: 'The rank of a single entry to only return that record.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The rank of a single entry to only return that record.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      user: []
                      username: TruthOrMare
                      rank: 1
                      points: '575915.3673626177'
                      leaderboard_entries_count: 7342
                      sum_of_ranks: 252545
                      first_place_ranks: 4770
                      top_5_ranks: 5806
                      top_10_ranks: 6206
                      top_25_ranks: 6643
                      top_50_ranks: 6901
                      top_100_ranks: 7065
                      lowest_rank: 27042
                      metrics:
                        -
                          metric: 403680.432
                          points: 25032.407491517
                          lowest_rank: 1963
                          metric_type: time
                          top_5_ranks: 244
                          sum_of_ranks: 11291
                          top_10_ranks: 300
                          top_25_ranks: 388
                          top_50_ranks: 454
                          top_100_ranks: 487
                          first_place_ranks: 106
                          leaderboard_entries_count: 502
                        -
                          metric: 3067310
                          points: 499172.42214049
                          lowest_rank: 27042
                          metric_type: score
                          top_5_ranks: 5035
                          sum_of_ranks: 229991
                          top_10_ranks: 5342
                          top_25_ranks: 5651
                          top_50_ranks: 5822
                          top_100_ranks: 5933
                          first_place_ranks: 4242
                          leaderboard_entries_count: 6176
                        -
                          metric: 119
                          points: 51710.53773061
                          lowest_rank: 1570
                          metric_type: wins
                          top_5_ranks: 527
                          sum_of_ranks: 11263
                          top_10_ranks: 564
                          top_25_ranks: 604
                          top_50_ranks: 625
                          top_100_ranks: 645
                          first_place_ranks: 422
                          leaderboard_entries_count: 664
                    -
                      user: []
                      username: philburt
                      rank: 2
                      points: '29594.30562995018'
                      leaderboard_entries_count: 758
                      sum_of_ranks: 162405
                      first_place_ranks: 19
                      top_5_ranks: 307
                      top_10_ranks: 426
                      top_25_ranks: 549
                      top_50_ranks: 604
                      top_100_ranks: 654
                      lowest_rank: 18486
                      metrics:
                        -
                          metric: 136
                          points: 1203.8339465699
                          lowest_rank: 904
                          metric_type: wins
                          top_5_ranks: 14
                          sum_of_ranks: 2653
                          top_10_ranks: 19
                          top_25_ranks: 21
                          top_50_ranks: 22
                          top_100_ranks: 25
                          first_place_ranks: 0
                          leaderboard_entries_count: 30
                        -
                          metric: 293258.979
                          points: 11683.893469345
                          lowest_rank: 4930
                          metric_type: time
                          top_5_ranks: 121
                          sum_of_ranks: 30921
                          top_10_ranks: 171
                          top_25_ranks: 223
                          top_50_ranks: 238
                          top_100_ranks: 257
                          first_place_ranks: 5
                          leaderboard_entries_count: 277
                        -
                          metric: 2296209
                          points: 16706.578214036
                          lowest_rank: 18486
                          metric_type: score
                          top_5_ranks: 172
                          sum_of_ranks: 128831
                          top_10_ranks: 236
                          top_25_ranks: 305
                          top_50_ranks: 344
                          top_100_ranks: 372
                          first_place_ranks: 14
                          leaderboard_entries_count: 451
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        user: []
                        username: TruthOrMare
                        rank: 1
                        points: '575915.3673626177'
                        leaderboard_entries_count: 7342
                        sum_of_ranks: 252545
                        first_place_ranks: 4770
                        top_5_ranks: 5806
                        top_10_ranks: 6206
                        top_25_ranks: 6643
                        top_50_ranks: 6901
                        top_100_ranks: 7065
                        lowest_rank: 27042
                        metrics:
                          -
                            metric: 403680.432
                            points: 25032.407491517
                            lowest_rank: 1963
                            metric_type: time
                            top_5_ranks: 244
                            sum_of_ranks: 11291
                            top_10_ranks: 300
                            top_25_ranks: 388
                            top_50_ranks: 454
                            top_100_ranks: 487
                            first_place_ranks: 106
                            leaderboard_entries_count: 502
                          -
                            metric: 3067310
                            points: 499172.42214049
                            lowest_rank: 27042
                            metric_type: score
                            top_5_ranks: 5035
                            sum_of_ranks: 229991
                            top_10_ranks: 5342
                            top_25_ranks: 5651
                            top_50_ranks: 5822
                            top_100_ranks: 5933
                            first_place_ranks: 4242
                            leaderboard_entries_count: 6176
                          -
                            metric: 119
                            points: 51710.53773061
                            lowest_rank: 1570
                            metric_type: wins
                            top_5_ranks: 527
                            sum_of_ranks: 11263
                            top_10_ranks: 564
                            top_25_ranks: 604
                            top_50_ranks: 625
                            top_100_ranks: 645
                            first_place_ranks: 422
                            leaderboard_entries_count: 664
                      -
                        user: []
                        username: philburt
                        rank: 2
                        points: '29594.30562995018'
                        leaderboard_entries_count: 758
                        sum_of_ranks: 162405
                        first_place_ranks: 19
                        top_5_ranks: 307
                        top_10_ranks: 426
                        top_25_ranks: 549
                        top_50_ranks: 604
                        top_100_ranks: 654
                        lowest_rank: 18486
                        metrics:
                          -
                            metric: 136
                            points: 1203.8339465699
                            lowest_rank: 904
                            metric_type: wins
                            top_5_ranks: 14
                            sum_of_ranks: 2653
                            top_10_ranks: 19
                            top_25_ranks: 21
                            top_50_ranks: 22
                            top_100_ranks: 25
                            first_place_ranks: 0
                            leaderboard_entries_count: 30
                          -
                            metric: 293258.979
                            points: 11683.893469345
                            lowest_rank: 4930
                            metric_type: time
                            top_5_ranks: 121
                            sum_of_ranks: 30921
                            top_10_ranks: 171
                            top_25_ranks: 223
                            top_50_ranks: 238
                            top_100_ranks: 257
                            first_place_ranks: 5
                            leaderboard_entries_count: 277
                          -
                            metric: 2296209
                            points: 16706.578214036
                            lowest_rank: 18486
                            metric_type: score
                            top_5_ranks: 172
                            sum_of_ranks: 128831
                            top_10_ranks: 236
                            top_25_ranks: 305
                            top_50_ranks: 344
                            top_100_ranks: 372
                            first_place_ranks: 14
                            leaderboard_entries_count: 451
                    items:
                      type: object
                      properties:
                        user:
                          type: array
                          example: []
                        username:
                          type: string
                          example: TruthOrMare
                        rank:
                          type: integer
                          example: 1
                        points:
                          type: string
                          example: '575915.3673626177'
                        leaderboard_entries_count:
                          type: integer
                          example: 7342
                        sum_of_ranks:
                          type: integer
                          example: 252545
                        first_place_ranks:
                          type: integer
                          example: 4770
                        top_5_ranks:
                          type: integer
                          example: 5806
                        top_10_ranks:
                          type: integer
                          example: 6206
                        top_25_ranks:
                          type: integer
                          example: 6643
                        top_50_ranks:
                          type: integer
                          example: 6901
                        top_100_ranks:
                          type: integer
                          example: 7065
                        lowest_rank:
                          type: integer
                          example: 27042
                        metrics:
                          type: array
                          example:
                            -
                              metric: 403680.432
                              points: 25032.407491517
                              lowest_rank: 1963
                              metric_type: time
                              top_5_ranks: 244
                              sum_of_ranks: 11291
                              top_10_ranks: 300
                              top_25_ranks: 388
                              top_50_ranks: 454
                              top_100_ranks: 487
                              first_place_ranks: 106
                              leaderboard_entries_count: 502
                            -
                              metric: 3067310
                              points: 499172.42214049
                              lowest_rank: 27042
                              metric_type: score
                              top_5_ranks: 5035
                              sum_of_ranks: 229991
                              top_10_ranks: 5342
                              top_25_ranks: 5651
                              top_50_ranks: 5822
                              top_100_ranks: 5933
                              first_place_ranks: 4242
                              leaderboard_entries_count: 6176
                            -
                              metric: 119
                              points: 51710.53773061
                              lowest_rank: 1570
                              metric_type: wins
                              top_5_ranks: 527
                              sum_of_ranks: 11263
                              top_10_ranks: 564
                              top_25_ranks: 604
                              top_50_ranks: 625
                              top_100_ranks: 645
                              first_place_ranks: 422
                              leaderboard_entries_count: 664
                          items:
                            type: object
                            properties:
                              metric:
                                type: number
                                example: 403680.432
                              points:
                                type: number
                                example: 25032.407491517
                              lowest_rank:
                                type: integer
                                example: 1963
                              metric_type:
                                type: string
                                example: time
                              top_5_ranks:
                                type: integer
                                example: 244
                              sum_of_ranks:
                                type: integer
                                example: 11291
                              top_10_ranks:
                                type: integer
                                example: 300
                              top_25_ranks:
                                type: integer
                                example: 388
                              top_50_ranks:
                                type: integer
                                example: 454
                              top_100_ranks:
                                type: integer
                                example: 487
                              first_place_ranks:
                                type: integer
                                example: 106
                              leaderboard_entries_count:
                                type: integer
                                example: 502
      tags:
        - Rankings
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: slug
        description: 'The tag combo slug.'
        example: all-time~any-percent
        required: true
        schema:
          type: string
      -
        in: path
        name: timeframe
        description: 'The slug of the timeframe.'
        example: all
        required: true
        schema:
          type: string
  '/api/rankings/{platform}/{slug}/{timeframe}/entries/{rank}/leaderboards/{metric}':
    get:
      summary: 'Fetch Leaderboard Entries for Ranking Entry'
      operationId: fetchLeaderboardEntriesForRankingEntry
      description: "Fetches all leaderboard entries used in the calculation of the specified ranking entry.\n<aside class=\"notice\">Leaderboard entries are fetched starting from rank 1 up to the value of `end_rank` when specified. All leaderboard entries are fetched when `end_rank` is omitted.</aside>"
      parameters:
        -
          in: query
          name: rank
          description: 'The rank of the ranking entry to fetch leaderboards for.'
          example: '1'
          required: true
          schema:
            type: integer
            description: 'The rank of the ranking entry to fetch leaderboards for.'
            example: '1'
        -
          in: query
          name: metric
          description: 'The slug of metric.'
          example: score
          required: true
          schema:
            type: string
            description: 'The slug of metric.'
            example: score
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
        -
          in: query
          name: end_rank
          description: 'The highest rank of leaderboard entries to fetch. Must be greater than 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The highest rank of leaderboard entries to fetch. Must be greater than 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors: []
                  data: []
                properties:
                  cursors:
                    type: array
                    example: []
                  data:
                    type: array
                    example: []
      tags:
        - Rankings
      security: []
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: slug
        description: 'The tag combo slug.'
        example: all-time~any-percent
        required: true
        schema:
          type: string
      -
        in: path
        name: timeframe
        description: 'The slug of the timeframe.'
        example: all
        required: true
        schema:
          type: string
  '/api/users/{id}/pbs/{platform}':
    get:
      summary: 'Fetch PBs for the specified User'
      operationId: fetchPBsForTheSpecifiedUser
      description: "Fetch all PBs for a registered user.\n<aside class=\"notice\">The user must have linked their account to the specified platform and made it public for results to be returned. A \"404 Not Found\" is returned otherwise.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 6008968335
                  data:
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                      rank: 764
                      leaderboard_entry_rank: 765
                      metric: '7573'
                      metric_type: score
                      date: '2024-01-02'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '118100769'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.7.10-b4897
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                      rank: 3
                      leaderboard_entry_rank: 4
                      metric: '331.416'
                      metric_type: time
                      date: '2022-12-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '50597347'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.3.4-b3555
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 6008968335
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                        rank: 764
                        leaderboard_entry_rank: 765
                        metric: '7573'
                        metric_type: score
                        date: '2024-01-02'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '118100769'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.7.10-b4897
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank: 3
                        leaderboard_entry_rank: 4
                        metric: '331.416'
                        metric_type: time
                        date: '2022-12-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '50597347'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.3.4-b3555
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                        rank:
                          type: integer
                          example: 764
                        leaderboard_entry_rank:
                          type: integer
                          example: 765
                        metric:
                          type: string
                          example: '7573'
                        metric_type:
                          type: string
                          example: score
                        date:
                          type: string
                          example: '2024-01-02'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '5'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '5'
                              display_name: 'End Zone'
                            -
                              name: gold_duplication
                              value: 'no'
                              display_name: 'Gold Duplication'
                            -
                              name: killer_id
                              value: Nothing!
                              display_name: Killer
                            -
                              name: low_percent
                              value: 'no'
                              display_name: 'Low Percent'
                            -
                              name: number_of_players
                              value: '1'
                              display_name: 'Number of Players'
                            -
                              name: raw_version
                              value: '118100769'
                              display_name: 'Raw Version'
                            -
                              name: version
                              value: 3.7.10-b4897
                              display_name: Version
                            -
                              name: victory
                              value: 'yes'
                              display_name: Victory
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '5'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: null
                        replay_id:
                          type: string
                          example: null
                        replay_metadata:
                          type: array
                          example: []
      tags:
        - Users
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 52735c47-b6c6-46fe-9962-b438496f5647
        required: true
        schema:
          type: uuid
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/users/{id}/leaderboards/{platform}/entries':
    get:
      summary: 'Fetch leaderboard entries for the specified User'
      operationId: fetchLeaderboardEntriesForTheSpecifiedUser
      description: "Fetch all leaderboard entries for a registered user.\n<aside class=\"notice\">The user must have linked their account to the specified platform and made it public for results to be returned. A \"404 Not Found\" is returned otherwise.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                      rank: 4
                      metric: '331.416'
                      metric_type: time
                      date: '2022-12-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '50597347'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.3.4-b3555
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                    -
                      slug: all-time~any-percent~cadence~amplified~mystery~speed~unseeded~single-player~ost
                      rank: 5
                      metric: '517.1'
                      metric_type: time
                      date: '2019-10-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '6'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                      seed: '6336765'
                      replay_id: 1000289418
                      replay_metadata:
                        -
                          name: last_damage_source
                          value: 'BLACK SKELETON KNIGHT'
                          display_name: 'Last Damage Source'
                        -
                          name: replay_version
                          value: '94'
                          display_name: 'Replay Version'
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank: 4
                        metric: '331.416'
                        metric_type: time
                        date: '2022-12-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '50597347'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.3.4-b3555
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                      -
                        slug: all-time~any-percent~cadence~amplified~mystery~speed~unseeded~single-player~ost
                        rank: 5
                        metric: '517.1'
                        metric_type: time
                        date: '2019-10-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '6'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                        seed: '6336765'
                        replay_id: 1000289418
                        replay_metadata:
                          -
                            name: last_damage_source
                            value: 'BLACK SKELETON KNIGHT'
                            display_name: 'Last Damage Source'
                          -
                            name: replay_version
                            value: '94'
                            display_name: 'Replay Version'
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank:
                          type: integer
                          example: 4
                        metric:
                          type: string
                          example: '331.416'
                        metric_type:
                          type: string
                          example: time
                        date:
                          type: string
                          example: '2022-12-16'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '5'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '5'
                              display_name: 'End Zone'
                            -
                              name: gold_duplication
                              value: 'no'
                              display_name: 'Gold Duplication'
                            -
                              name: killer_id
                              value: Nothing!
                              display_name: Killer
                            -
                              name: low_percent
                              value: 'no'
                              display_name: 'Low Percent'
                            -
                              name: number_of_players
                              value: '1'
                              display_name: 'Number of Players'
                            -
                              name: raw_version
                              value: '50597347'
                              display_name: 'Raw Version'
                            -
                              name: version
                              value: 3.3.4-b3555
                              display_name: Version
                            -
                              name: victory
                              value: 'yes'
                              display_name: Victory
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '5'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: null
                        replay_id:
                          type: string
                          example: null
                        replay_metadata:
                          type: array
                          example: []
      tags:
        - Users
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 52735c47-b6c6-46fe-9962-b438496f5647
        required: true
        schema:
          type: uuid
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/users/{id}/leaderboards/{platform}/unsubmitted':
    get:
      summary: 'Fetch Unsubmitted Leaderboards for User'
      operationId: fetchUnsubmittedLeaderboardsForUser
      description: "Fetch all leaderboards that the specified user has not submitted an entry for.\n<aside class=\"notice\">The user must have linked their account to the specified platform and made it public for results to be returned. A \"404 Not Found\" is returned otherwise.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: true
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: true
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: '0'
          required: true
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: '0'
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                      end_rank: 5
                      metric_type: score
                      metric_total: '3341'
                    -
                      slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~ost
                      end_rank: 79
                      metric_type: score
                      metric_total: '173954'
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                        end_rank: 5
                        metric_type: score
                        metric_total: '3341'
                      -
                        slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~ost
                        end_rank: 79
                        metric_type: score
                        metric_total: '173954'
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                        end_rank:
                          type: integer
                          example: 5
                        metric_type:
                          type: string
                          example: score
                        metric_total:
                          type: string
                          example: '3341'
      tags:
        - Users
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 52735c47-b6c6-46fe-9962-b438496f5647
        required: true
        schema:
          type: uuid
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/users/{id}/rankings/{platform}/{timeframe}/entries':
    get:
      summary: 'Fetch Ranking Entries for the Specified User'
      operationId: fetchRankingEntriesForTheSpecifiedUser
      description: "Fetch all ranking entries for a registered user and a specified timeframe.\n<aside class=\"notice\">The user must have linked their account to the specified platform and made it public for results to be returned. A \"404 Not Found\" is returned otherwise.</aside>"
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: 2
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: 2
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                      rank: 4
                      points: '105.438680146868'
                      leaderboard_entries_count: 3
                      sum_of_ranks: 45
                      first_place_ranks: 0
                      top_5_ranks: 1
                      top_10_ranks: 2
                      top_25_ranks: 2
                      top_50_ranks: 3
                      top_100_ranks: 3
                      lowest_rank: 32
                      metrics:
                        -
                          metric: 910.409
                          points: 105.43868014687
                          lowest_rank: 32
                          metric_type: time
                          top_5_ranks: 1
                          sum_of_ranks: 45
                          top_10_ranks: 2
                          top_25_ranks: 2
                          top_50_ranks: 3
                          top_100_ranks: 3
                          first_place_ranks: 0
                          leaderboard_entries_count: 3
                    -
                      slug: all-time~any-percent~cadence~amplified~speed~unseeded~single-player~ost
                      rank: 6
                      points: '170.075504259145'
                      leaderboard_entries_count: 6
                      sum_of_ranks: 91
                      first_place_ranks: 0
                      top_5_ranks: 1
                      top_10_ranks: 2
                      top_25_ranks: 5
                      top_50_ranks: 6
                      top_100_ranks: 6
                      lowest_rank: 29
                      metrics:
                        -
                          metric: 2749.257
                          points: 170.07550425914
                          lowest_rank: 29
                          metric_type: time
                          top_5_ranks: 1
                          sum_of_ranks: 91
                          top_10_ranks: 2
                          top_25_ranks: 5
                          top_50_ranks: 6
                          top_100_ranks: 6
                          first_place_ranks: 0
                          leaderboard_entries_count: 6
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                        rank: 4
                        points: '105.438680146868'
                        leaderboard_entries_count: 3
                        sum_of_ranks: 45
                        first_place_ranks: 0
                        top_5_ranks: 1
                        top_10_ranks: 2
                        top_25_ranks: 2
                        top_50_ranks: 3
                        top_100_ranks: 3
                        lowest_rank: 32
                        metrics:
                          -
                            metric: 910.409
                            points: 105.43868014687
                            lowest_rank: 32
                            metric_type: time
                            top_5_ranks: 1
                            sum_of_ranks: 45
                            top_10_ranks: 2
                            top_25_ranks: 2
                            top_50_ranks: 3
                            top_100_ranks: 3
                            first_place_ranks: 0
                            leaderboard_entries_count: 3
                      -
                        slug: all-time~any-percent~cadence~amplified~speed~unseeded~single-player~ost
                        rank: 6
                        points: '170.075504259145'
                        leaderboard_entries_count: 6
                        sum_of_ranks: 91
                        first_place_ranks: 0
                        top_5_ranks: 1
                        top_10_ranks: 2
                        top_25_ranks: 5
                        top_50_ranks: 6
                        top_100_ranks: 6
                        lowest_rank: 29
                        metrics:
                          -
                            metric: 2749.257
                            points: 170.07550425914
                            lowest_rank: 29
                            metric_type: time
                            top_5_ranks: 1
                            sum_of_ranks: 91
                            top_10_ranks: 2
                            top_25_ranks: 5
                            top_50_ranks: 6
                            top_100_ranks: 6
                            first_place_ranks: 0
                            leaderboard_entries_count: 6
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                        rank:
                          type: integer
                          example: 4
                        points:
                          type: string
                          example: '105.438680146868'
                        leaderboard_entries_count:
                          type: integer
                          example: 3
                        sum_of_ranks:
                          type: integer
                          example: 45
                        first_place_ranks:
                          type: integer
                          example: 0
                        top_5_ranks:
                          type: integer
                          example: 1
                        top_10_ranks:
                          type: integer
                          example: 2
                        top_25_ranks:
                          type: integer
                          example: 2
                        top_50_ranks:
                          type: integer
                          example: 3
                        top_100_ranks:
                          type: integer
                          example: 3
                        lowest_rank:
                          type: integer
                          example: 32
                        metrics:
                          type: array
                          example:
                            -
                              metric: 910.409
                              points: 105.43868014687
                              lowest_rank: 32
                              metric_type: time
                              top_5_ranks: 1
                              sum_of_ranks: 45
                              top_10_ranks: 2
                              top_25_ranks: 2
                              top_50_ranks: 3
                              top_100_ranks: 3
                              first_place_ranks: 0
                              leaderboard_entries_count: 3
                          items:
                            type: object
                            properties:
                              metric:
                                type: number
                                example: 910.409
                              points:
                                type: number
                                example: 105.43868014687
                              lowest_rank:
                                type: integer
                                example: 32
                              metric_type:
                                type: string
                                example: time
                              top_5_ranks:
                                type: integer
                                example: 1
                              sum_of_ranks:
                                type: integer
                                example: 45
                              top_10_ranks:
                                type: integer
                                example: 2
                              top_25_ranks:
                                type: integer
                                example: 2
                              top_50_ranks:
                                type: integer
                                example: 3
                              top_100_ranks:
                                type: integer
                                example: 3
                              first_place_ranks:
                                type: integer
                                example: 0
                              leaderboard_entries_count:
                                type: integer
                                example: 3
      tags:
        - Users
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 52735c47-b6c6-46fe-9962-b438496f5647
        required: true
        schema:
          type: uuid
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: timeframe
        description: 'The slug of the timeframe.'
        example: all
        required: true
        schema:
          type: string
  '/api/me/pbs/{platform}':
    get:
      summary: 'Fetch PBs for Me'
      operationId: fetchPBsForMe
      description: 'Fetch all PBs for the currently authenticated User.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: '2'
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: '2'
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 6008968335
                  data:
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                      rank: 764
                      leaderboard_entry_rank: 765
                      metric: '7573'
                      metric_type: score
                      date: '2024-01-02'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '118100769'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.7.10-b4897
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                      rank: 3
                      leaderboard_entry_rank: 4
                      metric: '331.416'
                      metric_type: time
                      date: '2022-12-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '50597347'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.3.4-b3555
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 6008968335
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                        rank: 764
                        leaderboard_entry_rank: 765
                        metric: '7573'
                        metric_type: score
                        date: '2024-01-02'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '118100769'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.7.10-b4897
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank: 3
                        leaderboard_entry_rank: 4
                        metric: '331.416'
                        metric_type: time
                        date: '2022-12-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '50597347'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.3.4-b3555
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~synchrony-amplified~normal~score~unseeded~single-player~ost
                        rank:
                          type: integer
                          example: 764
                        leaderboard_entry_rank:
                          type: integer
                          example: 765
                        metric:
                          type: string
                          example: '7573'
                        metric_type:
                          type: string
                          example: score
                        date:
                          type: string
                          example: '2024-01-02'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '5'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '5'
                              display_name: 'End Zone'
                            -
                              name: gold_duplication
                              value: 'no'
                              display_name: 'Gold Duplication'
                            -
                              name: killer_id
                              value: Nothing!
                              display_name: Killer
                            -
                              name: low_percent
                              value: 'no'
                              display_name: 'Low Percent'
                            -
                              name: number_of_players
                              value: '1'
                              display_name: 'Number of Players'
                            -
                              name: raw_version
                              value: '118100769'
                              display_name: 'Raw Version'
                            -
                              name: version
                              value: 3.7.10-b4897
                              display_name: Version
                            -
                              name: victory
                              value: 'yes'
                              display_name: Victory
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '5'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: null
                        replay_id:
                          type: string
                          example: null
                        replay_metadata:
                          type: array
                          example: []
      tags:
        - Me
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/me/leaderboards/{platform}/entries':
    get:
      summary: 'Fetch Leaderboard Entries for Me'
      operationId: fetchLeaderboardEntriesForMe
      description: 'Fetch all leaderboard entries for the currently authenticated User.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: '2'
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: '2'
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                      rank: 4
                      metric: '331.416'
                      metric_type: time
                      date: '2022-12-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '5'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                        -
                          name: gold_duplication
                          value: 'no'
                          display_name: 'Gold Duplication'
                        -
                          name: killer_id
                          value: Nothing!
                          display_name: Killer
                        -
                          name: low_percent
                          value: 'no'
                          display_name: 'Low Percent'
                        -
                          name: number_of_players
                          value: '1'
                          display_name: 'Number of Players'
                        -
                          name: raw_version
                          value: '50597347'
                          display_name: 'Raw Version'
                        -
                          name: version
                          value: 3.3.4-b3555
                          display_name: Version
                        -
                          name: victory
                          value: 'yes'
                          display_name: Victory
                      seed: null
                      replay_id: null
                      replay_metadata: []
                    -
                      slug: all-time~any-percent~cadence~amplified~mystery~speed~unseeded~single-player~ost
                      rank: 5
                      metric: '517.1'
                      metric_type: time
                      date: '2019-10-16'
                      pb_metadata:
                        -
                          name: end_level
                          value: '6'
                          display_name: 'End Level'
                        -
                          name: end_zone
                          value: '5'
                          display_name: 'End Zone'
                      seed: '6336765'
                      replay_id: 1000289418
                      replay_metadata:
                        -
                          name: last_damage_source
                          value: 'BLACK SKELETON KNIGHT'
                          display_name: 'Last Damage Source'
                        -
                          name: replay_version
                          value: '94'
                          display_name: 'Replay Version'
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank: 4
                        metric: '331.416'
                        metric_type: time
                        date: '2022-12-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '5'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                          -
                            name: gold_duplication
                            value: 'no'
                            display_name: 'Gold Duplication'
                          -
                            name: killer_id
                            value: Nothing!
                            display_name: Killer
                          -
                            name: low_percent
                            value: 'no'
                            display_name: 'Low Percent'
                          -
                            name: number_of_players
                            value: '1'
                            display_name: 'Number of Players'
                          -
                            name: raw_version
                            value: '50597347'
                            display_name: 'Raw Version'
                          -
                            name: version
                            value: 3.3.4-b3555
                            display_name: Version
                          -
                            name: victory
                            value: 'yes'
                            display_name: Victory
                        seed: null
                        replay_id: null
                        replay_metadata: []
                      -
                        slug: all-time~any-percent~cadence~amplified~mystery~speed~unseeded~single-player~ost
                        rank: 5
                        metric: '517.1'
                        metric_type: time
                        date: '2019-10-16'
                        pb_metadata:
                          -
                            name: end_level
                            value: '6'
                            display_name: 'End Level'
                          -
                            name: end_zone
                            value: '5'
                            display_name: 'End Zone'
                        seed: '6336765'
                        replay_id: 1000289418
                        replay_metadata:
                          -
                            name: last_damage_source
                            value: 'BLACK SKELETON KNIGHT'
                            display_name: 'Last Damage Source'
                          -
                            name: replay_version
                            value: '94'
                            display_name: 'Replay Version'
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~synchrony-amplified~normal~speed~seeded~single-player~ost
                        rank:
                          type: integer
                          example: 4
                        metric:
                          type: string
                          example: '331.416'
                        metric_type:
                          type: string
                          example: time
                        date:
                          type: string
                          example: '2022-12-16'
                        pb_metadata:
                          type: array
                          example:
                            -
                              name: end_level
                              value: '5'
                              display_name: 'End Level'
                            -
                              name: end_zone
                              value: '5'
                              display_name: 'End Zone'
                            -
                              name: gold_duplication
                              value: 'no'
                              display_name: 'Gold Duplication'
                            -
                              name: killer_id
                              value: Nothing!
                              display_name: Killer
                            -
                              name: low_percent
                              value: 'no'
                              display_name: 'Low Percent'
                            -
                              name: number_of_players
                              value: '1'
                              display_name: 'Number of Players'
                            -
                              name: raw_version
                              value: '50597347'
                              display_name: 'Raw Version'
                            -
                              name: version
                              value: 3.3.4-b3555
                              display_name: Version
                            -
                              name: victory
                              value: 'yes'
                              display_name: Victory
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                example: end_level
                              value:
                                type: string
                                example: '5'
                              display_name:
                                type: string
                                example: 'End Level'
                        seed:
                          type: string
                          example: null
                        replay_id:
                          type: string
                          example: null
                        replay_metadata:
                          type: array
                          example: []
      tags:
        - Me
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/me/leaderboards/{platform}/unsubmitted':
    get:
      summary: 'Fetch Unsubmitted Leaderboards for Me'
      operationId: fetchUnsubmittedLeaderboardsForMe
      description: 'Fetch all leaderboards that the currently authenticated user has not submitted an entry for.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: '2'
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: '2'
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                      end_rank: 5
                      metric_type: score
                      metric_total: '3341'
                    -
                      slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~ost
                      end_rank: 79
                      metric_type: score
                      metric_total: '173954'
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                        end_rank: 5
                        metric_type: score
                        metric_total: '3341'
                      -
                        slug: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~ost
                        end_rank: 79
                        metric_type: score
                        metric_total: '173954'
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~amplified~hard~score~seeded~co-op~custom
                        end_rank:
                          type: integer
                          example: 5
                        metric_type:
                          type: string
                          example: score
                        metric_total:
                          type: string
                          example: '3341'
      tags:
        - Me
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
  '/api/me/rankings/{platform}/{timeframe}/entries':
    get:
      summary: 'Fetch Ranking Entries for Me'
      operationId: fetchRankingEntriesForMe
      description: 'Fetch all ranking entries for the currently authenticated User.'
      parameters:
        -
          in: query
          name: limit
          description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
          example: '2'
          required: false
          schema:
            type: integer
            description: 'How many records to return per page. Must be between 1 and 10000. Defaults to 25.'
            example: '2'
        -
          in: query
          name: search
          description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
          example: 'any-percent,cadence'
          required: false
          schema:
            type: string
            description: "The tags to search for separated by a comma.\n<aside class=\"notice\">Tags are evaluated with an AND condition.</aside>"
            example: 'any-percent,cadence'
        -
          in: query
          name: next
          description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
          example: null
          required: false
          schema:
            type: integer
            description: 'The cursor value to fetch the next page. Can be found in the `cursors` index of a response. Must be at least 0.'
            example: null
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  cursors:
                    next: 2
                  data:
                    -
                      slug: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                      rank: 4
                      points: '105.438680146868'
                      leaderboard_entries_count: 3
                      sum_of_ranks: 45
                      first_place_ranks: 0
                      top_5_ranks: 1
                      top_10_ranks: 2
                      top_25_ranks: 2
                      top_50_ranks: 3
                      top_100_ranks: 3
                      lowest_rank: 32
                      metrics:
                        -
                          metric: 910.409
                          points: 105.43868014687
                          lowest_rank: 32
                          metric_type: time
                          top_5_ranks: 1
                          sum_of_ranks: 45
                          top_10_ranks: 2
                          top_25_ranks: 2
                          top_50_ranks: 3
                          top_100_ranks: 3
                          first_place_ranks: 0
                          leaderboard_entries_count: 3
                    -
                      slug: all-time~any-percent~cadence~amplified~speed~unseeded~single-player~ost
                      rank: 6
                      points: '170.075504259145'
                      leaderboard_entries_count: 6
                      sum_of_ranks: 91
                      first_place_ranks: 0
                      top_5_ranks: 1
                      top_10_ranks: 2
                      top_25_ranks: 5
                      top_50_ranks: 6
                      top_100_ranks: 6
                      lowest_rank: 29
                      metrics:
                        -
                          metric: 2749.257
                          points: 170.07550425914
                          lowest_rank: 29
                          metric_type: time
                          top_5_ranks: 1
                          sum_of_ranks: 91
                          top_10_ranks: 2
                          top_25_ranks: 5
                          top_50_ranks: 6
                          top_100_ranks: 6
                          first_place_ranks: 0
                          leaderboard_entries_count: 6
                properties:
                  cursors:
                    type: object
                    properties:
                      next:
                        type: integer
                        example: 2
                  data:
                    type: array
                    example:
                      -
                        slug: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                        rank: 4
                        points: '105.438680146868'
                        leaderboard_entries_count: 3
                        sum_of_ranks: 45
                        first_place_ranks: 0
                        top_5_ranks: 1
                        top_10_ranks: 2
                        top_25_ranks: 2
                        top_50_ranks: 3
                        top_100_ranks: 3
                        lowest_rank: 32
                        metrics:
                          -
                            metric: 910.409
                            points: 105.43868014687
                            lowest_rank: 32
                            metric_type: time
                            top_5_ranks: 1
                            sum_of_ranks: 45
                            top_10_ranks: 2
                            top_25_ranks: 2
                            top_50_ranks: 3
                            top_100_ranks: 3
                            first_place_ranks: 0
                            leaderboard_entries_count: 3
                      -
                        slug: all-time~any-percent~cadence~amplified~speed~unseeded~single-player~ost
                        rank: 6
                        points: '170.075504259145'
                        leaderboard_entries_count: 6
                        sum_of_ranks: 91
                        first_place_ranks: 0
                        top_5_ranks: 1
                        top_10_ranks: 2
                        top_25_ranks: 5
                        top_50_ranks: 6
                        top_100_ranks: 6
                        lowest_rank: 29
                        metrics:
                          -
                            metric: 2749.257
                            points: 170.07550425914
                            lowest_rank: 29
                            metric_type: time
                            top_5_ranks: 1
                            sum_of_ranks: 91
                            top_10_ranks: 2
                            top_25_ranks: 5
                            top_50_ranks: 6
                            top_100_ranks: 6
                            first_place_ranks: 0
                            leaderboard_entries_count: 6
                    items:
                      type: object
                      properties:
                        slug:
                          type: string
                          example: all-time~any-percent~cadence~normal~speed~seeded~single-player~ost
                        rank:
                          type: integer
                          example: 4
                        points:
                          type: string
                          example: '105.438680146868'
                        leaderboard_entries_count:
                          type: integer
                          example: 3
                        sum_of_ranks:
                          type: integer
                          example: 45
                        first_place_ranks:
                          type: integer
                          example: 0
                        top_5_ranks:
                          type: integer
                          example: 1
                        top_10_ranks:
                          type: integer
                          example: 2
                        top_25_ranks:
                          type: integer
                          example: 2
                        top_50_ranks:
                          type: integer
                          example: 3
                        top_100_ranks:
                          type: integer
                          example: 3
                        lowest_rank:
                          type: integer
                          example: 32
                        metrics:
                          type: array
                          example:
                            -
                              metric: 910.409
                              points: 105.43868014687
                              lowest_rank: 32
                              metric_type: time
                              top_5_ranks: 1
                              sum_of_ranks: 45
                              top_10_ranks: 2
                              top_25_ranks: 2
                              top_50_ranks: 3
                              top_100_ranks: 3
                              first_place_ranks: 0
                              leaderboard_entries_count: 3
                          items:
                            type: object
                            properties:
                              metric:
                                type: number
                                example: 910.409
                              points:
                                type: number
                                example: 105.43868014687
                              lowest_rank:
                                type: integer
                                example: 32
                              metric_type:
                                type: string
                                example: time
                              top_5_ranks:
                                type: integer
                                example: 1
                              sum_of_ranks:
                                type: integer
                                example: 45
                              top_10_ranks:
                                type: integer
                                example: 2
                              top_25_ranks:
                                type: integer
                                example: 2
                              top_50_ranks:
                                type: integer
                                example: 3
                              top_100_ranks:
                                type: integer
                                example: 3
                              first_place_ranks:
                                type: integer
                                example: 0
                              leaderboard_entries_count:
                                type: integer
                                example: 3
      tags:
        - Me
    parameters:
      -
        in: path
        name: platform
        description: 'The slug of the platform.'
        example: steam
        required: true
        schema:
          type: string
      -
        in: path
        name: timeframe
        description: 'The slug of the timeframe.'
        example: all
        required: true
        schema:
          type: string
tags:
  -
    name: Metadata
    description: ''
  -
    name: Leaderboards
    description: ''
  -
    name: Rankings
    description: ''
  -
    name: Users
    description: ''
  -
    name: Me
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting <b><a href="/user/api-tokens">API Tokens</a></b> in your dashboard.'
security:
  -
    default: []
