openapi: 3.0.2 x-stoplight: id: gr7tm5a03g740 info: title: OpenAPI version: '1.0' servers: - url: 'https://tone.sleepycat.date/v1' tags: - name: player description: Everything about players - name: server description: Everything about servers - name: weapon description: Everything about weapons - name: map description: Everything about maps paths: /weapons/: get: summary: List Weapons tags: - weapon responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Weapon' operationId: get-weapon-list description: '' x-internal: true /maps/: get: summary: List Maps tags: - map responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Map' operationId: get-map-list x-internal: true /client/servers/: get: summary: Get Server list tags: - client responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Server' operationId: get-server-list parameters: [] '/client/servers/{serverId}/players': get: summary: List Players for Server tags: - client responses: '200': description: OK content: application/json: schema: type: object properties: '[id]': type: object x-stoplight: id: i0tm5lw98u34e properties: kills: type: integer x-stoplight: id: qclba81i7vkc7 deaths: type: integer x-stoplight: id: hjd0pspfmfxi9 last_seen: type: string x-stoplight: id: 2t122mb6uvsdr format: date-time first_seen: type: string x-stoplight: id: xlhtx3nbfvbl0 format: date-time max_kill_distance: type: number x-stoplight: id: 2zvmxjuuk4m04 avg_kill_distance: type: number x-stoplight: id: 6x852k2av6biq examples: Example 1: value: '2250487322': kills: '16' deaths: '3' '2264540539': kills: '0' deaths: '3' '2275398718': kills: '28' deaths: '36' '2279483655': kills: '124' deaths: '80' '2293751643': kills: '88' deaths: '122' '2317053736': kills: '3' deaths: '6' '2365696799': kills: '69' deaths: '64' '2369053412': kills: '1' deaths: '4' '2372259449': kills: '2' deaths: '8' '2383354003': kills: '8' deaths: '8' '2394254742': kills: '31' deaths: '19' '2420152141': kills: '52' deaths: '34' '2434511212': kills: '2' deaths: '9' '2459505766': kills: '31' deaths: '17' '2480498234': kills: '60' deaths: '26' '2547349226': kills: '2' deaths: '1' '2651468854': kills: '37' deaths: '27' '2789001756': kills: '1' deaths: '3' '2793671940': kills: '1' deaths: '10' '2808303632': kills: '9' deaths: '14' '1004339478890': kills: '209' deaths: '75' '1009631167271': kills: '152' deaths: '79' '1010859553275': kills: '152' deaths: '95' '1013394101159': kills: '146' deaths: '157' '1008532828425': kills: '120' deaths: '160' '1005930844007': kills: '116' deaths: '71' '1008777336129': kills: '113' deaths: '62' '1006452683408': kills: '89' deaths: '118' '1009306948106': kills: '79' deaths: '77' '1001539583158': kills: '77' deaths: '54' '1008553404453': kills: '74' deaths: '41' '1000785195758': kills: '71' deaths: '97' '1012146561597': kills: '70' deaths: '67' '1008048039568': kills: '69' deaths: '43' '1006792160784': kills: '64' deaths: '84' '1000243552229': kills: '64' deaths: '82' '1002847919723': kills: '63' deaths: '42' '1006547511738': kills: '59' deaths: '29' '1008296544768': kills: '56' deaths: '63' '1010475004425': kills: '53' deaths: '28' '1009683708233': kills: '53' deaths: '127' '1007916824452': kills: '52' deaths: '38' '1005789878582': kills: '50' deaths: '41' '1000208553932': kills: '48' deaths: '40' '1011886375716': kills: '47' deaths: '27' '1010766135749': kills: '45' deaths: '56' '1009353300588': kills: '44' deaths: '18' '1000563596599': kills: '44' deaths: '47' '1008076070452': kills: '42' deaths: '33' '1000170397365': kills: '41' deaths: '33' '1007384912695': kills: '41' deaths: '55' '1009289344839': kills: '40' deaths: '91' '1002547370637': kills: '40' deaths: '21' '1008848730302': kills: '40' deaths: '78' '1002965199684': kills: '39' deaths: '40' '1008704914497': kills: '38' deaths: '21' '1000680732650': kills: '38' deaths: '21' '1009020277340': kills: '37' deaths: '43' '1009001081875': kills: '37' deaths: '57' '1002862920668': kills: '34' deaths: '26' '1007927614255': kills: '34' deaths: '61' '1007344081350': kills: '32' deaths: '54' '1000689836348': kills: '30' deaths: '24' '1002365588355': kills: '28' deaths: '32' '1000599975674': kills: '28' deaths: '18' '1009981913274': kills: '26' deaths: '16' '1003950824662': kills: '26' deaths: '13' '1000474582791': kills: '26' deaths: '32' '1007213425353': kills: '26' deaths: '44' '1009295548275': kills: '25' deaths: '41' '1007246486495': kills: '23' deaths: '26' '1012332759108': kills: '22' deaths: '21' '1004355057125': kills: '21' deaths: '54' '1010246320749': kills: '21' deaths: '23' '1009763674601': kills: '19' deaths: '21' '1000991748686': kills: '19' deaths: '14' '1003495333189': kills: '19' deaths: '32' '1012863344924': kills: '19' deaths: '28' '1005030069502': kills: '18' deaths: '24' '1011188414213': kills: '17' deaths: '13' '1006943687079': kills: '17' deaths: '28' '1000314539111': kills: '17' deaths: '13' '1007803613856': kills: '12' deaths: '19' '1006068335533': kills: '12' deaths: '16' '1009495187105': kills: '10' deaths: '6' '1009388895366': kills: '9' deaths: '41' '1007511112791': kills: '8' deaths: '11' '1004230608953': kills: '7' deaths: '6' '1009058558981': kills: '7' deaths: '8' '1009752496386': kills: '7' deaths: '35' '1007983554545': kills: '7' deaths: '4' '1012165044680': kills: '6' deaths: '4' '1011679847131': kills: '6' deaths: '11' '1009810188385': kills: '6' deaths: '6' '1003340724325': kills: '5' deaths: '2' '1000250176837': kills: '4' deaths: '4' '1006902817643': kills: '4' deaths: '8' '1000436348239': kills: '4' deaths: '3' '1011584031432': kills: '4' deaths: '6' '1013302746779': kills: '4' deaths: '10' '1002319733641': kills: '3' deaths: '8' '1008766563524': kills: '3' deaths: '5' '1010590824824': kills: '3' deaths: '6' '1014450712715': kills: '3' deaths: '15' '1011819105616': kills: '3' deaths: '11' '1013339742185': kills: '3' deaths: '11' '1007720444069': kills: '3' deaths: '6' '1010050271094': kills: '3' deaths: '9' '1008220179508': kills: '3' deaths: '17' '1008335546916': kills: '3' deaths: '7' '1008176168711': kills: '3' deaths: '10' '1007793002161': kills: '3' deaths: '14' '1009137965834': kills: '2' deaths: '9' '1012089978411': kills: '2' deaths: '10' '1003566577430': kills: '2' deaths: '9' '1006446444857': kills: '2' deaths: '1' '1009129948330': kills: '2' deaths: '2' '1009320303734': kills: '2' deaths: '4' '1011425349538': kills: '2' deaths: '7' '1000082780513': kills: '2' deaths: '28' '1009059593350': kills: '2' deaths: '12' '1008930859124': kills: '2' deaths: '3' '1011062416507': kills: '2' deaths: '15' '1008322047749': kills: '1' deaths: '5' '1010909176351': kills: '1' deaths: '3' '1009015699732': kills: '1' deaths: '9' '1010938099750': kills: '1' deaths: '10' '1009920857596': kills: '1' deaths: '3' '1001248580325': kills: '1' deaths: '2' '1003395331672': kills: '1' deaths: '0' '1008850794164': kills: '1' deaths: '1' '1002970526901': kills: '1' deaths: '10' '1009585427210': kills: '0' deaths: '7' '1010044829720': kills: '0' deaths: '2' '1010302326976': kills: '0' deaths: '2' '1011336094869': kills: '0' deaths: '1' '1010890839674': kills: '0' deaths: '2' '1003009344333': kills: '0' deaths: '2' '1010690831586': kills: '0' deaths: '1' '1012016676172': kills: '0' deaths: '3' '1010958615370': kills: '0' deaths: '1' '1010804831845': kills: '0' deaths: '4' '1014036958511': kills: '0' deaths: '5' '1013377950364': kills: '0' deaths: '3' '1003516913859': kills: '0' deaths: '2' '1005317405570': kills: '0' deaths: '1' '1010373048502': kills: '0' deaths: '1' '1000319933061': kills: '0' deaths: '2' '1013284789566': kills: '0' deaths: '4' '1000180555075': kills: '0' deaths: '5' '1004519819956': kills: '0' deaths: '1' '1008082281599': kills: '0' deaths: '2' '1009413737635': kills: '0' deaths: '1' '1003853474628': kills: '0' deaths: '4' '1013146253403': kills: '0' deaths: '5' '1010845289697': kills: '0' deaths: '4' '1007170712677': kills: '0' deaths: '3' '1011747811565': kills: '0' deaths: '3' '1008770977823': kills: '0' deaths: '1' '1006338144987': kills: '0' deaths: '1' operationId: get-player-list-for-server parameters: - name: serverId in: path required: true schema: type: string '/client/servers/{serverId}/weapons': get: summary: Get Weapon report for server tags: - client responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: doubletake: '119' arc_launcher: '1' mastiff: '359' softball: '137' wingman: '87' invalid: '20' grenade_sonar: '30' semipistol: '177' grenade_electric_smoke: '12' sniper: '1104' shotgun_pistol: '94' shotgun: '66' frag_grenade: '1' smr: '27' fall: '1' epg: '265' human_execution: '4' pilot_emptyhanded: '65' defender: '62' thermite_grenade: '150' satchel: '64' wingman_n: '620' properties: '[weaponID]': x-stoplight: id: errxxb306byhf type: object properties: kills: type: integer x-stoplight: id: tbll8rypmptlm avg_kill_distance: type: number x-stoplight: id: njeuvklvfz71x max_kill_distance: type: number x-stoplight: id: j5w0u047enoaj examples: Example 1: value: sniper: kills: '1180' avg_kill_distance: '806' max_kill_distance: '3454' wingman_n: kills: '831' avg_kill_distance: '608' max_kill_distance: '2834' mastiff: kills: '425' avg_kill_distance: '318' max_kill_distance: '1570' epg: kills: '386' avg_kill_distance: '468' max_kill_distance: '3023' semipistol: kills: '196' avg_kill_distance: '370' max_kill_distance: '1104' thermite_grenade: kills: '142' avg_kill_distance: '469' max_kill_distance: '1472' softball: kills: '139' avg_kill_distance: '435' max_kill_distance: '1303' doubletake: kills: '136' avg_kill_distance: '852' max_kill_distance: '2618' shotgun_pistol: kills: '135' avg_kill_distance: '439' max_kill_distance: '1419' wingman: kills: '98' avg_kill_distance: '473' max_kill_distance: '1854' shotgun: kills: '87' avg_kill_distance: '311' max_kill_distance: '745' pilot_emptyhanded: kills: '65' avg_kill_distance: '44' max_kill_distance: '115' defender: kills: '62' avg_kill_distance: '1070' max_kill_distance: '3835' satchel: kills: '54' avg_kill_distance: '503' max_kill_distance: '1047' grenade_sonar: kills: '43' avg_kill_distance: '491' max_kill_distance: '1205' smr: kills: '27' avg_kill_distance: '490' max_kill_distance: '1405' grenade_electric_smoke: kills: '8' avg_kill_distance: '527' max_kill_distance: '987' human_execution: kills: '4' avg_kill_distance: '45' max_kill_distance: '71' fall: kills: '1' avg_kill_distance: '876' max_kill_distance: '876' arc_launcher: kills: '1' avg_kill_distance: '454' max_kill_distance: '454' operationId: get-weapons-report-for-server parameters: [] x-internal: false parameters: - name: serverId in: path required: true schema: type: string '/client/servers/{serverId}/players/{playerId}': parameters: - name: playerId in: path required: true schema: type: integer - name: serverId in: path required: true schema: type: integer get: summary: Get Player report for Server tags: - client responses: '200': $ref: '#/components/responses/Player-server-report' '404': description: Not Found operationId: get-player-on-server '/client/servers/{serverId}/players/{playerId}/weapons': parameters: - name: playerId in: path required: true schema: type: integer - name: serverId in: path required: true schema: type: integer get: summary: Get Player report for Server tags: - client responses: '200': description: OK content: application/json: schema: type: object properties: '[weaponID]': $ref: '#/components/schemas/PrefferedWeapon' x-stoplight: id: 8gibksi8tvjm4 '404': description: Not Found operationId: get-player-on-server '/servers/{serverId}': parameters: - $ref: '#/components/parameters/serverId' post: summary: '' operationId: post-servers-serverId responses: '200': description: OK '403': description: Forbidden description: Used to test auth security: - Auth_Token: [] tags: - server /servers/register: post: summary: '' operationId: post-servers-register responses: '201': description: Created content: application/json: schema: type: object properties: id: type: integer token: type: string '403': description: Forbidden requestBody: content: application/json: schema: type: object properties: name: type: string description: The name of your server as it appears on Northstar description: type: string description: The description of your server as it appears on Northstar auth_port: type: integer format: uri example: 8081 description: 'In most cases, this is the IP address of your server with the TCP port you forwarded' x-stoplight: id: r9pi7wq6mp6tm minimum: 0 maximum: 65535 required: - name - description - auth_port description: '' description: |- Register a server on Tone API. The server needs to be online on masterserver and reacheable by Tone. x-internal: true '/servers/{serverId}/kills': post: summary: Post kills tags: - server 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: - $ref: '#/components/parameters/serverId' components: schemas: Player: title: Player x-stoplight: id: be41fcacb2693 type: object properties: id: $ref: '#/components/schemas/PlayerID' name: type: string example: Legonzaur opt-out: type: boolean default: false description: 'If set to true, kills and deaths about this user won''t be sent to the database' hide_TOS: type: boolean default: false description: 'If set to true, TOS will be hidden when player joins a server' required: - id Weapon: title: Weapon x-stoplight: id: 7zc6t20eh3pcc type: object properties: id: $ref: '#/components/schemas/WeaponID' name: type: string example: Kraber description: type: string image: type: string format: uri example: 'https://static.wikia.nocookie.net/titanfall_gamepedia/images/8/8b/Icon_kraber.png' required: - id Map: title: Map x-stoplight: id: hoh2m6pr6gli7 type: object properties: id: $ref: '#/components/schemas/MapID' name: type: string example: Angel City description: type: string image: type: string format: uri example: 'https://media.contentapi.ea.com/content/dam/eacom/en-us/common/articles-tf2-welcome-header.jpg.adapt.320w.jpg' required: - id Server: title: Server x-stoplight: id: hjfwmi2ae419o type: object properties: id: type: integer example: 1 name: type: string example: fvnknoots 7v7 Kill: title: Kill x-stoplight: id: a9q2tvsts3z32 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 PlayerID: title: PlayerId x-stoplight: id: 9icavmq5bgsqp type: integer WeaponID: title: WeaponID x-stoplight: id: p92aomkxku2po type: string maxLength: 50 MapID: title: MapID x-stoplight: id: zoazw8eoi7qwr type: string maxLength: 50 PrefferredServer: title: PrefferredServer x-stoplight: id: xok1i1668gx6o type: object properties: server: $ref: '#/components/schemas/Server' killCount: type: integer example: 4988 deathCount: type: integer example: 4671 PrefferedWeapon: title: PrefferedWeapon x-stoplight: id: b52mxxdsbv1wx type: object properties: kills: type: integer x-stoplight: id: thiudrlmaghe0 deaths: type: integer x-stoplight: id: ptc32dgqrnh6c max_kill_distance: type: integer x-stoplight: id: v2ppgf9ogdayj avg_kill_distance: type: integer x-stoplight: id: yjxzjb8ap9cpi PrefferedMap: title: PrefferedMap x-stoplight: id: 17kjfi5wu6f4h type: object properties: map: $ref: '#/components/schemas/Map' killCount: type: integer deathCount: type: integer TopPlayers: title: TopPlayers x-stoplight: id: rsl4jqpvwunah type: object properties: player: $ref: '#/components/schemas/Player' kill_count: type: integer death_count: type: integer securitySchemes: Auth_Token: type: http scheme: basic parameters: serverId: name: serverId in: path required: true schema: type: string playerId: name: playerId in: path required: true schema: type: string responses: Server-report: description: OK content: application/json: schema: type: object properties: server: $ref: '#/components/schemas/Server' total_kills: type: integer first_record: type: string format: date-time last_record: type: string format: date-time most_used_weapons: type: array items: $ref: '#/components/schemas/PrefferedWeapon' preffered_maps: type: array items: $ref: '#/components/schemas/PrefferedMap' top_players: type: array maxItems: 5 items: $ref: '#/components/schemas/TopPlayers' Player-server-report: description: OK content: application/json: schema: type: object properties: kills: type: integer description: Number of kills of the user in this server x-stoplight: id: 7e1sj7qgzklj1 deaths: type: integer description: Number of deaths of the user in this server x-stoplight: id: 4d4oy7nv32o0q first_time_seen: type: string format: date-time x-stoplight: id: e8yjr6c67n1nc last_time_seen: type: string format: date-time x-stoplight: id: xgrbrju5f2lyc max_kill_distance: type: number x-stoplight: id: qqqfcfqcy028d avg_kill_distance: type: number x-stoplight: id: rxhly8blndl4v weapons: type: object x-stoplight: id: t92oo7w7hu9kf properties: '[weaponId]': $ref: '#/components/schemas/PrefferedWeapon' x-stoplight: id: oxpzriozk4s16 examples: Example 1: value: last_seen: 'Mon Mar 13 2023 13:42:15 GMT+0100 (heure normale d’Europe centrale)' max_kill_distance: '1160' avg_kill_distance: '400.5000000000000000' first_seen: 'Mon Mar 13 2023 13:30:13 GMT+0100 (heure normale d’Europe centrale)' deaths: '21' kills: '22' weapons: epg: kills: '21' deaths: '8' avg_kill_distance: '395' max_kill_distance: '1160' thermite_grenade: kills: '1' deaths: '0' avg_kill_distance: '505' max_kill_distance: '505' mastiff: kills: '0' deaths: '5' avg_kill_distance: '0' max_kill_distance: '0' wingman_n: kills: '0' deaths: '8' avg_kill_distance: '0' max_kill_distance: '0' Player-report: description: OK content: application/json: schema: type: object properties: player: $ref: '#/components/schemas/Player' preferred_servers: type: array maxItems: 5 items: $ref: '#/components/schemas/PrefferredServer' total_kills: type: integer description: Number of kills of the user in the entire database total_deaths: type: integer description: Number of kills of the user in the entire database first_record: type: string format: date-time last_record: type: string format: date-time most_used_weapons: type: array maxItems: 5 items: $ref: '#/components/schemas/PrefferedWeapon' preferred_maps: type: array maxItems: 5 items: $ref: '#/components/schemas/PrefferedMap' furthest_kill_distance: type: number average_kill_distance: type: number examples: Example 1: value: player: id: 0 name: Legonzaur opt-out: false hide_TOS: false preferred_servers: - server: id: '1' name: fvnknoots 7v7 killCount: 4988 deathCount: 4671 total_kills: 0 total_deaths: 0 first_record: '2019-08-24T14:15:22Z' last_record: '2019-08-24T14:15:22Z' most_used_weapons: - weapon: id: 0 internal: mp_weapon_sniper name: Kraber description: string image: 'https://static.wikia.nocookie.net/titanfall_gamepedia/images/8/8b/Icon_kraber.png' killCount: 0 deathCount: 0 preferred_maps: - map: id: 0 internal: mp_angel_city name: Angel City description: string image: 'https://media.contentapi.ea.com/content/dam/eacom/en-us/common/articles-tf2-welcome-header.jpg.adapt.320w.jpg' killCount: 0 deathCount: 0 furthest_kill_distance: 0 average_kill_distance: 0 examples: {}