From 5ded7551d44ec304889b1b9fc577429377a75baa Mon Sep 17 00:00:00 2001 From: Legonzaur Date: Thu, 7 Sep 2023 17:36:45 +0200 Subject: [PATCH] change docs into submodule --- docs/index.html | 478 -------------------------------------- docs/v1.yml | 592 ------------------------------------------------ docs/v2.yml | 453 ------------------------------------ docs/v3.yml | 565 --------------------------------------------- 4 files changed, 2088 deletions(-) delete mode 100644 docs/index.html delete mode 100644 docs/v1.yml delete mode 100644 docs/v2.yml delete mode 100644 docs/v3.yml diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 2f87839..0000000 --- a/docs/index.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - ToneAPI - - - - - - - - - -

ToneAPI (3.0)

Download OpenAPI specification:Download

Stats tracking API for Titanfall 2 Northstar

-

All query params can be negated using !. Example : (https://tone.sleepycat.date/v2/client/gamemodes?gamemode=!sns)

-

client

Routes accessibles by everyone

-

Your GET endpoint

An object with host ID as keys and host name as values

-

Responses

Response samples

Content type
application/json
{
  • "1": "Fvnkhead",
  • "2": "Legonzaur"
}

List of servers

A JSON object with server names as keys and server data as values

-
query Parameters
server
string
Example: server=fvnkhead's 3v3

Fetch data for specific server

-
player
integer
Example: player=1005930844007

Fetch data for specific player

-
weapon
string
Example: weapon=epg

Fetch data for specific weapon

-
map
string
Example: map=lf_stacks

Fetch data for specific map

-
gamemode
string
Example: gamemode=aitdm

Fetch data for specific gamemode

-
host
integer
Example: host=1

Fetch data for specific host

-

Responses

Response samples

Content type
application/json
{
  • "fvnkhead's 3v3": {
    },
  • "fvnkhead's 7v7": {
    }
}

Statistics for all weapons

A JSON Object with weapon IDs as keys and weapon data as values

-
query Parameters
server
string
Example: server=fvnkhead's 3v3

Fetch data for specific server

-
player
integer
Example: player=1005930844007

Fetch data for specific player

-
weapon
string
Example: weapon=epg

Fetch data for specific weapon

-
map
string
Example: map=lf_stacks

Fetch data for specific map

-
gamemode
string
Example: gamemode=aitdm

Fetch data for specific gamemode

-
host
integer
Example: host=1

Fetch data for specific host

-

Responses

Response samples

Content type
application/json
{
  • "autopistol": {
    },
  • "car": {
    }
}

Statistics for all players

A JSON Object with player IDs as keys and player data as values

-
query Parameters
weapon
string
Example: weapon=epg

Fetch data for specific weapon

-
server
string
Example: server=fvnkhead's 3v3

Fetch data for specific server

-
player
integer
Example: player=1005930844007

Fetch data for specific player

-
gamemode
string
Example: gamemode=aitdm

Fetch data for specific gamemode

-
map
string
Example: map=lf_stacks

Fetch data for specific map

-
host
integer
Example: host=1

Fetch data for specific host

-

Responses

Response samples

Content type
application/json
{
  • "2250125460": {
    }
}

Your GET endpoint

A JSON Object with map IDs as keys and map data as values

-
query Parameters
host
integer
Example: host=1

Fetch data for specific host

-
gamemode
string
Example: gamemode=aitdm

Fetch data for specific gamemode

-
map
string
Example: map=lf_stacks

Fetch data for specific map

-
weapon
string
Example: weapon=epg

Fetch data for specific weapon

-
player
integer
Example: player=1005930844007

Fetch data for specific player

-
server
string
Example: server=fvnkhead's 3v3

Fetch data for specific server

-

Responses

Response samples

Content type
application/json
{
  • "lf_meadow": {
    },
  • "lf_township": {
    }
}

Your GET endpoint

A JSON Object with gamemodes IDs as keys and gamemodes data as values

-
query Parameters
host
integer
Example: host=1

Fetch data for specific host

-
gamemode
string
Example: gamemode=aitdm

Fetch data for specific gamemode

-
map
string
Example: map=lf_stacks

Fetch data for specific map

-
weapon
string
Example: weapon=epg

Fetch data for specific weapon

-
player
integer
Example: player=1005930844007

Fetch data for specific player

-
server
string
Example: server=fvnkhead's 3v3

Fetch data for specific server

-

Responses

Response samples

Content type
application/json
{
  • "ps": {
    },
  • "aitdm": {
    }
}

server

Routes accessibles only to server owners

-

Test Authentication

Used to test auth

-
Authorizations:
Auth_Token

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Match

Allows a Northstar server to create a match on the database

-
Authorizations:
Auth_Token

Responses

Response samples

Content type
application/json
{
  • "match": 0
}

Kill

Allows a Northstar server to record kills on the database

-
Authorizations:
Auth_Token
Request Body schema: application/json
game_time
number
player_count
integer
match_id
integer
cause_of_death
string
distance
number
object (PlayerKillData)
object (PlayerKillData)

Responses

Request samples

Content type
application/json
{
  • "game_time": 0,
  • "player_count": 0,
  • "match_id": 0,
  • "cause_of_death": "string",
  • "distance": 0,
  • "victim": {
    },
  • "attacker": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string"
}
- - - - diff --git a/docs/v1.yml b/docs/v1.yml deleted file mode 100644 index ccf2afa..0000000 --- a/docs/v1.yml +++ /dev/null @@ -1,592 +0,0 @@ -openapi: 3.0.2 -info: - title: ToneAPI - version: '1.0' - contact: - name: Legonzaur - url: 'https://github.com/Legonzaur' - license: - name: The Unlicense - url: 'https://unlicense.org/' - description: 'Stats tracking API for Titanfall 2 Northstar ' -servers: - - url: 'https://tone.sleepycat.date/v1' -paths: - /client/servers: - get: - summary: List of servers - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - title: Server - type: object - properties: - id: - type: integer - example: 1 - name: - type: string - example: fvnknoots 7v7 - examples: - Example 1: - value: - - id: 1 - name: fvnknoots 7v7 - operationId: get-server-list - description: An array containing the list of servers as objects - parameters: [] - /client/weapons: - get: - summary: Statistics for all weapons - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - hemlock: - title: Weapon - type: object - properties: - max_kill_distance: - type: integer - avg_kill_distance: - type: number - kills: - type: integer - examples: - Example 1: - value: - hemlock: - max_kill_distance: 0 - avg_kill_distance: 0 - kills: 0 - lstar: - max_kill_distance: 0 - avg_kill_distance: 0 - kills: 0 - operationId: get-client-weapons - parameters: - - name: server - in: query - required: false - schema: - type: number - example: 2 - description: Fetch data for specific server - - name: player - in: query - required: false - schema: - type: number - example: 1005930844007 - description: Fetch data for specific player - requestBody: - content: {} - description: A JSON Object with weapon IDS as keys and weapon data as value - description: A JSON Object with weapon IDs as key and weapon data as value - parameters: [] - '/client/weapons/{weaponId}': - parameters: - - schema: - type: string - example: epg - name: weaponId - in: path - required: true - description: ID of a weapon - get: - summary: Statistics for a single weapon - operationId: get-client-weapons-weaponId - requestBody: - content: {} - parameters: - - name: server - in: query - required: false - schema: - type: number - example: 2 - description: Fetch data for specific server - - name: player - in: query - required: false - schema: - type: number - example: 1005930844007 - description: Fetch data for specific player - description: Data for a specific weapon - responses: - '200': - description: OK - content: - application/json: - schema: - title: Weapon - type: object - properties: - max_kill_distance: - type: integer - x-stoplight: - id: npckmqv4zdoje - avg_kill_distance: - type: number - x-stoplight: - id: 8plgr96gp1ke8 - kills: - type: integer - x-stoplight: - id: pha6hu1qjfsgk - /client/players: - get: - summary: Statistics for all players - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '2250125460': - title: Player - type: object - properties: - name: - type: string - example: Legonzaur - deaths: - type: integer - kills: - type: integer - max_kill_distance: - type: integer - avg_kill_distance: - type: number - examples: - Example 1: - value: - '2250125460': - name: Legonzaur - deaths: 0 - kills: 0 - max_kill_distance: 0 - avg_kill_distance: 0 - operationId: get-client-players - parameters: - - name: weapon - in: query - required: false - schema: - type: string - example: epg - description: Fetch data for specific weapon - - name: server - in: query - required: false - schema: - type: number - example: 2 - description: Fetch data for specific server - description: A JSON Object with player IDs as key and player data as value - '/client/players/{playerId}': - parameters: - - schema: - type: string - name: playerId - in: path - required: true - description: ID of a player - get: - summary: Statistics for a single player - responses: - '200': - description: OK - content: - application/json: - schema: - title: Player - type: object - properties: - name: - type: string - example: Legonzaur - deaths: - type: integer - x-stoplight: - id: xhi261df7kcqo - kills: - type: integer - x-stoplight: - id: ofjpw5sevnf64 - max_kill_distance: - type: integer - x-stoplight: - id: qjqm0t2n6o93p - avg_kill_distance: - type: number - x-stoplight: - id: y0i5i1eja7v84 - operationId: get-client-players-playerId - parameters: - - name: server - in: query - required: false - schema: - type: number - example: 2 - description: Fetch data for specific server - - name: weapon - in: query - required: false - schema: - type: string - example: epg - description: Fetch data for specific weapon - description: Data for a specific player - '/servers/{serverId}': - parameters: - - schema: - type: string - example: '2' - name: serverId - in: path - required: true - description: ID of the server - post: - summary: '' - operationId: post-servers-serverId - responses: - '200': - description: OK - '403': - description: Forbidden - description: Used to test auth - security: - - Auth_Token: [] - '/servers/{serverId}/kill': - post: - summary: Post kills - operationId: post-kills - responses: - '201': - description: Created - '400': - description: Bad Request - '401': - description: Unauthorized - parameters: [] - security: - - Auth_Token: [] - description: Allows a Northstar server to record kills on the database - requestBody: - content: - application/json: - schema: - title: Kill - type: object - properties: - id: - type: integer - readOnly: true - server: - type: string - readOnly: true - tone_version: - type: string - match_id: - type: string - game_mode: - type: string - map: - type: string - game_time: - type: string - format: time - player_count: - type: integer - attacker_name: - type: string - attacker_id: - type: integer - attacker_current_weapon: - type: string - attacker_current_weapon_mods: - type: integer - attacker_weapon_1: - type: string - attacker_weapon_1_mods: - type: integer - attacker_weapon_2: - type: string - attacker_weapon_2_mods: - type: integer - attacker_weapon_3: - type: string - attacker_weapon_3_mods: - type: integer - attacker_offhand_weapon_1: - type: integer - attacker_offhand_weapon_2: - type: integer - victim_name: - type: string - victim_id: - type: integer - victim_current_weapon: - type: string - victim_current_weapon_mods: - type: integer - victim_weapon_1: - type: string - victim_weapon_1_mods: - type: integer - victim_weapon_2: - type: string - victim_weapon_2_mods: - type: integer - victim_weapon_3: - type: string - victim_weapon_3_mods: - type: integer - victim_offhand_weapon_1: - type: integer - victim_offhand_weapon_2: - type: integer - cause_of_death: - type: string - distance: - type: number - required: - - cause_of_death - description: '' - parameters: - - schema: - type: string - example: '2' - name: serverId - in: path - required: true - description: ID of the server -components: - schemas: - Player: - title: Player - x-stoplight: - id: c9lv0bwq7hdx7 - type: object - x-examples: - Example 1: - name: Legonzaur - deaths: 0 - kills: 0 - max_kill_distance: 0 - avg_kill_distance: 0 - properties: - name: - type: string - example: Legonzaur - deaths: - type: integer - x-stoplight: - id: xhi261df7kcqo - kills: - type: integer - x-stoplight: - id: ofjpw5sevnf64 - max_kill_distance: - type: integer - x-stoplight: - id: qjqm0t2n6o93p - avg_kill_distance: - type: number - x-stoplight: - id: y0i5i1eja7v84 - Weapon: - title: Weapon - x-stoplight: - id: l8j4cdsuxxrx0 - type: object - x-examples: - Example 1: - max_kill_distance: 0 - avg_kill_distance: 0 - kills: 0 - properties: - max_kill_distance: - type: integer - x-stoplight: - id: npckmqv4zdoje - avg_kill_distance: - type: number - x-stoplight: - id: 8plgr96gp1ke8 - kills: - type: integer - x-stoplight: - id: pha6hu1qjfsgk - Server: - title: Server - x-stoplight: - id: g45919da0b3rc - type: object - properties: - id: - type: integer - example: 1 - name: - type: string - example: fvnknoots 7v7 - Kill: - title: Kill - x-stoplight: - id: 8w7qpo5dz7fo9 - type: object - x-examples: - Example 1: - id: 0 - server: string - tone_version: ks_3.0.0 - match_id: 1cde15ee - game_mode: tdm - map: string - game_time: 385.417 - player_count: 1 - attacker_name: Legonzaur - attacker_id: 0 - attacker_current_weapon: rspn101 - attacker_current_weapon_mods: 0 - attacker_weapon_1: rspn101 - attacker_weapon_1_mods: 0 - attacker_weapon_2: autopistol - attacker_weapon_2_mods: 0 - attacker_weapon_3: defender - attacker_weapon_3_mods: 0 - attacker_offhand_weapon_1: 0 - attacker_offhand_weapon_2: 8 - victim_name: Legonzaur - victim_id: 0 - victim_current_weapon: rspn101 - victim_current_weapon_mods: 0 - victim_weapon_1: rspn101 - victim_weapon_1_mods: 0 - victim_weapon_2: autopistol - victim_weapon_2_mods: 0 - victim_weapon_3: defender - victim_weapon_3_mods: 0 - victim_offhand_weapon_1: 0 - victim_offhand_weapon_2: 8 - cause_of_death: frag_grenade - distance: 0 - properties: - id: - type: integer - readOnly: true - server: - type: string - readOnly: true - tone_version: - type: string - match_id: - type: string - game_mode: - type: string - map: - type: string - game_time: - type: string - format: time - player_count: - type: integer - attacker_name: - type: string - attacker_id: - type: integer - attacker_current_weapon: - type: string - attacker_current_weapon_mods: - type: integer - attacker_weapon_1: - type: string - attacker_weapon_1_mods: - type: integer - attacker_weapon_2: - type: string - attacker_weapon_2_mods: - type: integer - attacker_weapon_3: - type: string - attacker_weapon_3_mods: - type: integer - attacker_offhand_weapon_1: - type: integer - attacker_offhand_weapon_2: - type: integer - victim_name: - type: string - victim_id: - type: integer - victim_current_weapon: - type: string - victim_current_weapon_mods: - type: integer - victim_weapon_1: - type: string - victim_weapon_1_mods: - type: integer - victim_weapon_2: - type: string - victim_weapon_2_mods: - type: integer - victim_weapon_3: - type: string - victim_weapon_3_mods: - type: integer - victim_offhand_weapon_1: - type: integer - victim_offhand_weapon_2: - type: integer - cause_of_death: - type: string - distance: - type: number - required: - - cause_of_death - securitySchemes: - Auth_Token: - type: http - scheme: basic - parameters: - server: - name: server - in: query - required: false - schema: - type: number - example: 2 - description: Fetch data for specific server - player: - name: player - in: query - required: false - schema: - type: number - example: 1005930844007 - description: Fetch data for specific player - weapon: - name: weapon - in: query - required: false - schema: - type: string - example: epg - description: Fetch data for specific weapon - responses: {} - examples: {} diff --git a/docs/v2.yml b/docs/v2.yml deleted file mode 100644 index ff4f20d..0000000 --- a/docs/v2.yml +++ /dev/null @@ -1,453 +0,0 @@ -openapi: 3.0.2 -info: - title: ToneAPI - version: '2.0' - contact: - name: Legonzaur - url: 'https://github.com/Legonzaur' - license: - name: The Unlicense - url: 'https://unlicense.org/' - description: |- - Stats tracking API for Titanfall 2 Northstar - - All query params can be negated using `!`. Example : (`https://tone.sleepycat.date/v2/client/gamemodes?gamemode=!sns`) -tags: - - name: client - description: Routes accessibles by everyone - - name: server - description: Routes accessibles only to server owners -servers: - - url: 'https://tone.sleepycat.date/v2' -paths: - /client/hosts: - get: - summary: List of hosts - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[number] host_id': - type: string - example: Fvnkhead - examples: - Example 1: - value: - '1': Fvnkhead - '2': Legonzaur - operationId: get-client-hosts - description: An object with host ID as keys and host name as values - /client/servers: - get: - summary: List of servers - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] server_name': - type: object - properties: - deaths: - type: integer - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - host: - type: integer - examples: - Example 1: - value: - fvnkhead's 3v3: - deaths: 79810 - kills: 76218 - max_distance: 3733 - total_distance: 42200935 - host: 1 - fvnkhead's 7v7: - deaths: 148609 - kills: 163272 - max_distance: 6578 - total_distance: 113915706 - host: 1 - operationId: get-server-list - description: A JSON object with server names as keys and server data as values - parameters: - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/host' - parameters: [] - /client/weapons: - get: - summary: Statistics for all weapons - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] weapon_id': - type: object - properties: - deaths: - type: integer - description: Number of deaths caused by this weapon - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - deaths_while_equipped: - type: integer - description: Number of deaths while this weapon is equipped - examples: - Example 1: - value: - autopistol: - deaths: 27 - kills: 28 - max_distance: 2173 - total_distance: 12792 - car: - deaths: 1394 - kills: 1534 - max_distance: 3217 - total_distance: 905505 - operationId: get-client-weapons - parameters: - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/host' - requestBody: - content: {} - description: A JSON Object with weapon IDS as keys and weapon data as value - description: A JSON Object with weapon IDs as keys and weapon data as values - parameters: [] - /client/players: - get: - summary: Statistics for all players - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[number] player_id': - type: object - properties: - deaths: - type: integer - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - username: - type: string - examples: - Example 1: - value: - '2250125460': - username: Legonzaur - deaths: 0 - kills: 0 - max_kill_distance: 0 - avg_kill_distance: 0 - operationId: get-client-players - parameters: - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/host' - description: A JSON Object with player IDs as keys and player data as values - /client/maps: - get: - summary: Statistics for all maps - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] map_id': - $ref: '#/components/schemas/KillData' - examples: - Example 1: - value: - lf_meadow: - deaths: 13628 - kills: 11791 - max_distance: 3970 - total_distance: 7139763 - lf_township: - deaths: 14861 - kills: 14232 - max_distance: 3642 - total_distance: 9022513 - operationId: get-client-maps - parameters: - - $ref: '#/components/parameters/host' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/server' - description: A JSON Object with map IDs as keys and map data as values - /client/gamemodes: - get: - summary: Statistics for all gamemodes - tags: - - client - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] gamemode_id': - $ref: '#/components/schemas/KillData' - examples: - Example 1: - value: - ps: - deaths: 273232 - kills: 286679 - max_distance: 8521 - total_distance: 184069789 - aitdm: - deaths: 11388 - kills: 12814 - max_distance: 5689 - total_distance: 9184028 - operationId: get-client-gamemodes - description: A JSON Object with gamemodes IDs as keys and gamemodes data as values - parameters: - - $ref: '#/components/parameters/host' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/server' - /servers: - parameters: [] - post: - tags: - - server - summary: '' - operationId: post-servers-serverId - responses: - '200': - description: OK - '403': - description: Forbidden - description: Used to test auth - security: - - Auth_Token: [] - /servers/kills: - post: - tags: - - server - summary: Post kills - operationId: post-kills - responses: - '201': - description: Created - '400': - description: Bad Request - '401': - description: Unauthorized - parameters: [] - security: - - Auth_Token: [] - description: Allows a Northstar server to record kills on the database - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Kill' - description: '' - parameters: [] -components: - schemas: - KillData: - title: Killdata - type: object - properties: - deaths: - type: integer - kills: - type: integer - max_kill_distance: - type: integer - avg_kill_distance: - type: number - Kill: - title: Kill - type: object - properties: - id: - type: integer - readOnly: true - server: - type: string - readOnly: true - tone_version: - type: string - match_id: - type: string - game_mode: - type: string - map: - type: string - game_time: - type: string - format: time - player_count: - type: integer - attacker_name: - type: string - attacker_id: - type: integer - attacker_current_weapon: - type: string - attacker_current_weapon_mods: - type: integer - attacker_weapon_1: - type: string - attacker_weapon_1_mods: - type: integer - attacker_weapon_2: - type: string - attacker_weapon_2_mods: - type: integer - attacker_weapon_3: - type: string - attacker_weapon_3_mods: - type: integer - attacker_offhand_weapon_1: - type: integer - attacker_offhand_weapon_2: - type: integer - victim_name: - type: string - victim_id: - type: integer - victim_current_weapon: - type: string - victim_current_weapon_mods: - type: integer - victim_weapon_1: - type: string - victim_weapon_1_mods: - type: integer - victim_weapon_2: - type: string - victim_weapon_2_mods: - type: integer - victim_weapon_3: - type: string - victim_weapon_3_mods: - type: integer - victim_offhand_weapon_1: - type: integer - victim_offhand_weapon_2: - type: integer - cause_of_death: - type: string - distance: - type: number - required: - - cause_of_death - securitySchemes: - Auth_Token: - type: http - scheme: bearer - parameters: - server: - name: server - in: query - required: false - schema: - type: string - example: fvnkhead's 3v3 - description: Fetch data for specific server - player: - name: player - in: query - required: false - schema: - type: integer - example: 1005930844007 - description: Fetch data for specific player - weapon: - name: weapon - in: query - required: false - schema: - type: string - example: epg - description: Fetch data for specific weapon - map: - name: map - in: query - required: false - schema: - type: string - example: lf_stacks - description: Fetch data for specific map - gamemode: - name: gamemode - in: query - required: false - schema: - type: string - example: aitdm - description: Fetch data for specific gamemode - host: - name: host - in: query - required: false - schema: - type: integer - example: 1 - description: Fetch data for specific host - responses: {} - examples: {} diff --git a/docs/v3.yml b/docs/v3.yml deleted file mode 100644 index 8e6cdba..0000000 --- a/docs/v3.yml +++ /dev/null @@ -1,565 +0,0 @@ -openapi: 3.0.2 -info: - version: '3.0' - title: ToneAPI - description: |- - Stats tracking API for Titanfall 2 Northstar - - All query params can be negated using `!`. Example : (`https://tone.sleepycat.date/v2/client/gamemodes?gamemode=!sns`) - contact: - name: Legonzaur - url: 'https://github.com/Legonzaur' - license: - url: 'https://unlicense.org/' - name: The Unlicense -servers: - - url: 'https://tone.sleepycat.date/v3' -paths: - /client/hosts: - get: - tags: - - client - summary: Your GET endpoint - description: An object with host ID as keys and host name as values - operationId: get-client-hosts - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[number] host_id': - $ref: '#/components/schemas/%5Bnumber%5D%20host_id' - example: Fvnkhead - examples: - Example 1: - value: - '1': Fvnkhead - '2': Legonzaur - servers: - - url: 'https://tone.sleepycat.date/v3' - /client/servers: - get: - tags: - - client - summary: List of servers - description: A JSON object with server names as keys and server data as values - operationId: get-server-list - parameters: - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/host' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] server_name': - $ref: '#/components/schemas/%5Bstring%5D%20server_name' - examples: - Example 1: - value: - fvnkhead's 3v3: - deaths: 79810 - kills: 76218 - max_distance: 3733 - total_distance: 42200935 - host: 1 - fvnkhead's 7v7: - deaths: 148609 - kills: 163272 - max_distance: 6578 - total_distance: 113915706 - host: 1 - servers: - - url: 'https://tone.sleepycat.date/v3' - /client/weapons: - get: - tags: - - client - summary: Statistics for all weapons - description: A JSON Object with weapon IDs as keys and weapon data as values - operationId: get-client-weapons - parameters: - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/host' - requestBody: - description: A JSON Object with weapon IDS as keys and weapon data as value - content: {} - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[string] weapon_id': - $ref: '#/components/schemas/%5Bstring%5D%20weapon_id' - examples: - Example 1: - value: - autopistol: - deaths: 27 - kills: 28 - max_distance: 2173 - total_distance: 12792 - car: - deaths: 1394 - kills: 1534 - max_distance: 3217 - total_distance: 905505 - servers: - - url: 'https://tone.sleepycat.date/v3' - /client/players: - get: - tags: - - client - summary: Statistics for all players - description: A JSON Object with player IDs as keys and player data as values - operationId: get-client-players - parameters: - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/server' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/host' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - '[number] player_id': - $ref: '#/components/schemas/%5Bnumber%5D%20player_id' - examples: - Example 1: - value: - '2250125460': - username: Legonzaur - deaths: 0 - kills: 0 - max_kill_distance: 0 - avg_kill_distance: 0 - servers: - - url: 'https://tone.sleepycat.date/v3' - /client/maps: - get: - tags: - - client - summary: Your GET endpoint - description: A JSON Object with map IDs as keys and map data as values - operationId: get-client-maps - parameters: - - $ref: '#/components/parameters/host' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/server' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - KillData: - $ref: '#/components/schemas/KillData' - examples: - Example 1: - value: - lf_meadow: - deaths: 13628 - kills: 11791 - max_distance: 3970 - total_distance: 7139763 - lf_township: - deaths: 14861 - kills: 14232 - max_distance: 3642 - total_distance: 9022513 - servers: - - url: 'https://tone.sleepycat.date/v3' - /client/gamemodes: - get: - tags: - - client - summary: Your GET endpoint - description: A JSON Object with gamemodes IDs as keys and gamemodes data as values - operationId: get-client-gamemodes - parameters: - - $ref: '#/components/parameters/host' - - $ref: '#/components/parameters/gamemode' - - $ref: '#/components/parameters/map' - - $ref: '#/components/parameters/weapon' - - $ref: '#/components/parameters/player' - - $ref: '#/components/parameters/server' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - KillData: - $ref: '#/components/schemas/KillData' - examples: - Example 1: - value: - ps: - deaths: 273232 - kills: 286679 - max_distance: 8521 - total_distance: 184069789 - aitdm: - deaths: 11388 - kills: 12814 - max_distance: 5689 - total_distance: 9184028 - servers: - - url: 'https://tone.sleepycat.date/v3' - /servers: - post: - tags: - - server - summary: Test Authentication - description: Used to test auth - operationId: server-auth-test - responses: - '200': - description: OK - '401': - $ref: '#/components/responses/Invalid-Auth' - security: - - Auth_Token: [] - servers: - - url: 'https://tone.sleepycat.date/v3' - /servers/match: - post: - tags: - - server - summary: Match - description: Allows a Northstar server to create a match on the database - operationId: server-match - requestBody: - description: '' - content: {} - responses: - '201': - description: Created - content: - application/json: - schema: - type: object - properties: - match: - type: integer - '400': - $ref: '#/components/responses/Bad-Request' - '401': - $ref: '#/components/responses/Invalid-Auth' - '500': - $ref: '#/components/responses/Internal-Server-Error' - security: - - Auth_Token: [] - servers: - - url: 'https://tone.sleepycat.date/v3' - /servers/kill: - post: - tags: - - server - summary: Kill - description: Allows a Northstar server to record kills on the database - operationId: server-kill - requestBody: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Kill' - responses: - '201': - description: Created - content: - application/json: - schema: - type: object - properties: - id: - type: string - '400': - $ref: '#/components/responses/Bad-Request' - '401': - $ref: '#/components/responses/Invalid-Auth' - '403': - description: |- - Match ID invalid. - Use /servers/match to create a match. - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - '409': - description: Match is already closed - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - '500': - $ref: '#/components/responses/Internal-Server-Error' - security: - - Auth_Token: [] - servers: - - url: 'https://tone.sleepycat.date/v3' -tags: - - name: client - description: Routes accessibles by everyone - - name: server - description: Routes accessibles only to server owners -components: - parameters: - server: - name: server - in: query - description: Fetch data for specific server - required: false - schema: - type: string - example: fvnkhead's 3v3 - player: - name: player - in: query - description: Fetch data for specific player - required: false - schema: - type: integer - example: 1005930844007 - weapon: - name: weapon - in: query - description: Fetch data for specific weapon - required: false - schema: - type: string - example: epg - map: - name: map - in: query - description: Fetch data for specific map - required: false - schema: - type: string - example: lf_stacks - gamemode: - name: gamemode - in: query - description: Fetch data for specific gamemode - required: false - schema: - type: string - example: aitdm - host: - name: host - in: query - description: Fetch data for specific host - required: false - schema: - type: integer - example: 1 - securitySchemes: - Auth_Token: - type: http - scheme: bearer - responses: - Invalid-Auth: - description: Your token is probably invalid - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - Bad-Request: - description: Request body is invalid - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - Internal-Server-Error: - description: Internal Server Error - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - type: object - properties: - msg: - type: string - data: - type: string - schemas: - '[number] host_id': - type: string - example: Fvnkhead - '[string] server_name': - type: object - properties: - deaths: - type: integer - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - host: - type: integer - '[string] weapon_id': - type: object - properties: - deaths: - type: integer - description: Number of deaths caused by this weapon - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - deaths_while_equipped: - type: integer - description: Number of deaths while this weapon is equipped - '[number] player_id': - type: object - properties: - deaths: - type: integer - kills: - type: integer - max_distance: - type: integer - total_distance: - type: integer - username: - type: string - KillData: - type: object - title: Killdata - properties: - deaths: - $ref: '#/components/schemas/deaths' - kills: - $ref: '#/components/schemas/kills' - max_kill_distance: - $ref: '#/components/schemas/max_kill_distance' - avg_kill_distance: - $ref: '#/components/schemas/avg_kill_distance' - deaths: - type: integer - kills: - type: integer - max_kill_distance: - type: integer - avg_kill_distance: - type: number - Kill: - type: object - title: Kill - properties: - game_time: - type: number - player_count: - type: integer - match_id: - type: integer - cause_of_death: - type: string - distance: - type: number - victim: - $ref: '#/components/schemas/PlayerKillData' - attacker: - $ref: '#/components/schemas/PlayerKillData' - PlayerKillData: - type: object - title: PlayerKillData - properties: - velocity: - type: number - name: - type: string - loadout: - type: object - properties: - ordnance: - $ref: '#/components/schemas/WeaponKillData' - secondary: - $ref: '#/components/schemas/WeaponKillData' - primary: - $ref: '#/components/schemas/WeaponKillData' - tactical: - $ref: '#/components/schemas/WeaponKillData' - anti_titan: - $ref: '#/components/schemas/WeaponKillData' - passive1: - type: string - passive2: - type: string - current_weapon: - $ref: '#/components/schemas/WeaponKillData' - state: - type: string - titan: - type: string - id: - type: integer - cloaked: - type: boolean - WeaponKillData: - type: object - title: WeaponKillData - properties: - mods: - type: integer - id: - type: string