{ "openapi": "3.1.0", "info": { "contact": { "name": "Project Repository", "url": "https://github.com/leonhard-s/ps2-api-docs" }, "description": "## Introduction\n\nThe Daybreak Game Company Census API provides access to game and character data for the MMOFPS\n[PlanetSide 2](https://www.planetside2.com/home), allowing players to develop their own apps,\nstat trackers, websites, and community integrations.\n\n### Disclaimer\n\nThis documentation is written and maintained by thirdparty developers from the PlanetSide 2\ncommunity and has no affiliation with Daybreak Game Company, Rogue Planet Games, or the\nPlanetSide 2 developer team. If you encounter any errors or have other feedback, please do\nconsider [opening an issue](https://github.com/leonhard-s/ps2-api-docs/issues) or contributing\nto the project directly.\n\n### Warranty\n\nNote that all game data and files made available by Daybreak Game Company are provided \"AS IS\"\nand come with absolutely no warranty. For legal details, please refer to the API's\n[warranty disclaimer](https://census.daybreakgames.com/#warranty) and the Census API [terms of\nservice](https://census.daybreakgames.com#services-api-policy).\n\nFurthermore, the OpenAPI spec provided here is released without any warranty either, though its\nsource code is made available without restriction at the repository link listed in the contact\nsection of this API specification.\n\n### Service IDs\n\nThe Census API uses service IDs to monitor and identify API consumers. These IDs are free and\ncan be requested via [this form](https://census.daybreakgames.com/#devSignup). The process is\nautomatic and you should receive your service ID confirmation email within a few minutes to\nhours.\n\nUsing the API without a service ID is possible and synonymous with using the default service ID of\n`s:example`. However, this service ID is rate-limited to 10 requests per minute and IP address,\nso it is highly recommended to apply for your own service IDs early on.\n\n### Further Reading\n\nThis documentation is intended to be a reference for the API endpoints, parameters, and JSON\nschemas. For a more general introduction to the Census API, examples, and more detailed\ninformation on the `c:join` system, please refer to one of the following resources:\n\n - [Census API Documentation](https://census.daybreakgames.com/): Official documentation by\n Daybreak Game Company\n - [PlanetSide 2 API Tracker](https://github.com/cooltrain7/Planetside-2-API-Tracker): A\n community-maintained issue tracker and developer resource\n - [Census API Primer](https://github.com/leonhard-s/auraxium/wiki/Census-API-Primer): A\n rewritten version of the official documentation with additional details and examples\n - [PS2 Query GUI](https://eating-coleslaw.github.io/ps2-visual-query/): A GUI web page for\n querying the Planetside 2 API\n - [Zone ID Tutorial](https://github.com/cooltrain7/Planetside-2-API-Tracker/wiki/Tutorial:-Zone-IDs):\n Introduction for working with dynamic zones, such as those spawned for Outfit Wars\n - [Sanctuary.Census](https://github.com/PS2Sanctuary/Sanctuary.Census): A community endpoint\n replicating and extending the Census ReST API\n\n### Event Streaming Service\n\nThe PlanetSide 2 API also provides a real-time event streaming service using the WebSocket\nprotocol. This service is not covered by this documentation yet, but you can find more\ninformation at the following links:\n\n - [PS2 Event Streaming](https://census.daybreakgames.com/#what-is-websocket): Official\n documentation by Daybreak Game Company\n - [Nanite Systems ESS](https://github.com/nanite-systems/stream): A replacement endpoint for\n the ESS designed to provide more reliability\n", "license": { "name": "Proprietary", "url": "https://census.daybreakgames.com#services-api-policy" }, "termsOfService": "https://census.daybreakgames.com#services-api-policy", "title": "PlanetSide 2 API", "version": "0.8", "x-logo": { "altText": "Census API Docs Logo", "url": "https://raw.githubusercontent.com/leonhard-s/ps2-api-docs/main/docs/logo-redoc.png" } }, "servers": [ { "description": "Casual-use Daybreak Games endpoint, throttled to 10 requests per minute and IP address\n", "url": "https://census.daybreakgames.com" }, { "description": "Production Daybreak Games endpoint, with service ID", "url": "https://census.daybreakgames.com/{serviceId}", "variables": { "serviceId": { "default": "s:example" } } }, { "description": "Unofficial Community endpoint for static data.\nVisit the project URL for details.\n", "url": "https://census.lithafalcon.cc" } ], "security": [], "paths": { "/count/{game}/{collection}": { "get": { "description": "Lists the number of entries in the given collection.\nThis endpoint can be used to determine an appropriate pagination strategy based on the size of the result list, but it is especially useful for API introspection as it still supports query strings, including search modifiers and certain query commands.\nFor example, the `weapon` collection may be queried with `c:has=heat_capacity` to get the number of heat-based weapons. Similarly, comparing the `c:has=` count of a collection with the total can be used to guess whether a field is optional or used.\nClient code should be ready to receive negative values for this endpoint, which is used as the error state for this endpoint, rather than the explicit error payloads sent for the `/get/` query verb.\n", "operationId": "count_generic", "parameters": [ { "description": "The API game to access.", "examples": { "ps2": { "summary": "PS2 on PC (all servers)", "value": "ps2" }, "ps2ps4eu": { "summary": "PS2 on PS4 (EU server)", "value": "ps2ps4eu" }, "ps2ps4us": { "summary": "PS2 on PS4 (US server)", "value": "ps2ps4us" } }, "in": "path", "name": "game", "required": true, "schema": { "enum": [ "ps2", "ps2:v2", "ps2ps4eu", "ps2ps4eu:v2", "ps2ps4us", "ps2ps4us:v2" ], "type": "string" } }, { "description": "Name of the collection to access.", "examples": { "character": { "summary": "Character", "value": "character" }, "outfit": { "summary": "Outfit", "value": "outfit" }, "world": { "summary": "Game Servers", "value": "world" } }, "in": "path", "name": "collection", "required": true, "schema": { "enum": [ "ability_type", "ability", "achievement", "armor_facing", "armor_info", "character_name", "character", "characters_achievement", "characters_currency", "characters_directive_objective", "characters_directive_tier", "characters_directive_tree", "characters_directive", "characters_event_grouped", "characters_event", "characters_friend", "characters_item", "characters_leaderboard", "characters_online_status", "characters_skill", "characters_stat_by_faction", "characters_stat_history", "characters_stat", "characters_weapon_stat_by_faction", "characters_weapon_stat", "characters_world", "currency", "directive_tier", "directive_tree_category", "directive_tree", "directive", "effect_type", "effect", "empire_scores", "event", "experience_award_type", "experience_rank", "experience", "facility_link", "facility_type", "faction", "fire_group_to_fire_mode", "fire_group", "fire_mode_2", "fire_mode_to_projectile", "fire_mode_type", "fire_mode", "fish", "image_set_default", "image_set", "image", "item_attachment", "item_category", "item_profile", "item_to_weapon", "item_type", "item", "leaderboard", "loadout", "map_hex", "map_region", "map", "marketing_bundle_item", "marketing_bundle_with_1_item", "marketing_bundle", "metagame_event_state", "metagame_event", "objective_set_to_objective", "objective_type", "objective", "outfit_member_extended", "outfit_member", "outfit_rank", "outfit", "player_state_group_2", "player_state_group", "player_state", "profile_2", "profile_armor_map", "profile_resist_map", "profile", "projectile_flight_type", "projectile", "region", "resist_info", "resist_type", "resource_type", "reward_group_to_reward", "reward_set_to_reward_group", "reward_type", "reward", "single_character_by_id", "skill_category", "skill_line", "skill_set", "skill", "target_type", "title", "vehicle_attachment", "vehicle_faction", "vehicle_skill_set", "vehicle", "weapon_ammo_slot", "weapon_datasheet", "weapon_to_attachment", "weapon_to_fire_group", "weapon", "world_event", "world_stat_history", "world", "zone_effect_type", "zone_effect", "zone" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "error": { "value": { "count": -1 } }, "success": { "value": { "count": 14 } } }, "schema": { "properties": { "count": { "type": "integer" } }, "type": "object" } } }, "description": "OK" }, "4XX": { "description": "Returns `{\"count\": -1}` on error\n" } }, "summary": "/count/{game}/{collection}", "tags": [ "API Endpoints" ] } }, "/get/{game}": { "get": { "description": "Top-level endpoint for retrieving all available collections for the current game namespace.\nIn addition to the name of the collection, this endpoint may also list the number of entries in the associated table via the `count` field. Note that the `hidden` field is of no practical use to API consumers as it is always `false`.\nThe keys in the `resolve_list` field are permittable values for the `c:resolve=` query command. Note that resolve lists precede the `c:join=<...>` subquery system and has been largely superceded by it. For this reason, the resolved fields are not included in any example payload or other parts of this documentation.\nCurious fact: this is one of the few endpoints in the PlanetSide 2 API that returns native JSON types (`boolean`, `number`, etc.) in its response, without wrapping them in a string.\n", "operationId": "get_collections", "parameters": [ { "description": "The API game to access.", "examples": { "ps2": { "summary": "PS2 on PC (all servers)", "value": "ps2" }, "ps2ps4eu": { "summary": "PS2 on PS4 (EU server)", "value": "ps2ps4eu" }, "ps2ps4us": { "summary": "PS2 on PS4 (US server)", "value": "ps2ps4us" } }, "in": "path", "name": "game", "required": true, "schema": { "enum": [ "ps2", "ps2:v2", "ps2ps4eu", "ps2ps4eu:v2", "ps2ps4us", "ps2ps4us:v2" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "character": { "value": { "datatype_list": [ { "name": "character", "hidden": false, "count": 15095335, "resolve_list": [ "item", "item_full", "profile", "faction", "stat", "stat_by_faction", "weapon_stat", "weapon_stat_by_faction", "stat_history", "online_status", "friends", "world", "outfit", "outfit_member", "outfit_member_extended", "currency" ] } ], "returned": 1 } }, "characterOnlineStatus": { "value": { "datatype_list": [ { "count": "dynamic", "hidden": "false", "name": "characters_online_status", "resolve_list": [] } ], "returned": 1 } }, "outfitMember": { "value": { "datatype_list": [ { "name": "outfit_member", "hidden": false, "count": "?", "resolve_list": [ "character", "character_name", "characters_stat_history", "online_status", "outfit" ] } ], "returned": 1 } } }, "schema": { "properties": { "datatype_list": { "items": { "properties": { "count": { "description": "The number of entries in this colleciton. The values `?` and `dynamic` both signify an uncountable collection. Note that even though no count is displayed here, it may still be accessible via the `count/{game}/{collection}` endpoint.", "oneOf": [ { "type": "integer" }, { "enum": [ "dynamic", "?" ], "type": "string" } ] }, "hidden": { "description": "Whether this table is hidden from the API. Always false-y. Note that this may either be an actual `false` value, or the string `\"false\"`.", "oneOf": [ { "type": "boolean" }, { "enum": [ "false" ], "type": "string" } ] }, "name": { "description": "Unique name of the collection.", "type": "string" }, "resolve_list": { "description": "A list of resolvable names for the collection. These can be passed to the `c:resolve` query parameter to insert additional fields into the returned payload.", "items": { "type": "string" }, "type": "array" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "returned": { "type": "integer" } }, "type": "object" } } }, "description": "OK" }, "4XX": { "description": "The Census API does not use HTTP status codes to indicate errors." } }, "summary": "/get/{game}", "tags": [ "API Endpoints" ] } }, "/get/{game}/{collection}": { "get": { "description": "This endpoint documents generic parameters available on most collections.\n\nFor details on collection-specific variables and response schemas, please see the respective collection's query entry.\n", "operationId": "get_generic", "parameters": [ { "description": "The API game to access.", "examples": { "ps2": { "summary": "PS2 on PC (all servers)", "value": "ps2" }, "ps2ps4eu": { "summary": "PS2 on PS4 (EU server)", "value": "ps2ps4eu" }, "ps2ps4us": { "summary": "PS2 on PS4 (US server)", "value": "ps2ps4us" } }, "in": "path", "name": "game", "required": true, "schema": { "enum": [ "ps2", "ps2:v2", "ps2ps4eu", "ps2ps4eu:v2", "ps2ps4us", "ps2ps4us:v2" ], "type": "string" } }, { "description": "Name of the collection to access.", "examples": { "character": { "summary": "Character", "value": "character" }, "outfit": { "summary": "Outfit", "value": "outfit" }, "world": { "summary": "Game Servers", "value": "world" } }, "in": "path", "name": "collection", "required": true, "schema": { "enum": [ "ability_type", "ability", "achievement", "armor_facing", "armor_info", "character_name", "character", "characters_achievement", "characters_currency", "characters_directive_objective", "characters_directive_tier", "characters_directive_tree", "characters_directive", "characters_event_grouped", "characters_event", "characters_friend", "characters_item", "characters_leaderboard", "characters_online_status", "characters_skill", "characters_stat_by_faction", "characters_stat_history", "characters_stat", "characters_weapon_stat_by_faction", "characters_weapon_stat", "characters_world", "currency", "directive_tier", "directive_tree_category", "directive_tree", "directive", "effect_type", "effect", "empire_scores", "event", "experience_award_type", "experience_rank", "experience", "facility_link", "facility_type", "faction", "fire_group_to_fire_mode", "fire_group", "fire_mode_2", "fire_mode_to_projectile", "fire_mode_type", "fire_mode", "fish", "image_set_default", "image_set", "image", "item_attachment", "item_category", "item_profile", "item_to_weapon", "item_type", "item", "leaderboard", "loadout", "map_hex", "map_region", "map", "marketing_bundle_item", "marketing_bundle_with_1_item", "marketing_bundle", "metagame_event_state", "metagame_event", "objective_set_to_objective", "objective_type", "objective", "outfit_member_extended", "outfit_member", "outfit_rank", "outfit", "player_state_group_2", "player_state_group", "player_state", "profile_2", "profile_armor_map", "profile_resist_map", "profile", "projectile_flight_type", "projectile", "region", "resist_info", "resist_type", "resource_type", "reward_group_to_reward", "reward_set_to_reward_group", "reward_type", "reward", "single_character_by_id", "skill_category", "skill_line", "skill_set", "skill", "target_type", "title", "vehicle_attachment", "vehicle_faction", "vehicle_skill_set", "vehicle", "weapon_ammo_slot", "weapon_datasheet", "weapon_to_attachment", "weapon_to_fire_group", "weapon", "world_event", "world_stat_history", "world", "zone_effect_type", "zone_effect", "zone" ], "type": "string" } }, { "description": "If set, only the response keys listed will be included in the response object. Overrides `c:hide`. Multiple fields can be comma-separated. Dot-notation is supported to select sub-keys.", "examples": { "Basic Character Info": { "summary": "Basic character info only", "value": "name.first,character_id,battle_rank.value,prestige_level" }, "notSet": { "summary": "Unset", "value": "" } }, "explode": false, "in": "query", "name": "c:show", "schema": { "type": "string" }, "style": "form" }, { "description": "If set, the given response fields will be excluded from the response. If `c:show` is also set, this parameter will be ignored. Multiple fields can be comma-separated. Dot-notation is supported to select sub-keys.", "examples": { "hideNoisyKeys": { "summary": "Remove noisy subkeys", "value": "name.first_lower,cert,daily_ribbon" } }, "explode": false, "in": "query", "name": "c:hide", "schema": { "type": "string" }, "style": "form" }, { "description": "Allows sorting the results by one or more fields. Multiple fields can be comma-separated. The sorting direction can be specified by appending `:1` (ascending, default) or `:-1` (descending).", "examples": { "factionAsp": { "summary": "Sort by faction (asc) and ASP rank (desc)", "value": "faction_id,prestige_level:-1" }, "notSet": { "summary": "Unset", "value": "" } }, "explode": false, "in": "query", "name": "c:sort", "schema": { "type": "string" }, "style": "form" }, { "description": "Filters results by entries with non-NULL values in the given fields. Multiple fields can be comma-separated.", "explode": false, "in": "query", "name": "c:has", "schema": { "type": "string" }, "style": "form" }, { "description": "Include additional fields in the response. See the `resolve_list` field of the collection list for permissible values for a given collection.", "examples": { "notSet": { "summary": "Unset", "value": "" }, "outfitMember": { "summary": "Outfit Member", "value": "outfit_member" }, "profile": { "summary": "Last Seen Profile", "value": "profile" } }, "explode": true, "in": "query", "name": "c:resolve", "schema": { "type": "string" }, "style": "form" }, { "description": "Whether case sensitivity is enabled for string comparisongs. Defaults to true. Note that this impacts query performance, `ps2/character.name`, `ps2/outfit.name`, `ps2/outfit.alias` all provide lowercase variants for improved performance.", "examples": { "disable": { "summary": "Disabled", "value": "false" } }, "in": "query", "name": "c:case", "schema": { "enum": [ "true", "false", "0", "1" ], "type": "string" } }, { "description": "Return up to N results from the collection. Defaults to 1.", "examples": { "five": { "summary": "5 Results", "value": 5 } }, "in": "query", "name": "c:limit", "schema": { "maximum": 100000, "minimum": 1, "type": "integer" } }, { "description": "The `ps2/character` collection is distributed across 20 distinct databases. The per-DB limit may be more predictable in some use-cases. If set, `c:limit` will be ignored. For collections other than `ps2/character`, this parameter falls behaves exactly like `c:limit`.", "examples": { "five": { "summary": "1 Result per DB", "value": 1 } }, "in": "query", "name": "c:limitPerDB", "schema": { "maximum": 5000, "minimum": 1, "type": "integer" } }, { "description": "Skips the first N results from the result list. Together with `c:limit`, can be used for pagination. Note that sorting may be required to get consistent orderings. Due to the multiple databases used, this behaves unusually for the `ps2/character` collection.", "examples": { "five": { "summary": "Skip first 10 Results", "value": 10 }, "notSet": { "summary": "Unset", "value": 0 } }, "in": "query", "name": "c:start", "schema": { "minimum": 0, "type": "integer" } }, { "description": "Whether to include response keys for NULL values, rather than omitting them. Note that this does not return the canonical `null`, but the string `\"NULL\"`.", "examples": { "five": { "summary": "Enabled", "value": "true" } }, "in": "query", "name": "c:includeNull", "schema": { "enum": [ "true", "false", "1", "0" ], "type": "string" } }, { "description": "By default, localized fields such as `ps2/item.name` will return results for all supported locales. This field allows specifying a single locale to return, greatly reducing response payload size.", "examples": { "enOnly": { "summary": "Only EN locale", "value": "en" } }, "in": "query", "name": "c:lang", "schema": { "enum": [ "en", "de", "es", "fr", "it", "tr" ], "type": "string" } }, { "description": "Similar to `c:resolve`, but allows specifying arbitrary subqueries to add to the response. For details, see the [Census API documentation](https://census.daybreakgames.com/#collection-joining) or the community [Census API Primer](https://github.com/leonhard-s/auraxium/wiki/Census-API-Primer#joined-queries).", "examples": { "characterOnlineStatus": { "summary": "Character online status", "value": "characters_online_status^show:online_status" }, "charctersWorld": { "summary": "Character with game server", "value": "characers_world" }, "notSet": { "summary": "Unset", "value": "" } }, "explode": false, "in": "query", "name": "c:join", "schema": { "type": "string" }, "style": "form" }, { "description": "Allows rearranging lists of result into a tree. See the [Census API documentation](https://census.daybreakgames.com/#tree-reformatting) for deatils.", "in": "query", "name": "c:tree", "schema": { "type": "string" } }, { "description": "Adds the top-level field `timing` containing timing information to the result object. For queries using `c:resolve` or `c:join`, this also contains information about the subqueries.", "examples": { "timing": { "summary": "With timing info", "value": "true" } }, "in": "query", "name": "c:timing", "schema": { "enum": [ "true", "false", "0", "1" ], "type": "string" } }, { "description": "When performing fuzzy string queries, such as `^` (startswith) or `*` (contains), promote any match exactly matching the full input string to the top of the search list. Useful for user-facing name lookups.", "in": "query", "name": "c:exactMatchFirst", "schema": { "enum": [ "true", "false", "0", "1" ], "type": "string" } }, { "description": "Instead of fetching results, list all distinct values for a given field. Note that this may include duplicate entries for `ps2/character` due to the multiple databases. Results are truncated to 20'000 values.", "examples": { "factions": { "summary": "Unique factions", "value": "faction_id" }, "notSet": { "summary": "Unset", "value": "" }, "profiles": { "summary": "Unique profiles", "value": "profile_id" } }, "in": "query", "name": "c:distinct", "schema": { "type": "string" } }, { "description": "By default, the API will retry any queries once before failing. By setting this value to `false`, you can fail earlier, which can be useful if you have your own retry mechanisms or logging configuration.", "examples": { "noRetry": { "summary": "Retry disabled", "value": "false" } }, "in": "query", "name": "c:retry", "schema": { "enum": [ "true", "false", "0", "1" ], "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "examples": { "characterInfo": { "value": { "character_list": [ { "name": { "first": "360Xvortex" }, "faction_id": "3", "battle_rank": { "value": "1" }, "prestige_level": "0" } ], "returned": 1 } }, "factionTags": { "value": { "count": 5, "faction_list": [ { "code_tag": [ "NC", "None", "NSO", "TR", "VS" ] } ], "returned": 1 } }, "mapFacilities": { "value": { "map_list": [ { "ZoneId": "2", "Regions": { "IsList": "1", "Row": [ { "RowData": { "RegionId": "2101", "FactionId": "3", "map_region": { "map_region_id": "2101", "zone_id": "2", "facility_id": "7500", "facility_name": "Hvar", "facility_type_id": "4", "facility_type": "Tech Plant", "location_x": "-656.0273", "location_y": "491.7669", "location_z": "-2444.069", "reward_amount": "1", "reward_currency_id": "1000" } } } ] } } ], "returned": 1 } } }, "schema": { "properties": { "count": { "minimum": 0, "type": "integer", "summary": "Only included if `c:distinct` is used." }, "returned": { "minimum": 0, "type": "integer" }, "timing": { "properties": { "total-ms": { "type": "integer" } }, "summary": "Only included if `c:timing` is enabled.", "type": "object" } }, "patternProperties": { "^(\\w+_list)$": { "items": {}, "type": "array" } }, "type": "object" } } }, "description": "OK" }, "4XX": { "description": "The Census API does not use HTTP status codes to indicate errors." } }, "summary": "/get/{game}/{collection}", "tags": [ "API Endpoints" ] } } }, "components": { "schemas": { "localized_string": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "ability": { "type": "object", "description": "An ability triggered by a character or vehicle.\n\nAbilities in the API are more generic than the in-game abilities and also cover other mechanics such as scopes and consumables.\n\nThe generic fields `paramX` and `stringX` are documented in the the corresponding `ability_type` entry.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "ability_id": { "description": "Unique identifier of the ability.", "type": "string", "x-cast-to": "int32" }, "ability_type_id": { "description": "Unique identifier of the ability's type.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ps2/ability_type" }, "distance_max": { "description": "Maximum cast range of the ability for targeted abilities, such as the Nano-Repair Kit (aka. repair gun).", "type": "string", "x-cast-to": "float" }, "expire_msec": { "description": "Duration of the ability in milliseconds.", "type": "string", "x-cast-to": "int32" }, "first_use_delay_msec": { "description": "Initial delay before the ability can be used for the first time in milliseconds.", "type": "string", "x-cast-to": "int32" }, "flag_toggle": { "description": "Whether the ability is toggled.", "type": "string", "x-cast-to": "boolean" }, "next_use_delay_msec": { "description": "Reuse cooldown for toggled abilities (mostly cloaks) in milliseconds", "type": "string", "x-cast-to": "int32" }, "param1": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param10": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param11": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param12": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param13": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param14": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param2": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param3": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param4": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param5": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param6": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param7": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param8": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "param9": { "description": "Generic numeric parameter. See the corresponding `ps2/ability_type` for details.", "type": "string", "x-cast-to": "float" }, "radius_max": { "description": "Effect radius of the ability, such as the Nano Regen Device (aka. AoE heal).", "type": "string", "x-cast-to": "float" }, "resource_cost_per_msec": { "description": "Cost per millisecond for keeping the ability active.", "type": "string", "x-cast-to": "float" }, "resource_first_cost": { "description": "Initial cost for activating the ability.", "type": "string", "x-cast-to": "float" }, "resource_type_id": { "description": "Unique identifier of the resource type consumed by the ability.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ps2/resource_type" }, "reuse_delay_msec": { "description": "Ability cooldown in milliseconds.", "type": "string", "x-cast-to": "int32" }, "string1": { "description": "Generic string field. See the corresponding `ps2/ability_type` for details.", "type": "string" }, "string2": { "description": "Generic string field. See the corresponding `ps2/ability_type` for details.", "type": "string" }, "string3": { "description": "Generic string field. See the corresponding `ps2/ability_type` for details.", "type": "string" }, "string4": { "description": "Generic string field. See the corresponding `ps2/ability_type` for details.", "type": "string" } }, "required": [ "ability_id", "ability_type_id" ], "examples": [ { "ability_list": [ { "ability_id": "7719", "ability_type_id": "10", "resource_type_id": "38", "resource_first_cost": "0.32", "resource_cost_per_msec": "0.32", "radius_max": "7", "flag_toggle": "1" } ], "returned": 1 } ] }, "ability_type": { "type": "object", "description": "A type of ability.\n\nThe generic fields `paramX` and `stringX` are documented here. Note that most of these generic fields are currently not used.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "ability_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "description": { "description": "Description of the ability type.", "type": "string" }, "param1": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param10": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param11": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param12": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param13": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param14": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param2": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param3": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param4": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param5": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param6": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param7": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param8": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "param9": { "description": "Documentation for this numeric parameter on abilities of this type.", "type": "string" }, "string1": { "description": "Documentation for this string parameter on abilities of this type.", "type": "string" }, "string2": { "description": "Documentation for this string parameter on abilities of this type.", "type": "string" }, "string3": { "description": "Documentation for this string parameter on abilities of this type.", "type": "string" }, "string4": { "description": "Documentation for this string parameter on abilities of this type.", "type": "string" } }, "required": [ "ability_type_id" ], "examples": [ { "ability_type_list": [ { "ability_type_id": "3" }, { "ability_type_id": "4" }, { "ability_type_id": "5", "description": "Target not used" }, { "ability_type_id": "6" }, { "ability_type_id": "8" }, { "ability_type_id": "10", "param1": "Check Target Requirement Periodically" }, { "ability_type_id": "12" }, { "ability_type_id": "13" }, { "ability_type_id": "16" }, { "ability_type_id": "17", "param1": "Check Target Requirement Periodically" }, { "ability_type_id": "19" }, { "ability_type_id": "26", "description": "Stays locked on first valid target found" }, { "ability_type_id": "30" }, { "ability_type_id": "34", "description": "MountedVehicleMaintainOnGuid" } ], "returned": 14 } ] }, "achievement": { "type": "object", "description": "Endpoint for weapon medals and service ribbons.\n\nThere is no \"achievement type\" collection or field, but they can be grouped by the `repeatable` field, which is only true for service ribbons.\n", "x-tags": [ "Progression" ], "properties": { "achievement_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "ID of the image associated with this achievement.", "type": "string", "x-cast-to": "int32" }, "image_path": { "description": "Path to the image associated with this achievement.", "type": "string" }, "image_set_id": { "description": "ID of the image set associated with this achievement.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "ID of the item associated with this achievement. Can be used to associate weapons with their medals/ribbon.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "objective_group_id": { "description": "ID of the objective group counting towards this achievement.", "type": "string", "x-cast-to": "int32" }, "repeatable": { "description": "Whether this achievement can be gained more than once. True for ribbons, false for medals.", "type": "string", "x-cast-to": "bool" }, "reward_id": { "description": "ID of the reward granted upon completion of this achievement.", "type": "string", "x-cast-to": "int32" } }, "required": [ "achievement_id", "item_id" ], "examples": [ { "achievement_list": [ { "achievement_id": "12411", "item_id": "1894", "objective_group_id": "12411", "reward_id": "100", "repeatable": "0", "name": { "de": "Betelgeuse 54-A", "en": "Betelgeuse 54-A", "es": "Betelgeuse 54-A", "fr": "B\u00e9telgeuse 54-A", "it": "Betelgeuse 54-A" }, "description": { "de": "10 Feinde get\u00f6tet", "en": "10 Enemies Killed", "es": "10 enemigos muertos", "fr": "10 ennemis tu\u00e9s", "it": "10 nemici uccisi", "tr": "10 D\u00fc\u015fman \u00d6ld\u00fcr\u00fcld\u00fc" }, "image_set_id": "1564", "image_id": "3072", "image_path": "/files/ps2/images/static/3072.png" }, { "achievement_id": "12412", "item_id": "1894", "objective_group_id": "12412", "reward_id": "101", "repeatable": "0", "name": { "de": "Betelgeuse 54-A", "en": "Betelgeuse 54-A", "es": "Betelgeuse 54-A", "fr": "B\u00e9telgeuse 54-A", "it": "Betelgeuse 54-A" }, "description": { "de": "50 Feinde get\u00f6tet", "en": "50 Enemies Killed", "es": "50 enemigos muertos", "fr": "50 ennemis tu\u00e9s", "it": "50 nemici uccisi", "tr": "50 D\u00fc\u015fman \u00d6ld\u00fcr\u00fcld\u00fc" }, "image_set_id": "1565", "image_id": "3079", "image_path": "/files/ps2/images/static/3079.png" }, { "achievement_id": "12413", "item_id": "1894", "objective_group_id": "12413", "reward_id": "102", "repeatable": "0", "name": { "de": "Betelgeuse 54-A", "en": "Betelgeuse 54-A", "es": "Betelgeuse 54-A", "fr": "B\u00e9telgeuse 54-A", "it": "Betelgeuse 54-A" }, "description": { "de": "100 Feinde get\u00f6tet", "en": "100 Enemies Killed", "es": "100 enemigos muertos", "fr": "100 ennemis tu\u00e9s", "it": "100 nemici uccisi", "tr": "100 D\u00fc\u015fman \u00d6ld\u00fcr\u00fcld\u00fc" }, "image_set_id": "1566", "image_id": "3075", "image_path": "/files/ps2/images/static/3075.png" }, { "achievement_id": "12414", "item_id": "1894", "objective_group_id": "12414", "reward_id": "615", "repeatable": "0", "name": { "de": "Betelgeuse 54-A", "en": "Betelgeuse 54-A", "es": "Betelgeuse 54-A", "fr": "B\u00e9telgeuse 54-A", "it": "Betelgeuse 54-A" }, "description": { "de": "1000 Feinde get\u00f6tet", "en": "1000 Enemies Killed", "es": "1000 enemigos muertos", "fr": "1 000 ennemis tu\u00e9s", "it": "1000 nemici uccisi", "tr": "1000 D\u00fc\u015fman \u00d6ld\u00fcr\u00fcld\u00fc" }, "image_set_id": "1567", "image_id": "3068", "image_path": "/files/ps2/images/static/3068.png" } ], "returned": 4 }, { "achievement_list": [ { "achievement_id": "2554", "item_id": "0", "objective_group_id": "2554", "reward_id": "3019", "repeatable": "1", "name": { "de": "Heilung l\u00e4uft", "en": "Healing", "es": "Curaci\u00f3n", "fr": "Gu\u00e9rison en cours", "it": "Guarigione", "tr": "\u0130yile\u015ftiriliyor" }, "description": { "de": "Sanit\u00e4ter k\u00f6nnen schnell den Schaden heilen, der verb\u00fcndeten Truppen zugef\u00fcgt wurde und sie dadurch l\u00e4nger im Kampf behalten.", "en": "Medics can quickly heal damage that has been done to allied troops keeping in the fight longer.", "es": "Los m\u00e9dicos pueden curar a las tropas aliadas r\u00e1pidamente para mantenerlas m\u00e1s tiempo en combate.", "fr": "Les M\u00e9decins peuvent gu\u00e9rir rapidement les d\u00e9g\u00e2ts inflig\u00e9s aux troupes alli\u00e9es et les garder plus longtemps au combat. ", "it": "I medici possono velocemente guarire i danni inferti alle truppe alleate facendole restare pi\u00f9 a lungo nel combattimento.", "tr": "S\u0131hh\u0131yeler m\u00fcttefik askerlerin daha uzun s\u00fcre sava\u015fmalar\u0131n\u0131 sa\u011flamak i\u00e7in h\u0131zl\u0131ca yaralar\u0131 sarabilirler." }, "image_set_id": "7996", "image_id": "8440", "image_path": "/files/ps2/images/static/8440.png" } ], "returned": 1 } ] }, "armor_facing": { "type": "object", "description": "Enumerates the armor facing angles used for directional damage reduction on vehicles.\n", "x-tags": [ "Damage Calculation" ], "properties": { "armor_facing_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "description": { "description": "Description of the armor facing direction.", "type": "string" } }, "required": [ "armor_facing_id", "description" ], "examples": [ { "armor_facing_list": [ { "armor_facing_id": "0", "description": "Front" }, { "armor_facing_id": "1", "description": "Right" }, { "armor_facing_id": "2", "description": "Top" }, { "armor_facing_id": "3", "description": "Rear" }, { "armor_facing_id": "4", "description": "Left" }, { "armor_facing_id": "5", "description": "Bottom" }, { "armor_facing_id": "6", "description": "All" } ], "returned": 7 } ] }, "armor_info": { "type": "object", "description": "description: A set of armor values for each armor facing angle on a vehicle.\n", "x-tags": [ "Damage Calculation" ], "properties": { "armor_amount": { "description": "Flat damage reduction applied to incoming damage. Only used in the tutorial to make target dummies invincible.", "type": "string", "x-cast-to": "int32" }, "armor_facing_id": { "description": "ID of the armor facing direction.", "type": "string", "x-cast-to": "int32" }, "armor_info_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "armor_percent": { "description": "Damage reduction in percent. Negative values increase damage taken.", "type": "string", "x-cast-to": "float" }, "description": { "description": "Description of the armor info entry.", "type": "string" } }, "required": [ "armor_info_id", "armor_facing_id" ], "examples": [ { "armor_info_list": [ { "armor_info_id": "20", "armor_facing_id": "0", "armor_percent": "0", "description": "Sunderer - Front" }, { "armor_info_id": "21", "armor_facing_id": "1", "armor_percent": "0", "description": "Sunderer - Right" }, { "armor_info_id": "22", "armor_facing_id": "2", "armor_percent": "0", "description": "Sunderer - Top" }, { "armor_info_id": "23", "armor_facing_id": "3", "armor_percent": "0", "description": "Sunderer - Rear" }, { "armor_info_id": "24", "armor_facing_id": "4", "armor_percent": "0", "description": "Sunderer - Left" }, { "armor_info_id": "25", "armor_facing_id": "5", "armor_percent": "0", "description": "Sunderer - Bottom" } ], "returned": 6 } ] }, "character": { "type": "object", "description": "Main `character` collection holding player data.\n\nThis collection is randomly distributed across 20 different databases, causing some unusual behaviour when filtering. For example, the `c:distinct` parameter will fetch the distinct values for each database and aggregate them in the response, resulting in duplicate entries.\n\nIn addition to the commonly-used parameters provided, this endpoint may be queried by any of its fields, including sub-keys like `times.creation`.\n", "x-tags": [ "Character Information" ], "properties": { "battle_rank": { "description": "Sub-object providing battle rank information.", "properties": { "percent_to_next": { "description": "Progress to the next level-up.", "type": "string", "x-cast-to": "float" }, "value": { "description": "Current battle rank. Note that due to the A.S.P. prestige system, this is no longer sufficient to express player level. Always check `prestige_level` as well.", "type": "string" } }, "type": "object" }, "certs": { "description": "Sub-object providing certification point information.", "properties": { "available_points": { "description": "Current certification point balance.", "type": "string", "x-cast-to": "int32" }, "earned_points": { "description": "Certifications earned through experience gain.", "type": "string", "x-cast-to": "int32" }, "gifted_points": { "description": "Certifications gifted through in-game events or refunds.", "type": "string", "x-cast-to": "int32" }, "percent_to_next": { "description": "Progress to earning the next certification point (every 250 exp).", "type": "string", "x-cast-to": "float" }, "spent_points": { "description": "Certifications points spent on skills and implant bundles.", "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "character_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int64" }, "daily_ribbon": { "description": "Sub-object for daily ribbon bonuses. Note that ribbon bonuses have been disabled, rendering this object useless. It is recommended to treat is as optional in client code in case it ever gets removed from the response object.", "properties": { "count": { "description": "Number of daily ribbon bonuses available for collection.", "type": "string", "x-cast-to": "int32" }, "date": { "description": "Human-readable version of `time`.", "type": "string" }, "time": { "description": "Next time a daily ribbon bonus will be granted.", "type": "string" } }, "type": "object" }, "faction_id": { "description": "Faction of the character. For NSOs, this equals the value of NSOs. An NSOs currently or home faction is not exposed on the REST API, but can be determined via the `team_id` of some WebSocket payloads.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "head_id": { "description": "Identifier for the character's in-game model. Note that with gender change tokens, this is no longer guaranteed to be immutable across a character's career.", "type": "string", "x-cast-to": "int32" }, "name": { "description": "Name of the character. Use the `first_lower` field for faster case-insensitive searches without needing to set `c:case=false`.", "properties": { "first": { "type": "string" }, "first_lower": { "type": "string" } }, "type": "object" }, "prestige_level": { "description": "The A.S.P. rank of the character.", "type": "string", "x-cast-to": "int32" }, "profile_id": { "description": "Class of the character when the last logged off. This value can generally only be one of the 24 infantry classes available in the legacy `ps2/profile` collection, though other values are possible due to bad data or deleted characters.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "times": { "description": "Sub-object providing login time and playtime information.", "properties": { "creation": { "description": "Character creation timestamp in UTC.", "type": "string" }, "creation_date": { "description": "Human-readable version of `creation`.", "type": "string" }, "last_login": { "description": "Last time the character logged in. Together with `last_save`, this can be used to construct the duration of the last play session of the character.", "type": "string" }, "last_login_date": { "description": "Human-readable version of `last_login`.", "type": "string" }, "last_save": { "description": "Last time the character info was updated. This generally corresponds to the last time the character logged off. For this reason, characters are generally not available on the API during their first play session.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "login_count": { "description": "Number of individual logins by the character.", "type": "string", "x-cast-to": "int32" }, "minutes_played": { "description": "Total playtime in minutes.", "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "title_id": { "description": "Currently selected title of the character. Useful for playing long names of players, e.g. \"Snowblower Higby\". A title ID of `0` corresponds to a player having selected \"No Title\" in-game.", "type": "string", "x-cast-to": "int32", "x-reference-to": "title.title_id" } }, "required": [ "character_id" ], "examples": [ { "character_list": [ { "character_id": "5428010618015189601", "name": { "first": "Higby", "first_lower": "higby" }, "faction_id": "2", "head_id": "1", "title_id": "100", "times": { "creation": "1353427357", "creation_date": "2012-11-20 16:02:37.0", "last_save": "1669323771", "last_save_date": "2022-11-24 21:02:51.0", "last_login": "1669320455", "last_login_date": "2022-11-24 20:07:35.0", "login_count": "1738", "minutes_played": "75517" }, "certs": { "earned_points": "214706", "gifted_points": "78844", "spent_points": "257491", "available_points": "36059", "percent_to_next": "0.1721388888362" }, "battle_rank": { "percent_to_next": "2", "value": "101" }, "profile_id": "4", "daily_ribbon": { "count": "0", "time": "1669248000", "date": "2022-11-24 00:00:00.0" }, "prestige_level": "0" } ], "returned": 1 } ] }, "character_name": { "type": "object", "description": "Optimized, low-bandwidth endpoint for character name resolution.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int64" }, "name": { "description": "Name of the character. Use the `first_lower` field for faster case-insensitive searches without needing to set `c:case=false`.\n", "properties": { "first": { "type": "string" }, "first_lower": { "type": "string" } }, "type": "object" } }, "required": [ "character_id", "name" ], "examples": [ { "character_name_list": [ { "character_id": "5428010618015189601", "name": { "first": "Higby", "first_lower": "higby" } } ], "returned": 1 } ] }, "characters_achievement": { "type": "object", "description": "List the achievement progress for a character.\n", "x-tags": [ "Character Information" ], "properties": { "achievement_id": { "description": "Unique ID of the achievement being returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "achievement.achievement_id" }, "character_id": { "description": "Character for which the achievement list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "earned_count": { "description": "Number of times the achievement has been earned. Only exceeds 1 for ribbons.", "type": "string", "x-cast-to": "int32" }, "finish": { "description": "UTC timestamp of when this achievement was completed. Remains at zero for repeatable achievements.", "type": "string" }, "finish_date": { "description": "Human-readable version of `finish`.", "type": "string" }, "last_save": { "description": "UTC timestamp of when the underlying table was updated.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "start": { "description": "UTC timestamp of when progression towards this achievement started. For repeatable achievements, this marks the last time the achievement was gained.", "type": "string" }, "start_date": { "description": "Human-readable version of `start`.", "type": "string" } }, "required": [ "character_id", "achievement_id" ], "examples": [ { "characters_achievement_list": [ { "character_id": "5428010618015189601", "achievement_id": "113", "earned_count": "1", "start": "1384645540", "start_date": "2013-11-16 23:45:40.0", "finish": "1404874213", "finish_date": "2014-07-09 02:50:13.0", "last_save": "1412784696", "last_save_date": "2014-10-08 16:11:36.142294" } ], "returned": 1 }, { "characters_achievement_list": [ { "character_id": "5428010618015189601", "achievement_id": "2552", "earned_count": "468", "start": "1432682221", "start_date": "2015-05-26 23:17:01.0", "finish": "0", "finish_date": "1970-01-01 00:00:00.0", "last_save": "1432659069", "last_save_date": "2015-05-26 16:51:09.0" } ], "returned": 1 } ] }, "characters_currency": { "type": "object", "description": "Lists the currencies owned by a character.\n\nNote that this table has been inconsistent since the introduction of the A.S.P. system: in addition to the currency value (Nanites), an extra `prestige_currency` key has been added, rather than being its own currency.\n", "x-tags": [ "Character Information" ], "allOf": [ { "type": "object", "properties": { "currency_id": { "description": "Unique ID of the currency being returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "currency.currency_id" }, "currency_name": { "description": "Internal name of the currency being returned.", "type": "string" }, "prestige_currency": { "description": "Number of A.S.P. tokens available to the character.", "type": "string", "x-cast-to": "int32" }, "quantity": { "description": "Amount of currency the character owns.", "type": "string", "x-cast-to": "int32" } } }, { "properties": { "character_id": { "description": "Character for which the currency list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "currency_id" ] }, "characters_directive_objective": { "type": "object", "description": "Current progress of a character within a directive.\n\nThe current value of the directive progress can be found in the `state_data` field of this endpoint. The corresponding target value is found in the corresponding `objective`, usually in the `param1` field.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the directive objective status is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "directive_id": { "description": "ID of the directive for which objective status is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive.directive_id" }, "objective_group_id": { "description": "ID of the objective group for which status is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective_group.objective_group_id" }, "objective_id": { "description": "ID of the objective for which status is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective.objective_id" }, "state_data": { "description": "Progress of the character of the objective. This is the \"current\" value of the progress. The total can be found in the corresponding `objective`, usually under `param1`.", "type": "string", "x-cast-to": "int32" }, "status": { "description": "Unknown.", "type": "string", "x-cast-to": "boolean" } }, "required": [ "character_id", "directive_id", "objective_id", "objective_group_id" ], "examples": [ { "characters_directive_objective_list": [ { "character_id": "5428010618015189601", "directive_id": "1732", "objective_id": "13402", "objective_group_id": "13402", "status": "1", "state_data": "42" } ], "returned": 1 } ] }, "characters_directive_tier": { "type": "object", "description": "Directive tier completion information for a character.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the directive tier list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "completion_time": { "description": "UTC timestamp of when the directive tier was completed. Zero if not completed.", "type": "string" }, "completion_time_date": { "description": "Human-readable version of `completion_time`.", "type": "string" }, "directive_tier_id": { "description": "ID of the directive tier.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tier.directive_tier_id" }, "directive_tree_id": { "description": "ID of the directive tree containing the directive.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree.directive_tree_id" } }, "required": [ "character_id", "directive_tier_id", "directive_tree_id" ], "examples": [ { "characters_directive_tier_list": [ { "character_id": "5428010618015189601", "directive_tree_id": "4", "directive_tier_id": "1", "completion_time": "1585080577", "completion_time_date": "2020-03-24 20:09:37.0" } ], "returned": 1 } ] }, "characters_directive_tree": { "type": "object", "description": "Directive tree completion information for a character.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the directive tree list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "completion_time": { "description": "UTC timestamp of when the directive tree was completed. Zero if not completed.", "type": "string" }, "completion_time_date": { "description": "Human-readable version of `completion_time`.", "type": "string" }, "current_directive_tier_id": { "description": "Unique ID of the directive tier the character is currently on.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tier.directive_tier_id" }, "current_level": { "description": "Defunct field. Always returns zero.", "type": "string", "x-cast-to": "int32" }, "directive_tree_id": { "description": "ID of the directive tree.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree.directive_tree_id" } }, "required": [ "character_id", "directive_tree_id" ], "examples": [ { "characters_directive_tree_list": [ { "character_id": "5428010618015189601", "directive_tree_id": "4", "current_directive_tier_id": "5", "current_level": "0", "completion_time": "1585080577", "completion_time_date": "2020-03-24 20:09:37.0" } ], "returned": 1 } ] }, "characters_directive": { "type": "object", "description": "Directive completion information for a character.\n\nNote that this also lists entries for incomplete directives; use the `completion_time` field to determine whether a directive has been completed.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the directive list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "completion_time": { "description": "UTC timestamp of when the directive was completed. Zero if not completed.", "type": "string" }, "completion_time_date": { "description": "Human-readable version of `completion_time`.", "type": "string" }, "directive_id": { "description": "ID of the directive.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive.directive_id" }, "directive_tree_id": { "description": "ID of the directive tree containing the directive.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree.directive_tree_id" } }, "required": [ "character_id", "directive_id", "directive_tree_id" ], "examples": [ { "characters_directive_list": [ { "character_id": "5428010618015189601", "directive_tree_id": "28", "directive_id": "141", "completion_time": "1585080577", "completion_time_date": "2020-03-24 20:09:37.0" } ], "returned": 1 } ] }, "characters_event": { "description": "ReST endpoint for retrieving historical character event data.\n\nLike `event`, but allows querying by character. The `character_id` and `id` fields are interchangeable.\n", "x-tags": [ "Event History" ], "oneOf": [ { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "battle_rank": { "description": "The new battle rank of the character.", "type": "string", "x-cast-to": "int32" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "context": { "description": "Identifier string for the conext in which the item was granted.", "type": "string" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "item_count": { "description": "The number of items that were added.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "The ID of the item that was added.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "achievement_id": { "description": "The ID of the achievement that was granted.", "type": "string", "x-cast-to": "int32", "x-reference-to": "achievement.achievement_id" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "The ID of the character that performed the kill.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_fire_mode_id": { "description": "The ID of the fire mode that was used to perform the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_2.fire_mode_id" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they performed the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to perform the kill. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "character_loadout_id": { "description": "The ID of the loadout that the dying player was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "is_critical": { "description": "Whether or not the kill was a critical hit. Not currently used by PlanetSide 2.", "type": "string", "x-cast-to": "bool" }, "is_headshot": { "description": "Whether or not the kill was a headshot.", "type": "string", "x-cast-to": "bool" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "The ID of the character that performed the kill.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_fire_mode_id": { "description": "The ID of the fire mode that was used to perform the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_2.fire_mode_id" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they performed the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to perform the kill. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "character_loadout_id": { "description": "The ID of the loadout that the dying player was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "is_critical": { "description": "Whether or not the kill was a critical hit. Not currently used by PlanetSide 2.", "type": "string", "x-cast-to": "bool" }, "is_headshot": { "description": "Whether or not the kill was a headshot.", "type": "string", "x-cast-to": "bool" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "Unique ID of the player that destroyed the vehicle.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_loadout_id": { "description": "The ID of the loadout that the attacker was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "attacker_player_guid": { "description": "Unknown. Generally identical to `attacker_character_id`.", "type": "string", "x-cast-to": "int64" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they destroyed the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to destroy the vehicle. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "faction_id": { "description": "The ID of the faction that the vehicle belonged to.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "projectile_id": { "description": "Unknown. The IDs provided in this field are not available on the `projectile` endpoint.", "type": "string", "x-cast-to": "int32" }, "vehicle_definition_id": { "description": "The ID of the vehicle that was destroyed.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string" }, "facility_id": { "description": "The ID of the facility that was captured.", "type": "string", "x-cast-to": "int32", "x-reference-to": "facility.facility_id" }, "outfit_id": { "description": "The ID of the outfit that captured the facility, or the facility that owns the facility at the time of defence.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" } }, "type": "object" } ] } ], "required": [ "character_id", "event_type", "world_id", "zone_id" ] }, "characters_event_grouped": { "type": "object", "description": "Return character vs. character statistics.\n\nAllows calculating player vs. player KDR.\n", "x-tags": [ "Event History" ], "properties": { "character_id": { "description": "Other character for which the event list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "count": { "description": "Number of matching events.", "type": "string", "x-cast-to": "int32" }, "table_type": { "description": "Type of event being returned.", "enum": [ "KILL", "DEATH" ], "type": "string" } }, "required": [ "character_id", "table_type" ] }, "characters_friend": { "type": "object", "description": "Query the friends list of a character.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the friends list is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "friend_list": { "items": { "properties": { "character_id": { "description": "Character ID of the friend.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "last_login_time": { "description": "Last time the friend logged in.", "type": "string" }, "online": { "description": "Whether the friend is currently online. Offline players will return 0, otherwise the value will be the `world_id` of the `ps2/world` they are online on.", "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "type": "array" }, "name": { "description": "Defunct.", "type": "string" } }, "required": [ "character_id" ], "examples": [ { "characters_friend_list": [ { "character_id": "5428010618015189601", "name": null, "friend_list": [ { "character_id": "5428010618014254785", "last_login_time": "1679721693", "online": "0" }, { "character_id": "5428010618014429969", "last_login_time": "1658899596", "online": "0" }, { "character_id": "5428010618015193969", "last_login_time": "1679718619", "online": "0" } ] } ], "returned": 1 } ] }, "characters_item": { "description": "Query the items of a character. Note that this collection no longer lists account-wide item unlocks as this served as a fingerprint to identify players across multiple characters.\n", "x-tags": [ "Character Information" ], "allOf": [ { "properties": { "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" } }, "type": "object", "required": [ "item_id" ] }, { "properties": { "character_id": { "description": "Character side of the relationship.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "item_id" ] }, "characters_leaderboard": { "type": "object", "description": "Query the leaderboard for a character. Note that only the top 10'000 players for a given statistic are tracked in the leaderboard; many characters will not have an entry in this collection.\n\nThe `limit` key inserted into the response indicates the number of requested entries when passing multiple character IDs. Comparison with `returned` may be used to determine whether any characters were skipped due to not being in the leaderboard.\n", "x-tags": [ "Leaderboards" ], "properties": { "character_id": { "description": "The ID of the character.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "rank": { "description": "The rank of the character for the given statistic.", "type": "string", "x-cast-to": "int32" }, "value": { "description": "The all-time value of the given statistic.", "type": "string", "x-cast-to": "int32" } }, "required": [ "character_id", "rank", "value" ], "examples": [ { "limit": 1, "characters_leaderboard_list": [ { "character_id": "5428010618015189601", "value": "68754", "rank": "6583" } ], "returned": 1, "key": "Forever_Kills", "count": 10000 } ] }, "characters_online_status": { "type": "object", "description": "Query the online status of a character\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the online status is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "online_status": { "description": "Whether the character is currently online. Offline players will return 0, otherwise the value will be the `world_id` of the `ps2/world` they are online on.", "type": "string", "x-cast-to": "int32" } }, "required": [ "character_id" ], "examples": [ { "characters_online_status_list": [ { "character_id": "5428010618015189601", "online_status": "0" } ], "returned": 1 } ] }, "characters_skill": { "type": "object", "description": "List the skills unlocked by a character.\nThis is used for both certifications and A.S.P. skills.\n", "properties": { "character_id": { "description": "Character side of the relationship.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "last_save": { "description": "UTC timestamp of when the underlying table was updated.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "skill_id": { "description": "Skill side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill.skill_id" } }, "required": [ "character_id", "skill_id" ], "examples": [ { "characters_skill_list": [ { "character_id": "5428010618015189601", "skill_id": "113", "last_save": "1412784699", "last_save_date": "2014-10-08 16:11:39.389" } ], "returned": 1 } ] }, "characters_stat": { "description": "Basic statistics endpoint for character-wide and class-specific\nstatistics.\n\n- `stat_name` lists the name of the stat\n- `profile` represents the class, with a value of 0 denoting a character-wide value\n", "x-tags": [ "Statistics" ], "allOf": [ { "properties": { "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "profile_id": { "description": "Class for which stats are being returne.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" }, "value_daily": { "description": "Value of the stat for the last 24 hours.", "type": "string", "x-cast-to": "int32" }, "value_forever": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "value_monthly": { "description": "Value of the stat for the last 30 days.", "type": "string", "x-cast-to": "int32" }, "value_one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "value_weekly": { "description": "Value of the stat for the last 7 days.", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "stat_name" ] }, { "properties": { "character_id": { "description": "Character for which the stats are being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "stat_name" ] }, "characters_stat_by_faction": { "description": "Faction-specific statistics endpoint. Useful for determining faction bias or kill spread.\n\n- `stat_name` lists the name of the stat\n- `profile` represents the class, with a value of 0 denoting a character-wide value\n\nAll `value_*` fields are provided per-faction. Note that the value for the own faction is\noften blanked: `value_nc` of the stat `kills` cannot be used to enumerate an NC character's\nteam kills, for example.\n", "x-tags": [ "Statistics" ], "allOf": [ { "properties": { "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "profile_id": { "description": "Class for which stats are being returne.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" }, "value_daily_nc": { "description": "Value of the stat for the last 24 hours (NC).", "type": "string", "x-cast-to": "int32" }, "value_daily_tr": { "description": "Value of the stat for the last 24 hours (TR).", "type": "string", "x-cast-to": "int32" }, "value_daily_vs": { "description": "Value of the stat for the last 24 hours (VS).", "type": "string", "x-cast-to": "int32" }, "value_forever_nc": { "description": "All-time value of the stat (NC).", "type": "string", "x-cast-to": "int32" }, "value_forever_tr": { "description": "All-time value of the stat (TR).", "type": "string", "x-cast-to": "int32" }, "value_forever_vs": { "description": "All-time value of the stat (VS).", "type": "string", "x-cast-to": "int32" }, "value_monthly_nc": { "description": "Value of the stat for the last 30 days (NC).", "type": "string", "x-cast-to": "int32" }, "value_monthly_tr": { "description": "Value of the stat for the last 30 days (TR).", "type": "string", "x-cast-to": "int32" }, "value_monthly_vs": { "description": "Value of the stat for the last 30 days (VS).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_nc": { "description": "Highest value of the stat in a single life (NC).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_tr": { "description": "Highest value of the stat in a single life (TR).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_vs": { "description": "Highest value of the stat in a single life (VS).", "type": "string", "x-cast-to": "int32" }, "value_weekly_nc": { "description": "Value of the stat for the last 7 days (NC).", "type": "string", "x-cast-to": "int32" }, "value_weekly_tr": { "description": "Value of the stat for the last 7 days (TR).", "type": "string", "x-cast-to": "int32" }, "value_weekly_vs": { "description": "Value of the stat for the last 7 days (VS).", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "profile_id", "stat_name" ] }, { "properties": { "character_id": { "description": "Character for which the stats are being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "profile_id", "stat_name" ] }, "characters_stat_history": { "description": "Statistics endpoint for historical character stats. In addition to the `all_time` and\n`one_life_max` keys, values are also provided for the last 31 days (`day`), 12 months\n(`month`), or 13 weeks (`week`).\n\n- `stat_name` lists the name of the stat\n- `profile` represents the class, with a value of 0 denoting a character-wide value\n", "x-tags": [ "Statistics" ], "allOf": [ { "properties": { "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "profile_id": { "description": "Class for which stats are being returne.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" }, "value_daily": { "description": "Value of the stat for the last 24 hours.", "type": "string", "x-cast-to": "int32" }, "value_forever": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "value_monthly": { "description": "Value of the stat for the last 30 days.", "type": "string", "x-cast-to": "int32" }, "value_one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "value_weekly": { "description": "Value of the stat for the last 7 days.", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "stat_name" ] }, { "properties": { "character_id": { "description": "Character for which the stats are being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" } }, "type": "object" } ], "required": [ "character_id", "stat_name" ] }, "characters_weapon_stat": { "description": "Weapon statistics endpoint containing generic values such as playtime or score while\nwielding. The most common use is calculating the accuracy of a player with a given weapon\nby dividing `weapon_hit_count` by `weapon_fire_count`.\n\n- `stat_name` lists the name of the stat\n- `item_id` identifies the item for the weapon. Note that this value can be zero, in that\n case it serves as a catch-all for all weapons for the given `vehicle_id`.\n- `vehicle_id` the vehicle on which the weapon is available.\n", "x-tags": [ "Statistics" ], "allOf": [ { "properties": { "item_id": { "description": "The ID of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "stat_name": { "description": "The name of the stat being recorded.", "type": "string", "x-reference-to": "characters_stat.stat_name" }, "value": { "description": "The all-time value of the given stat.", "type": "string", "x-cast-to": "int32" }, "vehicle_id": { "description": "The ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object", "required": [ "item_id", "stat_name" ] }, { "properties": { "character_id": { "description": "The ID of the character.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "item_id", "stat_name" ] }, "characters_weapon_stat_by_faction": { "description": "Faction-specific weapon statistics endpoint containing combat-focussed stats such as kills,\ndeaths, headshots and damage dealt/taken.\n\n- `stat_name` lists the name of the stat\n- `item_id` identifies the item for the weapon. Note that this value can be zero, in that\n case it serves as a catch-all for all weapons for the given `vehicle_id`.\n- `vehicle_id` the vehicle on which the weapon is available.\n", "x-tags": [ "Statistics" ], "allOf": [ { "properties": { "item_id": { "description": "The ID of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "stat_name": { "description": "The name of the stat being recorded.", "type": "string", "x-reference-to": "characters_stat.stat_name" }, "value_nc": { "description": "The all-time value of the given stat for the NC faction.", "type": "string", "x-cast-to": "int32" }, "value_tr": { "description": "The all-time value of the given stat for the TR faction.", "type": "string", "x-cast-to": "int32" }, "value_vs": { "description": "The all-time value of the given stat for the VS faction.", "type": "string", "x-cast-to": "int32" }, "vehicle_id": { "description": "The ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object", "required": [ "item_id", "stat_name" ] }, { "properties": { "character_id": { "description": "The ID of the character.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "item_id", "stat_name" ] }, "characters_world": { "type": "object", "description": "Query the game server a character is on.\n", "x-tags": [ "Character Information" ], "properties": { "character_id": { "description": "Character for which the world is being returned.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "world_id": { "description": "The `ps2/world` of the character.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" } }, "required": [ "character_id", "world_id" ], "examples": [ { "characters_world_list": [ { "character_id": "5428010618015189601", "world_id": "1" } ], "returned": 1 } ] }, "currency": { "type": "object", "description": "Lists currencies available in the game.\n\nAs of 2023-06-13, the only currency available are Nanites. Outfit resources and other currencies such as Daybreak Cash, ISO-4, or A7 are not available on the API, while Cert Points and A.S.P. tokens are stored in the `character` collection.\n", "x-tags": [ "Currency Information" ], "properties": { "currency_id": { "description": "Unique ID of the currency.", "type": "string", "x-cast-to": "int32" }, "icon_id": { "description": "Icon ID of the resource. This is actually an `image_set_id`.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "inventory_cap": { "description": "The maximum amount of this currency that can be held in a character's inventory.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "required": [ "currency_id" ], "examples": [ { "currency_list": [ { "currency_id": "4", "name": { "de": "Naniten", "en": "Nanites", "es": "Nanites", "fr": "Nanites", "it": "Naniti" }, "icon_id": "13606", "inventory_cap": "750" } ], "returned": 1 } ] }, "directive": { "type": "object", "description": "An individual directive that may be completed by a player.\n\nThis collection lists an individual directive, such as \"100 Roadkills\".\n", "x-tags": [ "Progression" ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "directive_id": { "description": "Unique ID of the directive.", "type": "string", "x-cast-to": "int32" }, "directive_tier_id": { "description": "Unique ID of the directive tier.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tier.directive_tier_id" }, "directive_tree_id": { "description": "Unique ID of the directive tree.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree.directive_tree_id" }, "image_id": { "description": "Unique ID of the defaultimage.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the default image.", "type": "string", "x-reference-to": "image.image_path" }, "image_set_id": { "description": "Unique ID of the image set for this directive.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "objective_set_id": { "description": "Unique ID of the objective set.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective_set.objective_set_id" } }, "required": [ "directive_id", "directive_tier_id", "directive_tree_id", "objective_set_id" ], "examples": [ { "directive_list": [ { "directive_id": "153", "directive_tree_id": "28", "directive_tier_id": "1", "objective_set_id": "4154", "name": { "de": "Rettungskills", "en": "Savior Kills", "es": "V\u00edctimas: salvadores", "fr": "Victimes Sauveur", "it": "Uccisioni come Salvatore" }, "description": { "de": "Rette Verb\u00fcndete vor dem Tod, indem du Feinde t\u00f6test, die dabei sind, sie zu t\u00f6ten.", "en": "Save allies from death by killing enemies who are about to kill them.", "es": "Salva de la muerte a tus aliados acabando con los enemigos que est\u00e9n a punto de matarlos.", "fr": "Sauver des alli\u00e9s de la mort en tuant des ennemis sur le point de les tuer.", "it": "Salva gli alleati dalla morte uccidendo i nemici che stanno per ucciderli." }, "image_set_id": "13518", "image_id": "77759", "image_path": "/files/ps2/images/static/77759.png" } ], "returned": 1 } ] }, "directive_tier": { "type": "object", "description": "A completion tier within a directive tree.\n\nThis covers the individual stages of directive tiers, such as \"Combat Medic: Adept\".\n", "x-tags": [ "Progression" ], "properties": { "completion_count": { "description": "The number of directives within this tier that must be completed to complete it.", "type": "string", "x-cast-to": "int32" }, "directive_points": { "description": "The amount of directive points awarded for completing this directive tier.", "type": "string", "x-cast-to": "int32" }, "directive_tier_id": { "description": "Unique ID of the directive tier.", "type": "string", "x-cast-to": "int32" }, "directive_tree_id": { "description": "Unique ID of the directive tree this tier belongs to.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree.directive_tree_id" }, "image_id": { "description": "Unique ID of the default image.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the default image.", "type": "string", "x-reference-to": "image.image_path" }, "image_set_id": { "description": "Unique ID of the image set for this directive tier.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "reward_set_id": { "description": "Unique ID of the reward set awarded for completing this directive tier.", "type": "string", "x-cast-to": "int32", "x-reference-to": "reward_set.reward_set_id" } }, "required": [ "directive_tier_id", "directive_tree_id" ], "examples": [ { "directive_tier_list": [ { "directive_tree_id": "24", "directive_tier_id": "4", "reward_set_id": "4466", "directive_points": "100", "completion_count": "5", "name": { "de": "Meister", "en": "Master", "es": "Maestro", "fr": "Ma\u00eetre", "it": "Maestri" }, "image_set_id": "13650", "image_id": "78275", "image_path": "/files/ps2/images/static/78275.png" } ], "returned": 1 } ] }, "directive_tree": { "type": "object", "description": "A tree of directives sorted into multiple tiers.\n\nThis collection represents the individual paths within a directive category, such as \"Light Assault\" or \"Combat Medic\".\n", "x-tags": [ "Progression" ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "directive_tree_category_id": { "description": "Unique ID of the category of the directive tree.", "type": "string", "x-cast-to": "int32", "x-reference-to": "directive_tree_category.directive_tree_category_id" }, "directive_tree_id": { "description": "Unique ID of the directive tree.", "type": "string", "x-cast-to": "int32" }, "image_id": { "description": "Unique ID of the default image.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the default image.", "type": "string", "x-reference-to": "image.image_path" }, "image_set_id": { "description": "Unique ID of the image set for this directive tree.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "required": [ "directive_tree_id", "directive_tree_category_id" ], "examples": [ { "directive_tree_list": [ { "directive_tree_id": "8", "directive_tree_category_id": "7", "name": { "de": "Leichte Maschinengewehre", "en": "Light Machine Guns", "es": "Ametralladoras ligeras", "fr": "Mitrailleuses l\u00e9g\u00e8res", "it": "Mitragliatrici leggere" }, "image_set_id": "14193", "image_id": "79616", "image_path": "/files/ps2/images/static/79616.png" } ], "returned": 1 } ] }, "directive_tree_category": { "type": "object", "description": "Top-level categorisation of directive trees.\n\nThis covers the main sections in the Directive menu, such as \"Infantry\", \"Vehicles\", or \"Events\".\n", "x-tags": [ "Progression" ], "properties": { "directive_tree_category_id": { "description": "Unique ID of the directive tree category.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "required": [ "directive_tree_category_id" ], "examples": [ { "directive_tree_category_list": [ { "directive_tree_category_id": "3", "name": { "de": "Infanterie", "en": "Infantry", "es": "Infanter\u00eda", "fr": "Infanterie", "it": "Fanteria", "tr": "Piyade" } } ], "returned": 1 } ] }, "effect": { "type": "object", "description": "A weapon-based effect acting on players or vehicles.\n\nWeapon-based effects include direct and indirect damage effects, tactical grenade impacts, as well as pseudo-weapons such as the Medic tool or Engineer repair tool. For world-based effects, weapon attachments and buffs, see the `zone_effect` collection instead.\n\nSee the `effect_type` collection for a list of available effect types.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "ability_id": { "description": "Unique identifier of the ability associated with this effect.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability.ability_id" }, "ability_type_id": { "description": "Unique identifier of the ability type associated with this effect.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability_type.ability_type_id" }, "duration_seconds": { "description": "Duration over which the effect is applied, in seconds.", "type": "string", "x-cast-to": "int32" }, "effect_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "effect_type_id": { "description": "Unique identifier of the effect's type.", "type": "string", "x-cast-to": "int32", "x-reference-to": "effect_type.effect_type_id" }, "is_drain": { "description": "Unkown. Appears to control the resource drain of toggled abilities (e.g. Heavy Overshield) while they are active, among other things.", "type": "string", "x-cast-to": "boolean" }, "param1": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param10": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param11": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param12": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param13": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param2": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param3": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param4": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param5": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param6": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param7": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param8": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param9": { "description": "Generic numeric parameter. See the corresponding `ps2/effect_type` for details.", "type": "string", "x-cast-to": "float" }, "resist_type_id": { "description": "Resist type used to calculate damage resistance for this effect.", "type": "string", "x-cast-to": "int32", "x-reference-to": "resist_type.resist_type_id" }, "target_type_id": { "description": "Target type used to select targets for this effect.", "type": "string", "x-cast-to": "int32", "x-reference-to": "target_type.target_type_id" } }, "required": [ "effect_id", "effect_type_id", "resist_type_id" ], "examples": [ { "effect_list": [ { "effect_id": "249", "effect_type_id": "40", "target_type_id": "3", "resist_type_id": "6", "is_drain": "0", "duration_seconds": "0", "param1": "75", "param2": "1", "param3": "25", "param5": "3", "param6": "0", "param7": "0", "param8": "0", "param9": "0", "param13": "75" }, { "effect_id": "7540", "effect_type_id": "45", "ability_id": "0", "target_type_id": "2", "resist_type_id": "2", "is_drain": "0", "duration_seconds": "0", "param1": "155", "param2": "10", "param3": "105", "param5": "65", "param6": "0", "param7": "0", "param8": "0", "param9": "0" } ], "returned": 2 } ] }, "effect_type": { "type": "object", "description": "A type of effect.\n\nThe generic fields `paramX` and `stringX` are documented here. Note that not all fields are used by all effect types, or at all.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "description": { "description": "Description of the effect type.", "type": "string" }, "effect_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "param1": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param10": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param11": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param12": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param13": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param2": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param3": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param4": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param5": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param6": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param7": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param8": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" }, "param9": { "description": "Documentation for this numeric parameter on effects of this type.", "type": "string" } }, "required": [ "effect_type_id", "description" ], "examples": [ { "effect_type_list": [ { "effect_type_id": "11", "description": "Heal", "param1": "HP per sec", "param2": "Distance Max", "param3": "0 Heal, 1 Repair" }, { "effect_type_id": "12", "description": "Revive", "param1": "Health Percent", "param2": "Distance Max", "param3": "Sec to revive" }, { "effect_type_id": "36", "description": "Damage", "param1": "Damage Amount" }, { "effect_type_id": "40", "description": "Indirect Damage", "param1": "Damage within inside radius", "param2": "Inside Radius (min)", "param3": "Minimum Damage (Damage at max radius)", "param4": "There is no Param4", "param5": "Outside Radius (max)", "param6": "Direct Impact Damage", "param7": "Fire off Ability ID", "param8": "Arming Distance", "param9": "Arming Scaling Distance", "param10": "Ignore Impacted Object (1 = true)", "param11": "Screen Effect ID", "param12": "Armor Penetration", "param13": "Same faction resist percentage" } ], "returned": 4 } ] }, "empire_scores": { "type": "object", "description": "Defunct endpoint for the \"World Domination Series\" event scores.\n", "x-tags": [ "Metagame & Alerts" ], "properties": { "end_date": { "description": "Human-readable version of `end_time`.", "type": "string" }, "end_time": { "description": "UTC timestamp of when the event ended.", "type": "string" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "start_date": { "description": "Human-readable version of `start_time`.", "type": "string" }, "start_time": { "description": "UTC timestamp of when the event started.", "type": "string" }, "tracker_description": { "description": "Description of the tracker.", "type": "string" }, "tracker_name": { "description": "Unique name of the tracker.", "type": "string" } } }, "event": { "description": "ReST endpoint for retrieving historical event data.\n\nThese largely mirror the corresponding events in the ESS:\n\n- `ItemAdded` -> `ITEM`\n- `Death` -> `KILL`/`DEATH`\n- `BattleRankUp` -> `BATTLE_RANK`\n- `PlayerFacilityCapture`/`PlayerFacilityDefend` -> `FACILITY_CHARACTER`\n- `AchievementEarned` -> `ACHIEVEMENT`\n- `FacilityControl` -> `FACILITYCONTROL`\n- `MetagameEvent` -> `METAGAME`\"\n", "x-tags": [ "Event History" ], "anyOf": [ { "description": "ReST endpoint for retrieving historical character event data.\n\nLike `event`, but allows querying by character. The `character_id` and `id` fields are interchangeable.\n", "x-tags": [ "Event History" ], "oneOf": [ { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "battle_rank": { "description": "The new battle rank of the character.", "type": "string", "x-cast-to": "int32" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "context": { "description": "Identifier string for the conext in which the item was granted.", "type": "string" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "item_count": { "description": "The number of items that were added.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "The ID of the item that was added.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "achievement_id": { "description": "The ID of the achievement that was granted.", "type": "string", "x-cast-to": "int32", "x-reference-to": "achievement.achievement_id" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "The ID of the character that performed the kill.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_fire_mode_id": { "description": "The ID of the fire mode that was used to perform the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_2.fire_mode_id" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they performed the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to perform the kill. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "character_loadout_id": { "description": "The ID of the loadout that the dying player was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "is_critical": { "description": "Whether or not the kill was a critical hit. Not currently used by PlanetSide 2.", "type": "string", "x-cast-to": "bool" }, "is_headshot": { "description": "Whether or not the kill was a headshot.", "type": "string", "x-cast-to": "bool" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "The ID of the character that performed the kill.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_fire_mode_id": { "description": "The ID of the fire mode that was used to perform the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_2.fire_mode_id" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they performed the kill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to perform the kill. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "character_loadout_id": { "description": "The ID of the loadout that the dying player was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "is_critical": { "description": "Whether or not the kill was a critical hit. Not currently used by PlanetSide 2.", "type": "string", "x-cast-to": "bool" }, "is_headshot": { "description": "Whether or not the kill was a headshot.", "type": "string", "x-cast-to": "bool" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "attacker_character_id": { "description": "Unique ID of the player that destroyed the vehicle.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "attacker_loadout_id": { "description": "The ID of the loadout that the attacker was playing as.", "type": "string", "x-cast-to": "int32", "x-reference-to": "loadout.loadout_id" }, "attacker_player_guid": { "description": "Unknown. Generally identical to `attacker_character_id`.", "type": "string", "x-cast-to": "int64" }, "attacker_vehicle_id": { "description": "The ID of the vehicle that the attacker was in when they destroyed the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" }, "attacker_weapon_id": { "description": "The ID of the item that was used to destroy the vehicle. Note that this is an item ID and not the weapon ID, despite the name.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "faction_id": { "description": "The ID of the faction that the vehicle belonged to.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "projectile_id": { "description": "Unknown. The IDs provided in this field are not available on the `projectile` endpoint.", "type": "string", "x-cast-to": "int32" }, "vehicle_definition_id": { "description": "The ID of the vehicle that was destroyed.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string" }, "facility_id": { "description": "The ID of the facility that was captured.", "type": "string", "x-cast-to": "int32", "x-reference-to": "facility.facility_id" }, "outfit_id": { "description": "The ID of the outfit that captured the facility, or the facility that owns the facility at the time of defence.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" } }, "type": "object" } ] } ], "required": [ "character_id", "event_type", "world_id", "zone_id" ] }, { "description": "ReST endpoint for retrieving historical world events.\n\nThe `world_id` and `id` fields are interchangeable.\n", "x-tags": [ "Event History" ], "anyOf": [ { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "duration_held": { "description": "Time in seconds since the facility was held by the previous owner.", "type": "string", "x-cast-to": "int32" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "facility_id": { "description": "The ID of the facility that was captured.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.facility_id" }, "faction_new": { "description": "The faction that owns the facility after the capture.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "faction_old": { "description": "The faction that owned the facility before the capture.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "objective_id": { "description": "Unknown.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective.objective_id" }, "outfit_id": { "description": "Unique ID of the outfit that captured the facility.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "experience_bonus": { "description": "Experience bonus for the winning faction.", "type": "string", "x-cast-to": "int32" }, "faction_nc": { "description": "Current scope of the NC faction.", "type": "string", "x-cast-to": "float" }, "faction_tr": { "description": "Current scope of the TR faction.", "type": "string", "x-cast-to": "float" }, "faction_vs": { "description": "Current scope of the VS faction.", "type": "string", "x-cast-to": "float" }, "instance_id": { "description": "Unique ID of this particular instance of the metagame event. Only unique per server restart, not globally.", "type": "string", "x-cast-to": "int32" }, "metagame_event_id": { "description": "Unique ID of the metagame event.", "type": "string", "x-cast-to": "int32", "x-reference-to": "metagame_event.metagame_event_id" }, "metagame_event_state": { "description": "Unique ID of the metagame event state.", "type": "string", "x-cast-to": "int32" }, "metagame_event_state_name": { "description": "Name of the metagame event state.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] } ], "required": [ "event_type", "zone_id", "world_id" ] } ], "required": [ "event_type", "world_id", "zone_id" ] }, "experience": { "type": "object", "description": "Lists the different types of experience ticks.\n", "x-tags": [ "Fundamentals" ], "properties": { "description": { "description": "Description of the experience type.", "type": "string" }, "experience_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "xp": { "description": "The amount of XP granted by this experience type.", "type": "string", "x-cast-to": "int32" }, "experience_award_type_id": { "description": "Unique ID of th experience award type of this experience tick.", "type": "string", "x-cast-to": "int32" } }, "required": [ "experience_id" ], "examples": [ { "experience_list": [ { "experience_id": "4", "description": "Heal Player", "xp": "10" } ], "returned": 1 } ] }, "experience_award_type": { "type": "object", "description": "Experience type, such as \"Kill Assist\".\n\nGroups experience ticks. For example, \"Kill Assist - Flash\" and \"Kill Player Assist\" are both part of the \"KillAssist\" award type. \n", "x-tags": [ "Fundamentals" ], "properties": { "description": { "description": "Internal name/description of the experience type (e.g. \"Revive\", \"KillAssist\")", "type": "string" }, "experience_award_type_id": { "description": "Unique ID of the collection", "type": "string", "x-cast-to": "int32" } }, "required": [ "experience_award_type_id" ], "examples": [ { "experience_award_type_list": [ { "experience_award_type_id": "1", "name": "Kill" }, { "experience_award_type_id": "2", "name": "KillAssist" }, { "experience_award_type_id": "3", "name": "SpawnKilllAssist" } ], "returned": 3 } ] }, "experience_rank": { "type": "object", "description": "Player rank gained through leveling up.\n\nNote that the `rank` field is not unique, as each rank is duplicated for each prestige (aka. A.S.P.) level. The prestige entries can only be distinguished by their icons.\n", "x-tags": [ "Progression" ], "properties": { "nc": { "properties": { "image_id": { "description": "The `ps2/image` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "The path to the image of the rank for the given faction.", "type": "string", "x-reference-to": "image.path" }, "image_set_id": { "description": "The `ps2/image_set` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "title": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "type": "object" }, "nc_image_path": { "description": "Path to the facion-specific icon for this experience rank." }, "rank": { "description": "The ordinal rank of the experience type. Note that this is the same for each prestige level (0 through 3).", "type": "string", "x-cast-to": "int32" }, "tr": { "properties": { "image_id": { "description": "The `ps2/image` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "The path to the image of the rank for the given faction.", "type": "string", "x-reference-to": "image.path" }, "image_set_id": { "description": "The `ps2/image_set` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "title": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "type": "object" }, "tr_image_path": { "description": "Path to the facion-specific icon for this experience rank." }, "vs": { "properties": { "image_id": { "description": "The `ps2/image` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "The path to the image of the rank for the given faction.", "type": "string", "x-reference-to": "image.path" }, "image_set_id": { "description": "The `ps2/image_set` of the rank for the given faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "title": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "type": "object" }, "vs_image_path": { "description": "Path to the facion-specific icon for this experience rank." }, "xp_max": { "description": "Unused.", "type": "string", "x-cast-to": "int32" } }, "required": [ "rank", "nc", "vs", "tr" ], "examples": [ { "experience_rank_list": [ { "rank": "100", "xp_max": "18868950", "vs": { "title": { "de": "Paragon", "en": "Paragon", "es": "Parag\u00f3n", "fr": "Parangon", "it": "Campione", "tr": "Paragon" }, "image_set_id": "1927", "image_id": "4363" }, "vs_image_path": "/files/ps2/images/static/4363.png", "nc": { "title": { "de": "Vollstrecker", "en": "Executor", "es": "Ejecutor", "fr": "Ex\u00e9cuteur", "it": "Esecutore", "tr": "Uygulay\u0131c\u0131" }, "image_set_id": "1727", "image_id": "4364" }, "nc_image_path": "/files/ps2/images/static/4364.png", "tr": { "title": { "de": "Feldmarschall", "en": "Field Marshal", "es": "Mariscal de campo", "fr": "Mar\u00e9chal", "it": "Generale dell'Esercito", "tr": "Mare\u015fal" }, "image_set_id": "1827", "image_id": "4362" }, "tr_image_path": "/files/ps2/images/static/4362.png" } ], "returned": 1 } ] }, "facility_link": { "type": "object", "description": "Resolves lattice links between facilities.\n\nThere is no reliable difference between `facility_id_a` and `facility_id_b`; the former tends to be closer to the respective warpgate, but this does not hold true for all links. It is recommended to treat the link direction as arbitrary.\n", "x-tags": [ "Map & Regions" ], "properties": { "description": { "description": "The description of the facility link.", "type": "string" }, "facility_id_a": { "description": "The ID of the first facility in the link.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.facility_id" }, "facility_id_b": { "description": "The ID of the second facility in the link.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.facility_id" }, "zone_id": { "description": "The ID of the zone in which the facility link is located.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "required": [ "facility_id_a", "facility_id_b", "zone_id" ], "examples": [ { "facility_link_list": [ { "zone_id": "2", "facility_id_a": "7801", "facility_id_b": "201" }, { "zone_id": "2", "facility_id_a": "7801", "facility_id_b": "209", "description": "Indar - WG.Ocean to SO10.CraterFiringRange" }, { "zone_id": "2", "facility_id_a": "7801", "facility_id_b": "210", "description": "Indar - WG.Ocean to SO11.AlkaliStorage" } ], "returned": 3 } ] }, "facility_type": { "type": "object", "description": "Lists all facility types across all zones and game modes.\n", "x-tags": [ "Map & Regions" ], "properties": { "description": { "description": "Description of the facility type.", "type": "string" }, "facility_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "image_id": { "description": "Default image of the facility type's map icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "The path to the facility type's map icon.", "type": "string" }, "image_set_id": { "description": "The `ps2/image_set` of the facility type's map icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" } }, "required": [ "facility_type_id", "description" ], "examples": [ { "facility_type_list": [ { "facility_type_id": "8", "description": "Interlink Facility", "image_id": "9121", "image_set_id": "3158", "image_path": "/files/ps2/images/static/9121.png" } ], "returned": 1 } ] }, "faction": { "type": "object", "description": "Endpoint for playable and non-playable factions.\nIn addition to the main empires VS, NC, and TR, this also lists NS Operatives as the 4th faction. Note that a faction ID of zero does not denote an empty value. Instead, it represents a special \"None\" faction, which is used for common pool equipment, and also serves as a sentinel value for disabled facilities in the context of facility ownership.\nWhen working with the Event Streaming Service (ESS), you will encounter a `team_id` field in certain payloads. This is used to control friend-or-foe status for NSO players, or for the opposing factions in Outfit Wars.\nDuring regular gameplay (i.e. outside of Outfit Wars), it is generally safe to treat a team ID as a faction. However, care should be taken during Outfit Wars matches as the team IDs will map to the Alpha and Omega team instead.\n", "x-tags": [ "Fundamentals" ], "properties": { "code_tag": { "description": "The unique tag of the faction, or `None` for common-pool nanite systems.", "type": "string" }, "faction_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "image_id": { "description": "The `ps2/image` of the faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Relative path to the default image of the faction.", "type": "string" }, "image_set_id": { "description": "The `ps2/image_set` of the faction.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "user_selectable": { "description": "Whether this faction is playable or reserved for NPCs.", "type": "string", "x-cast-to": "boolean" } }, "required": [ "faction_id", "code_tag" ], "examples": [ { "faction_list": [ { "faction_id": "3", "name": { "de": "Terranische Republik", "en": "Terran Republic", "es": "Rep\u00fablica Terran", "fr": "R\u00e9publique Terrane", "it": "Repubblica Terrestre", "tr": "Terran Cumhuriyeti" }, "image_set_id": "20", "image_id": "18", "image_path": "/files/ps2/images/static/18.png", "code_tag": "TR", "user_selectable": "1" } ], "returned": 1 } ] }, "fire_group_to_fire_mode": { "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "fire_group_id": { "description": "Fire group side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_group.fire_group_id" }, "fire_mode_id": { "description": "Fire mode side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_2.fire_mode_id" }, "fire_mode_index": { "description": "Index of the fire mode within the fire group.", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "fire_group_id", "fire_mode_id", "fire_mode_index" ] }, "fire_group": { "type": "object", "description": "Fire groups in the API are synonymous with fire modes in-game, they represent the different operating modes some weapons can switch between.\n\nThis includes select-fire modes for infantry weapons, as well as knives switching between quick knife, wielded knive, and - in the case of power knives - the one-hit-kill mode.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "can_chamber_ironsights": { "description": "Whether the weapon can be chambered while aiming down sights. Only set on weapons with this capability by default, weapons requiring attachments such as straight-pull bolts will not have this set.", "type": "string", "x-cast-to": "boolean" }, "chamber_duration_ms": { "description": "The time between shots on bolt action or pump action weapons.", "type": "string", "x-cast-to": "int32" }, "fire_group_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "spool_up_initial_refire_ms": { "description": "Initial refire time (inverse of fire rate) for spool-up weapons.", "type": "string", "x-cast-to": "int32" }, "spool_up_ms": { "description": "Time to reach maximum fire rate on spool-upup weapons.", "type": "string", "x-cast-to": "int32" }, "transition_duration_ms": { "description": "Time to transition to this fire group on select-fire weapon.", "type": "string", "x-cast-to": "int32" } }, "required": [ "fire_group_id" ], "examples": [ { "fire_group_list": [ { "fire_group_id": "39001", "chamber_duration_ms": "600", "can_chamber_ironsights": "1" } ], "returned": 1 }, { "fire_group_list": [ { "fire_group_id": "4", "transition_duration_ms": "500", "can_chamber_ironsights": "0" } ], "returned": 1 }, { "fire_group_list": [ { "fire_group_id": "424", "spool_up_ms": "1000", "spool_up_initial_refire_ms": "200", "can_chamber_ironsights": "0" } ], "returned": 1 } ] }, "fire_mode": { "type": "object", "description": "**Note:** This table has been largely superceded by `fire_mode_2`, which contains additional and more accurate information about firing mechanics.\n\nThis endpoint shows detailed information about a given fire mode for a weapon, including damage ranges, muzzle velocity, and reload time.\n\nFor details on the cone-of-fire mechanics, resolve the `player_state_group_id` field.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "cof_recoil": { "description": "Baseline cone-of-fire bloom per shot. See the corresponding `ps2/player_state_group` for more information.", "type": "string", "x-cast-to": "float" }, "damage": { "description": "Flat damage amount for weapons without damage fall-off, such as knives.", "type": "string", "x-cast-to": "int32" }, "damage_max": { "description": "Maximum direct damage for weapons with damage fall-off.", "type": "string", "x-cast-to": "int32" }, "damage_max_range": { "description": "Range up to which the maximum direct projectile damage is applied.", "type": "string", "x-cast-to": "int" }, "damage_min": { "description": "Minimum direct damage for weapons with damage fall-off.", "type": "string", "x-cast-to": "int32" }, "damage_min_range": { "description": "Range at which the minimum direct projectile damage is reached and no further damage fall-off is applied.", "type": "string", "x-cast-to": "int" }, "damage_radius": { "description": "", "type": "string", "x-cast-to": "float" }, "damage_resist_type": { "description": "Damage resist type used for direct hits. See `ps2/resist_type` for more information.", "type": "string", "x-cast-to": "int32", "x-reference-to": "resist_type.resist_type_id" }, "damage_target_type": { "description": "Target types that can be damaged by this weapon's direct hits. See `ps2/target_type` for more information.", "type": "string", "x-cast-to": "int32", "x-reference-to": "target_type.target_type_id" }, "damage_type": { "description": "Description of the type of damage effect.", "type": "string" }, "default_zoom": { "description": "Default zoom level for this fire mode.", "type": "string", "x-cast-to": "float" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "fire_mode_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode.fire_mode_id" }, "indirect_damage_max": { "description": "Maximum indirect damage for weapons with damage fall-off.", "type": "string", "x-cast-to": "int32" }, "indirect_damage_max_range": { "description": "Range at which the maximum indirect projectile damage is applied.", "type": "string", "x-cast-to": "int32" }, "indirect_damage_min": { "description": "Minimum indirect damage for weapons with damage fall-off.", "type": "string", "x-cast-to": "int32" }, "indirect_damage_min_range": { "description": "^Range at which the minimum indirect projectile damage is reached and no further damage fall-off is applied.", "type": "string", "x-cast-to": "int32" }, "indirect_damage_resist_type": { "description": "Damage resist type used for indirect hits. See `ps2/resist_type` for more information.", "type": "string", "x-cast-to": "int32" }, "indirect_damage_target_type": { "description": "Target types that can be damaged by this weapon's indirect hits. See `ps2/target_type` for more information.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "The `ps2/item` to which this fire mode belongs. Note that this field is unreliable and may point to arbitrary item IDs in addition to the corresponding weapon item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "max_speed": { "description": "On self-propelled projectiles, the upper speed cap of the projectile. Used to increase projectile speed over time for lock-on launchers.", "type": "string", "x-cast-to": "float" }, "muzzle_velocity": { "description": "Muzzle velocity of ballistic projectile in meters per second.", "type": "string", "x-cast-to": "int32" }, "pellet_spread": { "description": "Spread between pellets in degrees.", "type": "string", "x-cast-to": "float" }, "pellets_per_shot": { "description": "Number of pellets fired per shot. Used for shotguns, as well as some outliers like the NSX Tengu or VEC Horizon.", "type": "string", "x-cast-to": "int32" }, "player_state_group_id": { "description": "Player state group associated with this fire mode. Contains state-dependent characteristics such as cone-of-fire.", "type": "string", "x-cast-to": "int32", "x-reference-to": "player_state_group.player_state_group_id" }, "projectile_description": { "description": "Internal description of the projectile used.", "type": "string" }, "reload_chamber_time_ms": { "description": "Rechamber time after a reload. To calculate the long reload of a weapon, add this value to `reload_time_ms`.", "type": "string", "x-cast-to": "int32" }, "reload_time_ms": { "description": "Short reload duration in milliseconds.", "type": "string", "x-cast-to": "int32" }, "speed": { "description": "On self-propelled projectiles, the initial speed of the projectile in meters per second.", "type": "string", "x-cast-to": "int32" }, "type": { "description": "Type description for the fire mode. Useful when needing to distinguish between multiple fire modes on a given weapon.", "type": "string" } }, "required": [ "fire_mode_id", "item_id" ], "examples": [ { "fire_mode_list": [ { "fire_mode_id": "2000", "item_id": "2009", "type": "primary", "description": { "de": "Automatik", "en": "Auto", "es": "Autom\u00e1tico", "fr": "Automatique", "it": "Automatico", "tr": "Otomatik" }, "player_state_group_id": "653", "cof_recoil": "0.1", "reload_time_ms": "2000", "reload_chamber_time_ms": "450", "pellets_per_shot": "1", "pellet_spread": "0", "default_zoom": "1", "muzzle_velocity": "640", "speed": "550", "max_speed": "0", "damage_radius": "0", "projectile_description": "NS: Assault Rifle 01", "damage_type": "DamageFalloff", "damage": "NULL", "damage_min": "125", "damage_max": "143", "damage_min_range": "65", "damage_max_range": "10", "damage_target_type": "2", "damage_resist_type": "2", "indirect_damage_max": "NULL", "indirect_damage_max_range": "NULL", "indirect_damage_min": "NULL", "indirect_damage_min_range": "NULL", "indirect_damage_target_type": "NULL", "indirect_damage_resist_type": "NULL" } ], "returned": 1 } ] }, "fire_mode_2": { "type": "object", "description": "Main endpoint for baseline weapon characteristics and firing mechanics. This includes:\n\n- Damage effects and ranges\n- Recoil magnitude and pattern\n- Triggered abilities for pseudo-weapons such as the medical\n applicator\n- Ammunition consumption and pellet count\n- Heat-mechanics\n\nBe aware that lockon information is currently disconnected from the game data and has not\nbeen outdated. Refer to the PS2 Wiki for up-to-date information for the time being.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "ability_block_delay_ms": { "description": "Delay in milliseconds before the player can use an ability after firing.", "type": "string", "x-cast-to": "int32" }, "ability_id": { "description": "The ability trigger upon firing pseudo-weapons such as the Medical Applicator or Repair Tool.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability.ability_id" }, "ammo_slot": { "description": "The ammo slot connected to this fire mode in the corresponding weapon. Can be matched to the `ps2/weapon.weapon_slot_index` field.", "type": "string", "x-cast-to": "int32" }, "armor_penetration": { "description": "Unused.", "type": "string", "x-cast-to": "int32" }, "automatic": { "description": "Whether the fire mode is automatic or not, i.e. whether it will refire on its own if the trigger is held down. Note that this may conflict with the fire mode's `description`, in particular for vehicle weapons.", "type": "string", "x-cast-to": "boolean" }, "bullet_arc_kick_angle": { "description": "Initial upwards angle in degrees applied to the bullet trajectory. Used to compensate for bullet drop.", "type": "string", "x-cast-to": "int32" }, "charge_minimum_ms": { "description": "Minimum charge time before the weapon can be fired.", "type": "string", "x-cast-to": "int32" }, "cof_override": { "description": "Unused.", "type": "string", "x-cast-to": "float" }, "cof_pellet_spread": { "description": "Spread between pellets in degrees.", "type": "string", "x-cast-to": "float" }, "cof_range": { "type": "string", "x-cast-to": "float" }, "cof_recoil": { "description": "Cone of fire bloom per shot in degrees.", "type": "string", "x-cast-to": "float" }, "cof_scalar": { "description": "Multiplier for the cone of fire values from the corresponding `ps2/player_state_group_2`.", "type": "string", "x-cast-to": "float" }, "cof_scalar_moving": { "description": "Multiplier for the cone of fire values from the corresponding `ps2/player_state_group_2` while moving.", "x-cast-to": "float" }, "damage_direct_effect_id": { "description": "The `ps2/effect` applied to the target upon a direct hit.", "type": "string", "x-cast-to": "int32", "x-reference-to": "effect.effect_id" }, "damage_head_multiplier": { "description": "Relative headshot damage offset. Add 1 and multiple with the base damage to get the actual damage dealt.", "type": "string", "x-cast-to": "float" }, "damage_indirect_effect_id": { "description": "The splash damage `ps2/effect` applied to targets near the impact.", "type": "string", "x-cast-to": "int32", "x-reference-to": "effect.effect_id" }, "damage_legs_multiplier": { "description": "Relative legshot damage offset. Add 1 and multiple with the base damage to get the actual damage dealt.", "type": "string", "x-cast-to": "float" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "fire_ammo_per_shot": { "description": "Ammo consumed per shot.", "type": "string", "x-cast-to": "int32" }, "fire_auto_fire_ms": { "description": "Delay between shots in a burst in milliseconds.", "type": "string", "x-cast-to": "int32" }, "fire_burst_count": { "description": "Number of shots in a burst.", "type": "string", "x-cast-to": "int32" }, "fire_charge_up_ms": { "description": "Charge-up time in milliseconds.", "type": "string", "x-cast-to": "int32" }, "fire_delay_ms": { "description": "Delay between pulling the trigger and the first shot in milliseconds.", "type": "string", "x-cast-to": "int32" }, "fire_detect_range": { "description": "Default minimap auto-detect range of the fire mode.", "type": "string", "x-cast-to": "float" }, "fire_duration_ms": { "description": "Duration of the fire animation in milliseconds. Used for pseudo-weapons such as recon darts, spawn beacons, or deployables.", "type": "string", "x-cast-to": "int32" }, "fire_mode_id": { "description": "Unique ID of the fire mode.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode.fire_mode_id" }, "fire_mode_type_id": { "description": "The `ps2/fire_mode_type` of the fire mode.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode_type.fire_mode_type_id" }, "fire_pellets_per_shot": { "description": "Number of pellets fired per shot. Used for shotguns, as well as some outliers like the NSX Tengu or VEC Horizon.", "type": "string", "x-cast-to": "int32" }, "fire_refire_ms": { "description": "Delay before the weapon can be fired again after releasing the trigger.", "type": "string", "x-cast-to": "int32" }, "grief_immune": { "description": "If true, the fire mode is not considered as part of the grief points system and can not cause a weapon lock.", "type": "string", "x-cast-to": "boolean" }, "heat_per_shot": { "description": "Heat generated per shot. Together with `heat_threshold`, this provides an estimation of the effective magazine size of heat-based weapons.", "type": "string", "x-cast-to": "float" }, "heat_recovery_delay_ms": { "description": "Delay before heat starts to recover after firing stops.", "type": "string", "x-cast-to": "int32" }, "heat_threshold": { "description": "Heat threshold before the weapon overheats. Together with `heat_per_shot`, this provides an estimation of the effective magazine size of heat-based weapons.", "type": "string", "x-cast-to": "int32" }, "iron_sights": { "type": "string", "x-cast-to": "boolean" }, "laser_guided": { "description": "If true, projectiles fired will continue to follow the crosshair after firing.", "type": "string", "x-cast-to": "boolean" }, "lockon_acquire_close_ms": { "description": "Time required to establish a lock at a distance of `lockon_range_close` metres. Interpolated linearly.", "type": "string", "x-cast-to": "int32" }, "lockon_acquire_far_ms": { "description": "Time required to establish a lock at a distance of `lockon_range_far` metres. Interpolated linearly.", "type": "string", "x-cast-to": "int32" }, "lockon_acquire_ms": { "description": "Defunct field. Always returns zero.", "type": "string", "x-cast-to": "int32" }, "lockon_angle": { "description": "Field of view of the cone within which targets may be locked.", "type": "string", "x-cast-to": "float" }, "lockon_lose_ms": { "description": "Period in which an already established lock remains active after losing line of sight with the target. This is the window during which the player may flick the mouse to shoot around obstacles.", "type": "string", "x-cast-to": "int32" }, "lockon_maintain": { "type": "string", "x-cast-to": "boolean" }, "lockon_radius": { "description": "Defunct field. Always returns zero.", "type": "string", "x-cast-to": "float" }, "lockon_range": { "description": "Defunct field. Always returns zero.", "type": "string", "x-cast-to": "float" }, "lockon_range_close": { "description": "Distance at which `lockon_acquire_close_ms` is applied. Note that this is not a minimum distance from the target, only a lower bound for the lock-on time.", "type": "string", "x-cast-to": "float" }, "lockon_range_far": { "description": "Distance at which `lockon_acquire_far_ms` is applied. Note that this may not line up with the maximum range at which a lock can be established.", "type": "string", "x-cast-to": "float" }, "lockon_required": { "type": "string", "x-cast-to": "float" }, "max_damage": { "description": "Maximum direct damage amount. For weapons with damage fall-off, this is applied at `max_damage_range`.", "type": "string", "x-cast-to": "int32" }, "max_damage_ind": { "description": "Maximum indirect damage amount at the centre of the blast radius.", "type": "string", "x-cast-to": "int32" }, "max_damage_ind_radius": { "description": "Inner radius of the indirect damage effect at which `max_damage_ind` is applied.", "type": "string", "x-cast-to": "float" }, "max_damage_range": { "description": "Distance at which `max_damage` is applied.", "type": "string", "x-cast-to": "float" }, "min_damage": { "description": "Minimum direct damage amount. For weapons with damage fall-off, this is applied at `min_damage_range`. For weapons with a flat damage profile, only `max_damage` may be set, with this field being NULL.", "type": "string", "x-cast-to": "int32" }, "min_damage_ind": { "description": "Indirect damage amount at the edge of the blast radius.", "type": "string", "x-cast-to": "int32" }, "min_damage_ind_radius": { "description": "Outer edge of the indirect damage blast radius where `min_damage_ind` is applied.", "type": "string", "x-cast-to": "float" }, "min_damage_range": { "description": "Distance at which `min_damage` is applied.", "type": "string", "x-cast-to": "float" }, "move_modifier": { "description": "Movement speed modifier applied while the fire mode is active.", "type": "string", "x-cast-to": "float" }, "player_state_group_id": { "description": "The `ps2/player_state_group` controlling this fire mode.", "type": "string", "x-cast-to": "int32", "x-reference-to": "player_state_group.player_state_group_id" }, "projectile_speed_override": { "description": "Optional override for the base movement speed defined in the corresponding projectile.", "type": "string", "x-cast-to": "int32" }, "recoil_angle_max": { "description": "Maximum recoil angle in degrees. Recoil angles is measured clockwise relative to vertical, so a positive value means the weapon will pull to the right. This defines the basic axis of the recoil pattern, \"horizontal\" recoil is orthogonal to this axis.", "type": "string", "x-cast-to": "float" }, "recoil_angle_min": { "description": "Minimum recoil angle in degrees. Recoil angles is measured clockwise relative to vertical, so a positive value means the weapon will pull to the right. This defines the basic axis of the recoil pattern, \"horizontal\" recoil is orthogonal to this axis.", "type": "string", "x-cast-to": "float" }, "recoil_first_shot_modifier": { "description": "Vertical recoil multiplier for the first shot in a burst.", "type": "string", "x-cast-to": "float" }, "recoil_horizontal_max": { "description": "Upper limit for the horizontal recoil per shot in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_horizontal_max_increase": { "description": "Like `reload_increase`, but only affects the horizontal recoil components.", "type": "string", "x-cast-to": "float" }, "recoil_horizontal_min": { "description": "Upper limit for the horizontal recoil per shot in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_horizontal_min_increase": { "description": "Like `reload_increase`, but only affects the horizontal recoil components.", "type": "string", "x-cast-to": "float" }, "recoil_horizontal_tolerance": { "description": "Symmetric tolerance for the horizontal recoil pattern. After exceeding half of this value in either direction, the recoil is guaranteed to kick back towards the center for the next shot.", "type": "string", "x-cast-to": "float" }, "recoil_increase": { "description": "Recoil increase per shot in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_increase_crouched": { "description": "Recoil increase per shot in degrees while crouched.", "type": "string", "x-cast-to": "float" }, "recoil_magnitude_max": { "description": "Maximum recoil magnitude in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_magnitude_min": { "description": "Minimum recoil magnitude in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_max_total_magnitude": { "description": "Total recoil limit in degrees.", "type": "string", "x-cast-to": "float" }, "recoil_recovery_acceleration": { "description": "Acceleration of the recoil recovery. High values lead to linear recoil recovery.", "type": "string", "x-cast-to": "float" }, "recoil_recovery_delay_ms": { "description": "Delay before the recoil recovery starts in milliseconds.", "type": "string", "x-cast-to": "int32" }, "recoil_recovery_rate": { "description": "Recoil recovery rate in degrees per second.", "type": "string", "x-cast-to": "float" }, "recoil_shots_at_min_magnitude": { "description": "Number of shots fired before the recoil magnitude starts to decrease.", "type": "string", "x-cast-to": "int32" }, "reload_ammo_fill_ms": { "description": "For magazine-fed weapons, the actual time of the reload, not counting the animation or chambering time.", "type": "string", "x-cast-to": "int32" }, "reload_block_auto": { "description": "If true, an empty magazine will force the player out of ADS in order to reload.", "type": "string", "x-cast-to": "boolean" }, "reload_chamber_ms": { "description": "For weapons with magazines, the extra time taken to chamber after a reload. To calculate the long reload, add this value to `reload_time_ms`.", "type": "string", "x-cast-to": "int32" }, "reload_continuous": { "description": "Whether the weapon uses a per-shell reload animation, such as pump-action shotguns.", "type": "string", "x-cast-to": "boolean" }, "reload_loop_end_ms": { "description": "For tube-fed weapons (pump-action shotguns), the final delay after reloading is complete or has been cancelled before the weapon can fire.", "type": "string", "x-cast-to": "int32" }, "reload_loop_start_ms": { "description": "For tube-fed weapons (pump-action shotguns), the initial delay before the first shell is chambered.", "type": "string", "x-cast-to": "int32" }, "reload_time_ms": { "description": "Reload time in milliseconds. For magazine-fed weapons, this is the short reload. For tube-fed weapons (pump-action shotguns), this represents the reload interval.", "type": "string", "x-cast-to": "int32" }, "shield_bypass_pct": { "type": "string", "x-cast-to": "int32" }, "sprint_block_delay_ms": { "description": "Delay in milliseconds before the player can start sprinting after firing.", "type": "string", "x-cast-to": "int32" }, "sprint_fire": { "description": "Whether the firte mode can be used while sprinting.", "type": "string", "x-cast-to": "boolean" }, "sway_amplitude_x": { "description": "Amplitude of the sinusoidal scope sway in degrees.", "type": "string", "x-cast-to": "int" }, "sway_amplitude_y": { "description": "Amplitude of the sinusoidal scope sway in degrees.", "type": "string", "x-cast-to": "int" }, "sway_can_steady": { "description": "Whether scope sway can be steadied by holding breath.", "type": "string", "x-cast-to": "boolean" }, "sway_period_x": { "description": "Period of the sinusoidal scope sway in seconds.", "type": "string", "x-cast-to": "int" }, "sway_period_y": { "description": "Period of the sinusoidal scope sway in seconds.", "type": "string", "x-cast-to": "int" }, "turn_modifier": { "description": "Turn speed modifier applied while the fire mode is active.", "type": "string", "x-cast-to": "float" }, "use_in_water": { "description": "Whether the fire mode can be used while submerged.", "type": "string", "x-cast-to": "boolean" }, "zoom_default": { "description": "Default zoom level for the fire mode.", "type": "string", "x-cast-to": "float" } }, "required": [ "fire_mode_id", "player_state_group_id" ], "examples": [ { "fire_mode_2_list": [ { "fire_mode_id": "740", "fire_mode_type_id": "0", "automatic": "1", "grief_immune": "0", "iron_sights": "0", "laser_guided": "0", "move_modifier": "1", "sprint_fire": "0", "turn_modifier": "1", "use_in_water": "0", "zoom_default": "1", "cof_range": "50", "cof_scalar": "1", "cof_scalar_moving": "1", "player_state_group_id": "75499", "damage_direct_effect_id": "90009", "damage_head_multiplier": "1", "damage_legs_multiplier": "-0.1", "fire_ammo_per_shot": "1", "fire_burst_count": "1", "fire_detect_range": "100", "fire_refire_ms": "111", "lockon_maintain": "0", "lockon_required": "0", "recoil_first_shot_modifier": "1", "recoil_recovery_acceleration": "1000", "reload_block_auto": "0", "reload_continuous": "0", "reload_time_ms": "3500", "sway_can_steady": "0", "armor_penetration": "0", "max_damage": "200", "max_damage_range": "50", "min_damage": "143", "min_damage_range": "100", "shield_bypass_pct": "0", "charge_minimum_ms": "0", "description": { "de": "Automatik", "en": "Auto", "es": "Autom\u00e1tico", "fr": "Automatique", "it": "Automatico", "tr": "Otomatik" } } ], "returned": 1 }, { "fire_mode_2_list": [ { "fire_mode_id": "424", "fire_mode_type_id": "0", "automatic": "1", "grief_immune": "0", "iron_sights": "0", "laser_guided": "0", "move_modifier": "1", "sprint_fire": "0", "turn_modifier": "1", "use_in_water": "0", "zoom_default": "1", "cof_range": "50", "cof_recoil": "0.01", "cof_scalar": "1", "cof_scalar_moving": "1", "player_state_group_id": "301", "damage_direct_effect_id": "174", "damage_legs_multiplier": "-0.1", "fire_ammo_per_shot": "1", "fire_burst_count": "1", "fire_detect_range": "50", "fire_refire_ms": "80", "fire_pellets_per_shot": "1", "lockon_maintain": "0", "lockon_required": "0", "recoil_first_shot_modifier": "1", "reload_block_auto": "0", "reload_continuous": "0", "reload_time_ms": "2500", "sway_can_steady": "0", "armor_penetration": "0", "max_damage": "143", "max_damage_range": "15", "min_damage": "100", "min_damage_range": "60", "shield_bypass_pct": "0", "charge_minimum_ms": "0", "description": { "de": "Automatik", "en": "Auto", "es": "Autom\u00e1tico", "fr": "Automatique", "it": "Automatico", "tr": "Otomatik" } } ], "returned": 1 }, { "fire_mode_2_list": [ { "fire_mode_id": "33004", "fire_mode_type_id": "0", "automatic": "0", "grief_immune": "0", "iron_sights": "0", "laser_guided": "0", "move_modifier": "1", "sprint_fire": "0", "turn_modifier": "1", "use_in_water": "0", "zoom_default": "1", "cof_override": "0", "cof_pellet_spread": "0", "cof_range": "50", "cof_recoil": "2", "cof_scalar": "1", "cof_scalar_moving": "1", "player_state_group_id": "75564", "damage_direct_effect_id": "1421", "damage_head_multiplier": "0", "damage_indirect_effect_id": "33004", "damage_legs_multiplier": "-0.1", "fire_ammo_per_shot": "1", "fire_auto_fire_ms": "0", "fire_burst_count": "1", "fire_charge_up_ms": "0", "fire_delay_ms": "0", "fire_detect_range": "100", "fire_refire_ms": "300", "fire_pellets_per_shot": "1", "lockon_maintain": "0", "lockon_required": "0", "recoil_first_shot_modifier": "1", "recoil_increase": "0", "recoil_increase_crouched": "0", "reload_block_auto": "0", "reload_continuous": "0", "reload_ammo_fill_ms": "2744", "reload_time_ms": "3430", "sway_can_steady": "0", "armor_penetration": "0", "max_damage": "700", "max_damage_ind": "300", "max_damage_ind_radius": "0.5", "min_damage_ind": "50", "min_damage_ind_radius": "3", "min_damage_range": "0", "shield_bypass_pct": "0", "bullet_arc_kick_angle": "1", "charge_minimum_ms": "0", "description": { "de": "Aufschaltung", "en": "Lock-on", "es": "Blanco fijo", "fr": "Verrouillage", "it": "Lock-On", "tr": "Kilitlenme" } } ], "returned": 1 }, { "fire_mode_2_list": [ { "fire_mode_id": "8069", "fire_mode_type_id": "0", "automatic": "1", "grief_immune": "0", "iron_sights": "1", "laser_guided": "0", "move_modifier": "0.5", "sprint_fire": "0", "turn_modifier": "1", "use_in_water": "0", "zoom_default": "1.35", "cof_override": "0", "cof_pellet_spread": "0", "cof_range": "100", "cof_recoil": "0", "cof_scalar": "1", "cof_scalar_moving": "1", "player_state_group_id": "2332", "damage_direct_effect_id": "7540", "damage_head_multiplier": "1", "damage_indirect_effect_id": "249", "damage_legs_multiplier": "-0.1", "fire_ammo_per_shot": "1", "fire_auto_fire_ms": "0", "fire_burst_count": "1", "fire_charge_up_ms": "0", "fire_detect_range": "40", "fire_refire_ms": "180", "fire_pellets_per_shot": "1", "lockon_maintain": "0", "lockon_required": "0", "recoil_angle_max": "10", "recoil_angle_min": "10", "recoil_first_shot_modifier": "1.5", "recoil_horizontal_max": "0.2", "recoil_horizontal_max_increase": "0", "recoil_horizontal_min": "0.1", "recoil_horizontal_min_increase": "0", "recoil_horizontal_tolerance": "0.75", "recoil_increase": "0", "recoil_increase_crouched": "0", "recoil_magnitude_max": "0.4", "recoil_magnitude_min": "0.4", "recoil_max_total_magnitude": "0", "recoil_recovery_acceleration": "1000", "recoil_recovery_delay_ms": "0", "recoil_recovery_rate": "15", "recoil_shots_at_min_magnitude": "0", "reload_block_auto": "0", "reload_continuous": "0", "reload_ammo_fill_ms": "4420", "reload_chamber_ms": "1000", "reload_time_ms": "4200", "sway_can_steady": "0", "armor_penetration": "0", "max_damage": "155", "max_damage_ind": "75", "max_damage_ind_radius": "1", "max_damage_range": "10", "min_damage": "105", "min_damage_ind": "25", "min_damage_ind_radius": "3", "min_damage_range": "65", "shield_bypass_pct": "0", "bullet_arc_kick_angle": "0", "charge_minimum_ms": "0", "description": { "de": "Automatik", "en": "Auto", "es": "Autom\u00e1tico", "fr": "Automatique", "it": "Automatico", "tr": "Otomatik" } } ], "returned": 1 }, { "fire_mode_2_list": [ { "fire_mode_id": "2001", "fire_mode_type_id": "0", "automatic": "1", "grief_immune": "0", "iron_sights": "1", "laser_guided": "0", "move_modifier": "0.75", "projectile_speed_override": "640", "sprint_fire": "0", "turn_modifier": "1", "use_in_water": "1", "zoom_default": "1.35", "cof_override": "0", "cof_pellet_spread": "0", "cof_range": "100", "cof_recoil": "0.05", "cof_scalar": "1", "cof_scalar_moving": "1", "player_state_group_id": "654", "damage_direct_effect_id": "70006", "damage_head_multiplier": "1", "damage_legs_multiplier": "-0.1", "fire_ammo_per_shot": "1", "fire_auto_fire_ms": "0", "fire_burst_count": "1", "fire_charge_up_ms": "0", "fire_delay_ms": "0", "fire_detect_range": "40", "fire_refire_ms": "92", "fire_pellets_per_shot": "1", "lockon_maintain": "0", "lockon_required": "0", "recoil_angle_max": "-17", "recoil_angle_min": "-20", "recoil_first_shot_modifier": "3", "recoil_horizontal_max": "0.2", "recoil_horizontal_min": "0.2", "recoil_horizontal_tolerance": "0.6", "recoil_increase": "0.1", "recoil_increase_crouched": "0.1", "recoil_magnitude_max": "0.22", "recoil_magnitude_min": "0.22", "recoil_max_total_magnitude": "0", "recoil_recovery_acceleration": "1000", "recoil_recovery_delay_ms": "92", "recoil_recovery_rate": "18", "recoil_shots_at_min_magnitude": "0", "reload_block_auto": "0", "reload_continuous": "0", "reload_ammo_fill_ms": "1838", "reload_chamber_ms": "450", "reload_time_ms": "2000", "sway_can_steady": "0", "armor_penetration": "0", "max_damage": "143", "max_damage_range": "10", "min_damage": "125", "min_damage_range": "65", "shield_bypass_pct": "0", "bullet_arc_kick_angle": "0.175", "charge_minimum_ms": "0", "description": { "de": "Automatik", "en": "Auto", "es": "Autom\u00e1tico", "fr": "Automatique", "it": "Automatico", "tr": "Otomatik" } } ], "returned": 1 } ] }, "fire_mode_to_projectile": { "type": "object", "description": "Maps fire modes to their projectiles.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "fire_mode_id": { "description": "Fire mode side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "fire_mode.fire_mode_id" }, "projectile_id": { "description": "Projectile side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "projectile.projectile_id" } }, "required": [ "fire_mode_id", "projectile_id" ], "examples": [ { "fire_mode_to_projectile_list": [ { "fire_mode_id": "2001", "projectile_id": "8000" } ], "returned": 1 } ] }, "fire_mode_type": { "type": "object", "description": "Enumeration of the types of fire modes.\n\nThis servers to differentiate between melee attacks, projectile weapons, throwables, and pseudo-weapon fire modes used to trigger activated items.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "description": { "description": "Description of the type of fire mode", "type": "string" }, "fire_mode_type_id": { "description": "Unique ID of the fire mode type.", "type": "string", "x-cast-to": "int32" } }, "required": [ "fire_mode_type_id", "description" ], "examples": [ { "fire_mode_type_list": [ { "fire_mode_type_id": "0", "description": "Projectile" }, { "fire_mode_type_id": "3", "description": "Melee" }, { "fire_mode_type_id": "8", "description": "Trigger Item Ability" }, { "fire_mode_type_id": "12", "description": "Thrown" } ], "returned": 4 } ] }, "fish": { "type": "object", "x-tags": [ "Fundamentals" ], "properties": { "fish_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "rarity": { "type": "string", "x-cast-to": "int32", "description": "Rarity level of the fish (1 through 3)." }, "size": { "type": "string", "x-cast-to": "int32", "description": "Size category of the fish (1 through 4)." }, "average_size": { "description": "Average size of the fish.", "type": "string", "x-cast-to": "int32" }, "size_deviation": { "description": "Standard deviation of the fish size in centimeters.", "type": "string", "x-cast-to": "int32" }, "scan_point_amount": { "description": "Number of points awarded for scanning this fish.", "type": "string", "x-cast-to": "int32" }, "cost": { "description": "Price of the fish.", "type": "string", "x-cast-to": "int32" }, "image_id": { "description": "The `ps2/image` of the item's display icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_set_id": { "description": "The `ps2/image_set` of the item's display icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" } }, "required": [ "fish_id" ], "examples": [ { "fish_list": [ { "fish_id": "1", "name": { "de": "Weichkopfmummel", "en": "Softheaded Mumbler", "es": "Mascullador de cabeza blanda", "fr": "Marmouille \u00e0 t\u00eate molle", "it": "Mormorante testamolle", "tr": "NULL" }, "rarity": "1", "size": "1", "average_size": "30", "size_deviation": "15", "scan_point_amount": "200", "cost": "100", "image_set_id": "808133", "image_id": "97689" } ], "returned": 1 } ] }, "image": { "type": "object", "description": "Lists individual image assets available on the API.\n\nNote that historically, not all assets listed here are available on the image endpoint, and not all available assets are listed.\n", "x-tags": [ "Image Assets" ], "properties": { "description": { "description": "Description of the asset.", "type": "string" }, "image_id": { "description": "Unique ID of the image.", "type": "string", "x-cast-to": "int32" }, "path": { "description": "Relative to the image asset. Prefix the base URL to the Census API endpoint to create a fully-qualified URL.", "type": "string" } }, "required": [ "image_id" ], "examples": [ { "image_list": [ { "image_id": "24", "description": "energy_facility.dds", "path": "/files/ps2/images/static/24.png" } ], "returned": 1 } ] }, "image_set": { "type": "object", "description": "Lists related image assets belonging to the same set.\n\nNote that this endpoint is a mapping; the `image_set_id` is not a unique key. The individual image types in a set are generally used to provide different sizes of the same image (e.g. icon previes or minimal icons).\n", "x-tags": [ "Image Assets" ], "properties": { "description": { "description": "Description of the image set.", "type": "string" }, "image_id": { "description": "ID of the image asset for this image set and type.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Relative to the image asset. Prefix the base URL to the Census API endpoint to create a fully-qualified URL.", "type": "string" }, "image_set_id": { "description": "ID of the image set. Note that this is not a unique ID, this collection is a mapping.", "type": "string", "x-cast-to": "int32" }, "type_description": { "description": "Type description of the current image within the set. Usually, this refers to scale.", "type": "string" }, "type_id": { "description": "Type ID of the current image within the set. Usually, this refers to scale.", "type": "string", "x-cast-to": "int32" } }, "required": [ "image_id", "image_set_id" ], "examples": [ { "image_set_list": [ { "image_set_id": "806486", "image_id": "24", "description": "energy_facility.dds", "type_id": "4", "type_description": "Very Small (16 pixel height)", "image_path": "/files/ps2/images/static/24.png" }, { "image_set_id": "806486", "image_id": "24", "description": "energy_facility.dds", "type_id": "5", "type_description": "Small (32 pixel height)", "image_path": "/files/ps2/images/static/24.png" }, { "image_set_id": "806486", "image_id": "24", "description": "energy_facility.dds", "type_id": "6", "type_description": "Medium (64 pixel height)", "image_path": "/files/ps2/images/static/24.png" } ], "returned": 3 } ] }, "image_set_default": { "type": "object", "description": "Lists the default image for a given image set.\n", "x-tags": [ "Image Assets" ], "properties": { "description": { "description": "Description of the image set.", "type": "string" }, "image_id": { "description": "ID of the image asset for this image set and type.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Relative to the image asset. Prefix the base URL to the Census API endpoint to create a fully-qualified URL.", "type": "string" }, "image_set_id": { "description": "ID of the image set. Note that this is not a unique ID, this collection is a mapping.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "type_description": { "description": "Type description of the current image within the set. Usually, this refers to scale.", "type": "string" }, "type_id": { "description": "Type ID of the current image within the set. Usually, this refers to scale.", "type": "string", "x-cast-to": "int32" } }, "required": [ "image_id", "image_set_id" ], "examples": [ { "image_set_default_list": [ { "image_set_id": "806486", "image_id": "24", "description": "energy_facility.dds", "type_id": "6", "type_description": "Medium (64 pixel height)", "image_path": "/files/ps2/images/static/24.png" } ], "returned": 1 } ] }, "item": { "type": "object", "description": "Items in PlanetSide 2 are used to represent weapons, tools, and consumables, but also cosmetic items and internal control objects for player renaming or outfit resource consumption. Use the `item_type` collection to narrow searches to specific types.\n", "x-tags": [ "Items & Bundles" ], "properties": { "activatable_ability_id": { "description": "The active `ps2/ability` granted upon equipping this item, such as the Heavy Assault's Overshield or MAX abilities.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability.ability_id" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "faction_id": { "description": "The `ps2/faction` of the item. Items with a faction ID of 0 are common-pool and available to all factions.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "image_id": { "description": "The `ps2/image` of the item's display icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Relative path to the default image of the item.", "type": "string" }, "image_set_id": { "description": "The `ps2/image_set` of the item's display icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "is_default_attachment": { "description": "If true, the item is auto-granted to the player, such as the default scope and ammo types.", "type": "string", "x-cast-to": "boolean" }, "is_vehicle_weapon": { "description": "Whether this item is a vehicle weapon.", "type": "string", "x-cast-to": "boolean" }, "item_category_id": { "description": "The `ps2/item_category` of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item_category.item_category_id" }, "item_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "item_type_id": { "description": "The `ps2/item_type` of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item_type.item_type_id" }, "max_stack_size": { "description": "The maximum number of this item that can be held at once. Primarily used for consumables or carried explosives.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "passive_ability_id": { "description": "The passive `ps2/ability` granted upon equipping this item, such as a suppressor or scope.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability.ability_id" }, "skill_set_id": { "description": "The `ps2/skill_set` of the item. Remnant of the original certification menu, used to unlock the weapon in the certification skill tree and lock out purchasing of attachments for weapons the player has not unlocked yet.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill_set.skill_set_id" } }, "required": [ "item_id" ], "examples": [ { "item_list": [ { "item_id": "4", "item_type_id": "26", "item_category_id": "7", "is_vehicle_weapon": "0", "name": { "de": "NC1 Gau\u00dfgewehr", "en": "NC1 Gauss Rifle", "es": "Rifle Gauss NC1", "fr": "Fusil Gauss NC1", "it": "Fucile Gauss NC1", "tr": "NC1 Gauss T\u00fcfe\u011fi" }, "description": { "de": "Das Standard-Gau\u00dfgewehr NC1 war die erste erfolgreiche Einf\u00fchrung der Gau\u00dfgewehr-Technologie in kleinen Waffen. Nur f\u00fcr NK.", "en": "The standard issue NC1 Gauss Rifle was the first successful implementation of coilgun technology in small arms. NC use only.", "es": "El rifle NC1 Gauss est\u00e1ndar represent\u00f3 la primera implementaci\u00f3n de tecnolog\u00eda coilgun en armas peque\u00f1as. Solo para NC", "fr": "Le fusil Gauss NC1 standard repr\u00e9sente la premi\u00e8re application r\u00e9ussie de la technologie de canon magn\u00e9tique aux armes de petit calibre. NC uniquement.", "it": "Il fucile Gauss NC1 standard rappresenta la prima applicazione riuscita della tecnologia di accelerazione magnetica nelle armi di piccole dimensioni. Esclusivo NC.", "tr": "Standart \u00fcretim NC1 Gauss T\u00fcfe\u011fi, bobinsilah\u0131 teknolojisininin hafif silahlara ilk ba\u015far\u0131l\u0131 uygulanmas\u0131d\u0131r. Yaln\u0131zca Yeni Birle\u015fim kullan\u0131m\u0131 i\u00e7in." }, "faction_id": "2", "max_stack_size": "1", "image_set_id": "2745", "image_id": "5310", "image_path": "/files/ps2/images/static/5310.png", "skill_set_id": "132", "is_default_attachment": "0" } ], "returned": 1 } ] }, "item_attachment": { "type": "object", "description": "Maps attachment items to the items they can be attached to.\n", "x-tags": [ "Items & Bundles" ], "properties": { "attachment_item_id": { "description": "Item that can be attached to the `item_id`.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "item_id": { "description": "Host item the `attachment_item_id` can be attached to.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" } }, "required": [ "item_id", "attachment_item_id" ], "examples": [ { "item_attachment_list": [ { "item_id": "4", "attachment_item_id": "34" }, { "item_id": "4", "attachment_item_id": "74" }, { "item_id": "4", "attachment_item_id": "115" }, { "item_id": "4", "attachment_item_id": "148" }, { "item_id": "4", "attachment_item_id": "149" }, { "item_id": "4", "attachment_item_id": "150" }, { "item_id": "4", "attachment_item_id": "151" }, { "item_id": "4", "attachment_item_id": "558" }, { "item_id": "4", "attachment_item_id": "796" }, { "item_id": "4", "attachment_item_id": "799" } ], "returned": 10 } ] }, "item_category": { "type": "object", "description": "Item categories are used to group items together for display in the loadout screen or depot.\n", "x-tags": [ "Items & Bundles" ], "properties": { "item_category_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item_category.item_category_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" } }, "required": [ "item_category_id" ], "examples": [ { "item_category_list": [ { "item_category_id": "7", "name": { "de": "Sturmgewehr", "en": "Assault Rifle", "es": "Rifle de asalto", "fr": "Fusil d'assaut", "it": "Fucile d'assalto", "tr": "Taarruz T\u00fcfe\u011fi" } } ], "returned": 1 } ] }, "item_profile": { "type": "object", "description": "Maps items to profiles (classes/vehicles) that have access to them.\n", "x-tags": [ "Items & Bundles" ], "properties": { "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "profile_id": { "description": "Profile side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" } }, "required": [ "item_id", "profile_id" ], "examples": [ { "item_profile_list": [ { "item_id": "1", "profile_id": "2" }, { "item_id": "1", "profile_id": "4" }, { "item_id": "1", "profile_id": "5" }, { "item_id": "1", "profile_id": "6" }, { "item_id": "1", "profile_id": "7" } ], "returned": 5 } ] }, "item_to_weapon": { "type": "object", "description": "Maps items (including name, availability) to its respective weapon object.\n\nNot all items have a weapon objects, though some filtering can be done through the `item_type_id` field, with the ID 26 representing most weapon types.\n", "x-tags": [ "Items & Bundles" ], "properties": { "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "weapon_id": { "description": "Weapon side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "weapon.weapon_id" } }, "required": [ "item_id", "weapon_id" ], "examples": [ { "item_to_weapon_list": [ { "item_id": "21", "weapon_id": "13" } ], "returned": 1 } ] }, "item_type": { "type": "object", "description": "Items in PlanetSide 2 represent many different things beyond weapons, such as implant packs, cosmetics, or name change tokens. They are also used as internal helpers when pulling outfit resources, spawning vehicles, or interacting with certain terminals.\n\nThis collection lists the different item types, though many of these are never encountered on the API.\n", "x-tags": [ "Items & Bundles" ], "properties": { "code": { "description": "Internal code of the item type.", "type": "string" }, "item_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item_type.item_type_id" }, "name": { "description": "Display name of the item type.", "type": "string" } }, "required": [ "item_type_id" ], "examples": [ { "item_type_list": [ { "item_type_id": "26", "name": "Weapon", "code": "Weapon" }, { "item_type_id": "27", "name": "Attachment", "code": "Attachment" }, { "item_type_id": "38", "name": "Vehicle Cosmetic", "code": "VehicleCosmetic" }, { "item_type_id": "39", "name": "Infantry Cosmetic", "code": "InfantryCosmetic" }, { "item_type_id": "48", "name": "Construction Module", "code": "ConstructionModule" } ], "returned": 5 } ] }, "leaderboard": { "type": "object", "description": "Global leaderboard for a given server. This only includes the top 10'000 players for a given category and is not directly searchable. See `characters_leaderboard` to look up a character's ranking.\n\n`c:start` and `c:limit` are supported and allow for pagination. `c:join` and `c:tree` are also permitted. Any other query commands will be silently ignored.\n\nUnlike most other tables, this one defaults to a `c:limit` value of 10 and is always sorted in ascending order of leaderboard rank.\n", "x-tags": [ "Leaderboards" ], "properties": { "character_id": { "description": "The ID of the character.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "rank": { "description": "The rank of the character for the given statistic.", "type": "string", "x-cast-to": "int32" }, "value": { "description": "The all-time value of the given statistic.", "type": "string", "x-cast-to": "int32" } }, "required": [ "character_id", "rank", "value" ], "examples": [ { "limit": 10, "leaderboard_list": [ { "character_id": "5428011263289812449", "value": "1004944", "rank": "0" }, { "character_id": "5428092148238898497", "value": "933727", "rank": "1" }, { "character_id": "5428143250883637345", "value": "871442", "rank": "2" }, { "character_id": "8252189355200955505", "value": "726831", "rank": "3" }, { "character_id": "8280485721807277905", "value": "611044", "rank": "4" }, { "character_id": "5428123302629266225", "value": "587284", "rank": "5" }, { "character_id": "5428359100729973969", "value": "564648", "rank": "6" }, { "character_id": "5428064957346113809", "value": "554749", "rank": "7" }, { "character_id": "5428551667113611937", "value": "552295", "rank": "8" }, { "character_id": "8261280742797131393", "value": "548013", "rank": "9" } ], "returned": 10, "key": "Forever_Kills", "count": 10000 } ] }, "loadout": { "type": "object", "description": "Enumeration of the six infantry classes for each playable faction.\n\nNote that this is different from the in-game loadouts, which are not available on the API.\n", "x-tags": [ "Fundamentals" ], "properties": { "code_name": { "description": "Internal name of the loadout.", "type": "string" }, "faction_id": { "description": "The `ps2/faction` of the loadout.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "loadout_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "profile_id": { "description": "The `ps2/profile_2` matching this loadout.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" } }, "required": [ "loadout_id", "profile_id", "faction_id" ], "examples": [ { "loadout_list": [ { "loadout_id": "1", "profile_id": "2", "faction_id": "2", "code_name": "NC Infiltrator" } ], "returned": 1 } ] }, "map": { "type": "object", "description": "Map status endpoint.\n\nThis collection can only be queried with a single `world_id` and any number of `zone_ids` (note that the parameter is plural). Also note the non-standard payload format requiring different parsing rules.\n\nFor partially locked continents, the unavailable regions will report a `FactionId` of zero.\n", "x-tags": [ "Map & Regions" ], "properties": { "Regions": { "properties": { "IsList": { "description": "Irrelevant field, always true.", "type": "string", "x-cast-to": "boolean" }, "Row": { "description": "List of map row entries.", "items": { "properties": { "RowData": { "properties": { "FactionId": { "description": "Faction that owns the region.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "RegionId": { "description": "Region for which ownership data is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.map_region_id" } }, "type": "object" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "ZoneId": { "description": "Zone for which map data is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "required": [ "ZoneId" ], "examples": [ { "map_list": [ { "ZoneId": "2", "Regions": { "IsList": "1", "Row": [ { "RowData": { "RegionId": "2101", "FactionId": "1" } }, { "RowData": { "RegionId": "2421", "FactionId": "1" } } ] } } ], "returned": 1 } ] }, "map_hex": { "type": "object", "description": "Endpoint for retrieving map hex coordinates.\nThis data can be used to reconstruct the in-game facility outlines from API data.\n\nThe X and Y coordinates listed in the entries to this collection are not Cartesian and do not match up with the `location_` fields of `map_region`. Instead, they are describing locations in a non-orthogonal hexagonal grid, which must be converted by the user.\n\nThis website has a great write-up on hexagonal coordinate systems: .\nThe coordinate system used by PlanetSide 2 matches the \"Axial coordinates\" described in the article, except that the first coordinate X faces east, and the second coordinate Y faces up and to the right at a 60\u00b0 angle.\n", "x-tags": [ "Map & Regions" ], "properties": { "hex_type": { "description": "Type of the hex. 0: capturable by anyone, 1: not capturable, 2: locked to a single faction.", "type": "string", "x-cast-to": "int32" }, "map_region_id": { "description": "Region for which a hex is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.map_region_id" }, "type_name": { "description": "Name of the hex type.", "type": "string" }, "x": { "description": "X coordinate of the hex. See the endpoint documentation for `map_hex` for details on converting these indices into Cartesian coordinates.", "type": "string", "x-cast-to": "int32" }, "y": { "description": "Y coordinate of the hex. See the endpoint documentation for `map_hex` for details on converting these indices into Cartesian coordinates.", "type": "string", "x-cast-to": "int32" }, "zone_id": { "description": "Zone containing the region for which a hex is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "required": [ "map_hex_id", "map_region_id" ], "examples": [ { "map_hex_list": [ { "zone_id": "2", "map_region_id": "2448", "x": "17", "y": "-12", "hex_type": "0", "type_name": "Unrestricted access" }, { "zone_id": "2", "map_region_id": "2448", "x": "17", "y": "-11", "hex_type": "0", "type_name": "Unrestricted access" }, { "zone_id": "2", "map_region_id": "2448", "x": "18", "y": "-13", "hex_type": "0", "type_name": "Unrestricted access" }, { "zone_id": "2", "map_region_id": "2448", "x": "18", "y": "-12", "hex_type": "0", "type_name": "Unrestricted access" }, { "zone_id": "2", "map_region_id": "2448", "x": "18", "y": "-11", "hex_type": "0", "type_name": "Unrestricted access" } ], "returned": 5 } ] }, "map_region": { "type": "object", "description": "A region on the in-game map.\n\nMap regions are largely identical to their corresponding regions, but use the internal `facility_name` instead of a localized string. A `map_region_id` and `region_id` are interchangeable.\n\nAdditionally, this collection allows connecting facilities to map region IDs.\n\nNote that the continuous outfit resource gain is listed in \"ticks\", not minutes. Ticks are 5 minutes as of writing, meaning that a Tech Plant will list a tick reward of 8 Synthium, corresponding to the 1.6 Synthium per minute advertised in-game.\n", "x-tags": [ "Map & Regions" ], "properties": { "capture_reward": { "properties": { "amount": { "description": "Amount of the outfit resource granted for capturing this region.", "type": "string", "x-cast-to": "float" }, "description": { "description": "Internal name of the outfit resource granted for capturing this region.", "type": "string" } }, "type": "object" }, "facility_id": { "description": "Capturable facility associated with the map region. Note that some regions do not have facilities associated with them, such as The Shattered Warpgate.", "type": "string", "x-cast-to": "int32" }, "facility_name": { "description": "Internal name of the facility. See the corresponding `region` for a localized value.", "type": "string" }, "facility_type": { "description": "Internal name of the facility type.", "type": "string" }, "facility_type_id": { "description": "Type of the facility associated with the map region.", "type": "string", "x-cast-to": "int32", "x-reference-to": "facility_type.facility_type_id" }, "location_x": { "description": "North-south coordinate of the map region.", "type": "string", "x-cast-to": "float" }, "location_y": { "description": "Elevation of the map region.", "type": "string", "x-cast-to": "float" }, "location_z": { "description": "East-west coordinate of the map region.", "type": "string", "x-cast-to": "float" }, "map_region_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "reward_amount": { "description": "Defunct field. Used to list the amount of domain-specific resources (air/vehicles/infantry) granted for owning this facility.", "type": "string", "x-cast-to": "int32" }, "reward_currency_id": { "description": "Defunct field. Used to list the type of domain-specific resources (air/vehicles/infantry) granted for owning this facility.", "type": "string", "x-cast-to": "int32" }, "tick_reward": { "properties": { "amount": { "description": "Amount of the outfit resource granted per tick while holding this region.", "type": "string", "x-cast-to": "float" }, "description": { "description": "Internal name of the outfit resource granted while holding this region.", "type": "string" } }, "type": "object" }, "zone_id": { "description": "Zone the map region is located in.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "required": [ "map_region_id", "zone_id" ], "examples": [ { "map_region_list": [ { "map_region_id": "2102", "zone_id": "2", "facility_id": "4401", "facility_name": "Mao", "facility_type_id": "4", "facility_type": "Tech Plant", "location_x": "1810", "location_y": "110", "location_z": "1514", "reward_amount": "1", "reward_currency_id": "1000", "capture_reward": { "description": "Synthium - Uncommon", "amount": "8" }, "tick_reward": { "description": "Synthium - Uncommon", "amount": "8" } } ], "returned": 1 } ] }, "marketing_bundle": { "type": "object", "description": "Bundles available for purchase in the in-game store (Depot). This collection represents actual bundles. For pseudo-bundles used to purchase individual weapon attachments or cosmetics, see the `marketing_bundle_with_1_item` collection instead.\n\nNote that there is no guaranteed way of determining whether a given bundle is currently available for purchase. This collection contains many entries for defunct items and bundles, such as the single-use camos from the early days of the game.\n\nThis collection is automatically maintained and generally accurate with regards to certification prices, the daybreak/station cash values are generally less reliable.\n", "x-tags": [ "Items & Bundles" ], "properties": { "cert_price": { "description": "The price of the marketing bundle in Certification Points.", "type": "string", "x-cast-to": "int32" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "The `ps2/image` of the marketing bundle's display icon.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "marketing_bundle_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32", "x-reference-to": "marketing_bundle.marketing_bundle_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "release_time": { "description": "The time the marketing bundle was released as a UTC timestamp.", "type": "string", "x-cast-to": "int32" }, "station_cash_price": { "description": "The price of the marketing bundle in Station Cash.", "type": "string", "x-cast-to": "int32" } }, "required": [ "marketing_bundle_id" ], "examples": [ { "marketing_bundle_list": [ { "marketing_bundle_id": "812821", "name": { "de": "PlanetSide-Legacy-Paket (2022)", "en": "PlanetSide Legacy Bundle (2022)", "es": "Lote de legado de Planetside (2022)", "fr": "Ensemble \"H\u00e9ritage de PlanetSide\"(2022)", "it": "Pacchetto Legacy PlanetSide (2022)", "tr": "NULL" }, "description": { "de": "Feiere die Geschichte der PlanetSide-Serie! Dieses Paket beinhaltet kosmetische Gegenst\u00e4nde f\u00fcr alle Fraktionen und Waffen f\u00fcr VS, NK und TR. Der Heldenbooster wird nur dem Charakter gew\u00e4hrt, der das Paket kauft. \"Perfekte\" Implantate sind f\u00fcr das komplette Konto verf\u00fcgbar und k\u00f6nnen nicht zerlegt werden.", "en": "Celebrate the legacy of the PlanetSide franchise! This bundle contains cosmetics for all factions, and weapons for VS, NC, and TR. Heroic Boost is granted only to the character that purchases the bundle. \"Perfect\" Implants are granted account-wide, and cannot be broken down.", "es": "\"\u00a1Celebra el legado de la serie PlanetSide! El lote contiene decoraciones para todas las facciones y armas para SV, NC y RT. El potenciador \nheroico solo est\u00e1 disponible para el personaje que compre el lote. Los implantes \"\"perfectos\"\" se conceden a toda la cuenta y no pueden desmontarse.\"", "fr": "F\u00eatez l'h\u00e9ritage de la franchise PlanetSide ! Cet ensemble contient des armes pour toutes les factions, et des \u00e9l\u00e9ments esth\u00e9tiques pour la RT, le NC et la SV. Le Boost h\u00e9ro\u00efque n'est fourni que pour le personnage qui ach\u00e8te le lot. Les implants de type \"Parfait\" sont disponibles pour l'ensemble du compte et ne peuvent \u00eatre d\u00e9compos\u00e9s.", "it": "Celebra le origini del franchise di PlanetSide! Questo pacchetto contiene oggetti cosmetici per tutte le fazioni e armi per SV, NC e RT. Il potenziamento eroico pu\u00f2 essere usato solo dal personaggio che ha acquistato il pacchetto. Gli impianti \"Perfect\" sono per tutto l'account e non si possono smontare.", "tr": "NULL" }, "image_id": "807193", "station_cash_price": "0", "cert_price": "NULL", "release_time": "1683702000" } ], "returned": 1 } ] }, "marketing_bundle_item": { "type": "object", "description": "Maps marketing bundles to the items they contain.\n", "x-tags": [ "Items & Bundles" ], "properties": { "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "marketing_bundle_id": { "description": "Marketing bundle side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "marketing_bundle.marketing_bundle_id" }, "quantity": { "description": "The quantity of the item in the marketing bundle.", "type": "string", "x-cast-to": "int32" }, "release_time": { "description": "The time the marketing bundle was released as a UTC timestamp.", "type": "string", "x-cast-to": "int32" } }, "required": [ "marketing_bundle_id", "item_id" ], "examples": [ { "marketing_bundle_item_list": [ { "marketing_bundle_id": "812821", "item_id": "75432", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013508", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013533", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013480", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013477", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013476", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013586", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013587", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013588", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013589", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013590", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013592", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013593", "quantity": "1", "release_time": "1683702000" }, { "marketing_bundle_id": "812821", "item_id": "6013594", "quantity": "1", "release_time": "1683702000" } ], "returned": 14 } ] }, "marketing_bundle_with_1_item": { "type": "object", "description": "These are pseudo-bundles with exactly 1 item each, allowing players to buy individual weapons or cosmetics with Daybreak Cash (formerly Station Cash).\n\nNote that in the case of weapons, these bundles are genreally mirrored by 'regular' bundles in the `marketing_bundle` collection, with the same `marketing_bundle_id`.\n", "x-tags": [ "Items & Bundles" ], "properties": { "cert_price": { "description": "The price of the marketing bundle in Certification Points.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "item_quantity": { "description": "The quantity of the item in the marketing bundle.", "type": "string", "x-cast-to": "int32" }, "marketing_bundle_id": { "description": "Marketing bundle side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "marketing_bundle_with_1_item.marketing_bundle_id" }, "release_time": { "description": "The time the marketing bundle was released as a UTC timestamp.", "type": "string", "x-cast-to": "int32" }, "station_cash_price": { "description": "The price of the marketing bundle in Daybreak Cash (formerly Station Cash).", "type": "string", "x-cast-to": "int32" } }, "required": [ "marketing_bundle_id", "item_id" ], "examples": [ { "marketing_bundle_with_1_item_list": [ { "marketing_bundle_id": "465", "item_id": "17001", "item_quantity": "1", "station_cash_price": "100", "release_time": "1334041200" } ], "returned": 1 } ] }, "metagame_event": { "type": "object", "description": "In-game alerts and other alert-like events.\n\nNote that this endpoint lists alert types that may not be currently enabled in-game, such as the 'Aerial Anomaly' and 'MAXimum Pressure' alert types.\n", "x-tags": [ "Metagame & Alerts" ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "duration_minutes": { "description": "Duration of the event in minutes.", "type": "string", "x-cast-to": "int32" }, "experience_bonus": { "description": "The experience bonus applied during the alert in percent.", "type": "string", "x-cast-to": "int32" }, "metagame_event_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "type": { "description": "The type of the alert.", "type": "string", "x-cast-to": "int32" } }, "required": [ "metagame_event_id" ], "examples": [ { "metagame_event_list": [ { "metagame_event_id": "224", "name": { "de": "Oshur-Erleuchtung", "en": "Oshur Enlightenment", "es": "Iluminaci\u00f3n en Oshur", "fr": "\u00c9veil spirituel d'Oshur", "it": "Risveglio di Oshur" }, "description": { "de": "Kontrolliere das Gebiet, um Oshur zu sperren.", "en": "Control territory to lock Oshur", "es": "Controla territorio para bloquear Oshur", "fr": "Contr\u00f4lez le territoire pour verrouiller Oshur", "it": "Controlla il territorio per bloccare Oshur" }, "type": "9", "experience_bonus": "25", "duration_minutes": "90" } ], "returned": 1 } ] }, "metagame_event_state": { "type": "object", "description": "Enumeratess the available states for alerts.\n", "x-tags": [ "Metagame & Alerts" ], "properties": { "metagame_event_state_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "name": { "description": "Internal name of the event state.", "type": "string" } }, "required": [ "metagame_event_state_id", "name" ], "examples": [ { "metagame_event_state_list": [ { "metagame_event_state_id": "135", "name": "started" }, { "metagame_event_state_id": "136", "name": "restarted" }, { "metagame_event_state_id": "137", "name": "canceled" }, { "metagame_event_state_id": "138", "name": "ended" }, { "metagame_event_state_id": "139", "name": "xp bonus changed" } ], "returned": 5 } ] }, "objective": { "type": "object", "description": "An objective tracking progress towards a directive, mission, or achievement.\n\nSee the `objective_type` collection for a list of available objective types.\n", "x-tags": [ "Progression" ], "properties": { "objective_group_id": { "description": "Unknown. This field allows connecting objectives to directives via the `ps2/objective_set_to_objective` collection.", "type": "string", "x-cast-to": "int32" }, "objective_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "objective_type_id": { "description": "The `ps2/objective_type` of the objective.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective_type.objective_type_id" }, "param1": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param2": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param3": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param4": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param5": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param6": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param7": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param8": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" }, "param9": { "description": "Generic numeric parameter. See the corresponding `ps2/objective_type` for details.", "type": "string", "x-cast-to": "float" } }, "required": [ "objective_id", "objective_type_id", "objective_group_id" ], "examples": [ { "objective_list": [ { "objective_id": "11649", "objective_type_id": "12", "objective_group_id": "10137", "param1": "15", "param4": "-1", "param5": "-1", "param8": "-1" } ], "returned": 1 } ] }, "objective_set_to_objective": { "type": "object", "description": "Maps objective sets to objective groups.\n\nThis collection is peculiar as neither of the types it connects are available on the API. It is however essential for connecting the `directive` collection to `objective` and `objective_type`.\n\nNote that when joining to these queries, the `^on:` and `^to:` fields must be used to specify the relationship.\n", "x-tags": [ "Progression" ], "properties": { "objective_group_id": { "description": "Objective group side of the relationship.", "type": "string", "x-cast-to": "int32", "x-joins-to": [ "objective.objective_group_id" ] }, "objective_set_id": { "description": "Objective set side of the relationship.", "type": "string", "x-cast-to": "int32", "x-joins-to": [ "directive.objective_set_id" ] } }, "required": [ "objective_set_id", "objective_group_id" ], "examples": [ { "objective_set_to_objective_list": [ { "objective_set_id": "4113", "objective_group_id": "10137" } ], "returned": 1 } ] }, "objective_type": { "type": "object", "description": "A type of objective.\n\nThe generic `paramX` fields are documented here. Note that not all fields are used by all objective types, or at all.\n", "x-tags": [ "Progression" ], "properties": { "description": { "description": "The description of the objective type.", "type": "string" }, "objective_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "param1": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param2": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param3": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param4": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param5": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param6": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param7": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param8": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" }, "param9": { "description": "Documentation for this numeric parameter on objectives of this type.", "type": "string" } }, "required": [ "objective_type_id", "description" ], "examples": [ { "objective_type_list": [ { "objective_type_id": "12", "description": "Total Kill Count", "param1": "Kill Count", "param2": "Npc", "param3": "Npc Classification", "param4": "Vehicle", "param5": "Item", "param6": "Item Classification", "param8": "Friendly Fire" } ], "returned": 1 } ] }, "outfit": { "type": "object", "description": "A player-run outfit (guild/clan) in the game.\n", "x-tags": [ "Outfits" ], "properties": { "alias": { "description": "The outfit's alias (aka. tag), or an empty string if the outfit has no alias.", "type": "string" }, "alias_lower": { "description": "Lowercase version of `alias`.", "type": "string" }, "leader_character_id": { "description": "The `ps2/character` of the outfit's leader.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "member_count": { "description": "Number of members in the outfit.", "type": "string", "x-cast-to": "int32" }, "name": { "description": "Canonical name of the outfit.", "type": "string" }, "name_lower": { "description": "Lowercase version of `name`.", "type": "string" }, "outfit_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int64" }, "time_created": { "description": "Time the outfit was created.", "type": "string" }, "time_created_date": { "description": "Human-readable version of `time_created`.", "type": "string" } }, "required": [ "outfit_id" ], "examples": [ { "outfit_list": [ { "outfit_id": "37525047953333155", "name": "Friday Night Ops", "name_lower": "friday night ops", "alias": "FNO", "alias_lower": "fno", "time_created": "1413001215", "time_created_date": "2014-10-11 04:20:15.0", "leader_character_id": "5428010618015197505", "member_count": "5" } ], "returned": 1 } ] }, "outfit_member": { "type": "object", "description": "Outfit membership information for a givne character. Characters that are not members of any outfit will not have an entry in this collection.\n", "x-tags": [ "Outfits" ], "properties": { "character_id": { "description": "The `ps2/character` for this membership entry.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "member_since": { "description": "Time the character joined the outfit.", "type": "string" }, "member_since_date": { "description": "Human-readable version of `member_since`.", "type": "string" }, "outfit_id": { "description": "The `ps2/outfit` the character is a member of.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" }, "rank": { "description": "Custom rank of the character in the outfit.", "type": "string" }, "rank_ordinal": { "description": "Ordinal of the character's rank in the outfit. Lower values are higher ranks.", "type": "string", "x-cast-to": "int32" } }, "required": [ "character_id", "outfit_id" ], "examples": [ { "outfit_member_list": [ { "outfit_id": "37525047953333155", "character_id": "5428010618015197505", "member_since": "1413001215", "member_since_date": "2014-10-11 04:20:15.0", "rank": "Leader", "rank_ordinal": "1" } ], "returned": 1 } ] }, "outfit_member_extended": { "type": "object", "description": "Another variant of the `outfit_member` collection, but with the contents of the corresponding `outfit` merged in. This is useful for bulk lookups of outfit information for heterogenous lists of characters without requiring the explicit use of `c:join` or `c:resolve`.\n", "x-tags": [ "Outfits" ], "properties": { "alias": { "description": "The outfit's alias (aka. tag), or an empty string if the outfit has no alias.", "type": "string" }, "alias_lower": { "description": "Lowercase version of `alias`.", "type": "string" }, "character_id": { "description": "The `ps2/character` for this membership entry.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "leader_character_id": { "description": "The `ps2/character` of the outfit's leader.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" }, "member_count": { "description": "Number of members in the outfit.", "type": "string", "x-cast-to": "int32" }, "member_rank": { "description": "Custom rank of the character in the outfit.", "type": "string" }, "member_rank_ordinal": { "description": "Ordinal of the character's rank in the outfit. Lower values are higher ranks.", "type": "string", "x-cast-to": "int32" }, "member_since": { "description": "Time the character joined the outfit.", "type": "string" }, "member_since_date": { "description": "Human-readable version of `member_since`.", "type": "string" }, "name": { "description": "Canonical name of the outfit.", "type": "string" }, "name_lower": { "description": "Lowercase version of `name`.", "type": "string" }, "outfit_id": { "description": "The `ps2/outfit` the character is a member of.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" }, "time_created": { "description": "Time the outfit was created.", "type": "string" }, "time_created_date": { "description": "Human-readable version of `time_created`.", "type": "string" } }, "required": [ "character_id", "outfit_id" ], "examples": [ { "outfit_member_extended_list": [ { "character_id": "5428010618015197505", "member_since": "1413001215", "member_since_date": "2014-10-11 04:20:15.0", "member_rank": "Leader", "member_rank_ordinal": "1", "outfit_id": "37525047953333155", "name": "Friday Night Ops", "name_lower": "friday night ops", "alias": "FNO", "alias_lower": "fno", "time_created": "1413001215", "time_created_date": "2014-10-11 04:20:15.0", "leader_character_id": "5428010618015197505", "member_count": "5" } ], "returned": 1 } ] }, "outfit_rank": { "type": "object", "description": "Outfits can define their own custom rank names and permissions, which are listed here. Outfits using the default rank names may not have an entry here.\n", "x-tags": [ "Outfits" ], "properties": { "description": { "description": "Custom description of the rank.", "type": "string" }, "name": { "description": "Custom name of the rank.", "type": "string" }, "ordinal": { "description": "Ordinal of the rank. Lower values are higher ranks.", "type": "string", "x-cast-to": "int32" }, "outfit_id": { "description": "The `ps2/outfit` the rank belongs to.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" } }, "required": [ "outfit_id", "ordinal" ], "examples": [ { "outfit_rank_list": [ { "outfit_id": "37564049462661850", "ordinal": "5", "name": "BASTION COMMANDER", "description": "Outfit Enlisted" } ], "returned": 1 } ] }, "player_state_group": { "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "player_state_group_id": { "description": "Player state group to which this entry applies. Not unique.", "type": "string", "x-cast-to": "int32" }, "player_state": { "description": "Name of the player state for this entry.", "type": "string" }, "min_cone_of_fire": { "description": "Minimum cone of fire for this player state in degrees.", "type": "string", "x-cast-to": "float" } }, "type": "object", "required": [ "player_state_group_id" ] }, "player_state_group_2": { "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "player_state_group_id": { "description": "Unique ID of the player state group.", "type": "string", "x-cast-to": "int32" }, "player_state_id": { "description": "Player state ID enum value.", "type": "string", "x-cast-to": "int32", "x-reference-to": "player_state.player_state_id" }, "can_iron_sight": { "description": "Whether the player is allowed to enter aim-down-sights (ADS) in this state (0 or 1).", "type": "string", "x-cast-to": "bool" }, "cof_grow_rate": { "description": "Cone of fire growth per shot.", "type": "string", "x-cast-to": "float" }, "cof_max": { "description": "Maximum cone of fire.", "type": "string", "x-cast-to": "float" }, "cof_min": { "description": "Minimum cone of fire.", "type": "string", "x-cast-to": "float" }, "cof_recovery_delay_ms": { "description": "Time before the cone-of-fire will start to reset after the user stopped firing.", "type": "string", "x-cast-to": "int32" }, "cof_recovery_rate": { "description": "CoThe speed at which the cone-of-fire will return to its starting value after the user stopped firing.", "type": "string", "x-cast-to": "float" }, "cof_shots_before_penalty": { "description": "Number of \"free shots\" before cone of fire penalty is applied.", "type": "string", "x-cast-to": "int32" }, "cof_recovery_delay_threshold": { "description": "(Not yet documented)", "x-cast-to": "int32" }, "cof_turn_penalty": { "description": "(Not yet documented)", "type": "string", "x-cast-to": "float" } }, "type": "object", "required": [ "player_state_group_id", "player_state_id" ] }, "player_state": { "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "player_state_id": { "description": "Unique ID of the player state.", "type": "string", "x-cast-to": "int32" }, "description": { "description": "Name of the player state.", "type": "string" } }, "required": [ "player_state_id", "description" ] }, "profile": { "type": "object", "description": "Original endpoint for infantry profiles. This covers the names and loadout IDs connected to a given profile, and additionally provides movement speed multiplier information for infantry classes. Note that the key fields are also provided by `profile_2`, which not only covers infantry but also vehicles, deployables, and other entities.\n", "x-tags": [ "Fundamentals" ], "properties": { "backpedal_speed_modifier": { "description": "The modifier applied to the movement speed when walking backwards.", "type": "string", "x-cast-to": "float" }, "crouch_speed_modifier": { "description": "The modifier applied to the movement speed when crouching.", "type": "string", "x-cast-to": "float" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "faction_id": { "description": "The `ps2/faction` of the profile.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "image_id": { "description": "The `ps2/image` of the profile.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Relative path to the default image of the profile.", "type": "string" }, "image_set_id": { "description": "The `ps2/image_set` of the profile.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "movement_speed": { "description": "The base movement speed of the profile.", "type": "string", "x-cast-to": "float" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "profile_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "profile_type_description": { "description": "Internal description for the associated `profile_type_id`.", "type": "string" }, "profile_type_id": { "description": "The type of the profile. There is no public `profile_type` collection, this is an internal ID.", "type": "string", "x-cast-to": "int32" }, "sprint_speed_modifier": { "description": "The modifier applied to the movement speed when sprinting.", "type": "string", "x-cast-to": "float" }, "strafe_speed_modifier": { "description": "The modifier applied to the movement speed when strafing.", "type": "string", "x-cast-to": "float" } }, "required": [ "profile_id", "profile_type_id", "faction_id" ], "examples": [ { "profile_list": [ { "profile_id": "12", "profile_type_id": "3", "profile_type_description": "Light Assault", "faction_id": "3", "name": { "de": "Leichte Angriffseinheit", "en": "Light Assault", "es": "Asalto ligero", "fr": "Assaut l\u00e9ger", "it": "Assalto Leggero", "tr": "Hafif Taarruz" }, "description": { "de": "Leichte Angriffseinheit", "en": "Light Assault", "es": "Asalto ligero", "fr": "Assaut l\u00e9ger", "it": "Assalto Leggero", "tr": "Hafif Taarruz" }, "image_set_id": "8", "image_id": "62", "image_path": "/files/ps2/images/static/62.png", "movement_speed": "4", "backpedal_speed_modifier": "0.75", "sprint_speed_modifier": "1.625", "strafe_speed_modifier": "0.75" } ], "returned": 1 } ] }, "profile_2": { "type": "object", "description": "Extended profile endpoint containing all entity types, including NPCs, construction items, and deployables.\n", "x-tags": [ "Fundamentals" ], "properties": { "description": { "description": "Internal description of this profile. Not localized or user-facing.", "type": "string" }, "profile_id": { "description": "Unique ID of the collection. Note that this is one of the few collections where the ID field is not `_id`.", "type": "string", "x-cast-to": "int32" } }, "required": [ "profile_id", "description" ], "examples": [ { "profile_2_list": [ { "profile_id": "33", "description": "Sunderer" } ], "returned": 1 } ] }, "profile_armor_map": { "type": "object", "description": "Maps profiles to the relevant `armor_info` entries.\n\nNote that many of the IDs used here are only available in `profile_2`. Additionally, armor values only concern vehicles, with infantry and deployable classes not having any entries here.\n", "x-tags": [ "Damage Calculation" ], "properties": { "armor_info_id": { "description": "The armor info side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "armor_info.armor_info_id" }, "profile_id": { "description": "The profile side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "rank": { "description": "Unknown. Always 1 as of 2023-06-09.", "type": "string", "x-cast-to": "int32" } }, "required": [ "profile_id", "armor_info_id" ], "examples": [ { "profile_armor_map_list": [ { "profile_id": "29", "armor_info_id": "40", "rank": "1" }, { "profile_id": "29", "armor_info_id": "41", "rank": "1" }, { "profile_id": "29", "armor_info_id": "42", "rank": "1" }, { "profile_id": "29", "armor_info_id": "43", "rank": "1" }, { "profile_id": "29", "armor_info_id": "44", "rank": "1" }, { "profile_id": "29", "armor_info_id": "45", "rank": "1" } ], "returned": 6 } ] }, "profile_resist_map": { "type": "object", "description": "Maps profiles to the relevant `resist_info` entries. Note that many of the profile IDs used here are only available in the `profile_2` collection.\n", "x-tags": [ "Damage Calculation" ], "properties": { "profile_id": { "description": "The profile side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "rank": { "description": "Unknown.", "type": "string", "x-cast-to": "int32" }, "resist_info_id": { "description": "The resist info side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "resist_info.resist_info_id" } }, "required": [ "profile_id", "resist_info_id" ], "examples": [ { "profile_resist_map_list": [ { "profile_id": "26", "resist_info_id": "31", "rank": "1" }, { "profile_id": "26", "resist_info_id": "32", "rank": "1" }, { "profile_id": "26", "resist_info_id": "33", "rank": "1" }, { "profile_id": "26", "resist_info_id": "34", "rank": "1" } ], "returned": 26 } ] }, "projectile": { "type": "object", "description": "Projectiles specify the travel characteristics of a weapon on its way to the target, such as its speed, its bullet drop, or maximum flight time/distance.\n\nNote that multiple fire modes can use the same projectile. This usually includes the hipfire vs. aimed fire modes, but can also include different weapons altogether.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "acceleration": { "description": "The acceleration of the projectile in metres per second per second. If NULL, the projectile will not accelerate and retain its initial speed.", "type": "string", "x-cast-to": "float" }, "arm_distance": { "description": "Minimum travel distance before the projectile is armed and can detonate. Used for Flak and Archer explosions.", "type": "string", "x-cast-to": "int32" }, "detonate_distance": { "description": "Proximity required for Flak detonation.", "type": "string", "x-cast-to": "float" }, "detonate_on_contact": { "description": "Whether the projectile will detonate on contact with a surface or player.", "type": "string", "x-cast-to": "boolean" }, "drag": { "type": "string", "x-cast-to": "float" }, "gravity": { "description": "Gravity applied to the projectile in metres per second per second. Togther with the current `speed`, this can be used to calculate bullet drop over time.", "type": "string", "x-cast-to": "float" }, "lifespan": { "description": "Lifespan of the projectile in seconds. Together with `speed`, `acceleration`, and `speed_max`, this can be used to calculate the maximum range of a given projectile.", "type": "string", "x-cast-to": "float" }, "lockon_acceleration": { "description": "Acceleration of the projectile while locked onto a target.", "type": "string", "x-cast-to": "float" }, "lockon_lifespan": { "description": "Duration of the lock-on effect in seconds. After this time, the lock will be lost.", "type": "string", "x-cast-to": "float" }, "lockon_lose_angle": { "description": "Field of view of the projectile when tracking a target. If the target escapes this cone, the lock is lost.", "type": "string", "x-cast-to": "float" }, "lockon_proximity_distance": { "description": "Distance at which the projectile will proximity-lock onto a target while in flight. Note that this value designates the diameter of the sphere of influence, not the radius.", "type": "string", "x-cast-to": "float" }, "lockon_seek_in_flight": { "description": "Whether a dumb-fired projectile will attempt to lock onto targets in flight. Used by the Coyote and Hyena missile launchers.", "type": "string", "x-cast-to": "boolean" }, "projectile_flight_type_id": { "description": "The `ps2/projectile_flight_type` of the projectile.", "type": "string", "x-cast-to": "int32", "x-reference-to": "projectile_flight_type.projectile_flight_type_id" }, "projectile_id": { "description": "Unique ID of the projectile.", "type": "string", "x-cast-to": "int32" }, "projectile_radius": { "description": "The radius of the projectile in metres. Relevant to hitbox collisions.", "type": "string", "x-cast-to": "float" }, "speed": { "description": "The initial speed of the projectile upon firing in meters per second. Note that this may be different from the muzzle velocity displayed for a given weapon.", "type": "string", "x-cast-to": "int32" }, "speed_max": { "description": "Upper bound of the speed of the projectile in meters per second. On projectiles with a non-NULL `acceleration`, this is the top speed the projectile will reach.", "type": "string", "x-cast-to": "int32" }, "sticks_to_players": { "description": "Whether the projectile will stick to infantry on contact. Note that in addition to Sticky Grenades, this will also be true for projectiles that only stick to MAXes, such as Nano-Repair or Anti-Vehicle Grenades.", "type": "string", "x-cast-to": "boolean" }, "sticky": { "description": "Whether the projectile will stick to surfaces. This includes Sticky Grenades and bricks of C-4 explosives.", "type": "string", "x-cast-to": "boolean" }, "tether_distance": {}, "turn_rate": { "description": "Turn rate of the projectile in degrees per second. Used to limit the ability of lock-on projectiles to track their target.", "type": "string", "x-cast-to": "float" } }, "required": [ "projectile_id", "projectile_flight_type_id" ], "examples": [ { "projectile_list": [ { "projectile_id": "33004", "projectile_flight_type_id": "1", "speed": "50", "speed_max": "100", "turn_rate": "1.5", "lifespan": "5", "drag": "0", "gravity": "1", "lockon_acceleration": "6.67", "lockon_lifespan": "5", "detonate_on_contact": "1", "sticky": "0", "sticks_to_players": "0", "lockon_lose_angle": "145", "lockon_seek_in_flight": "0", "projectile_radius": "0.03" } ], "returned": 1 } ] }, "projectile_flight_type": { "type": "object", "description": "Enumerates the flight types used to categorize projectiles by their travel characteristics.\n\nThis mostly controls whether the projectile is ballistic, Flak-based, or \"Dynamic\", used to represent thrown items such as grenades, explosives, and ammo packs.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "description": { "description": "Description of the projectile flight type.", "type": "string", "x-cast-to": "string" }, "projectile_flight_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "projectile_flight_type_id", "description" ], "examples": [ { "projectile_flight_type_list": [ { "projectile_flight_type_id": "1", "description": "Ballistic" }, { "projectile_flight_type_id": "3", "description": "True Ballstic - Uses Real Gravity" }, { "projectile_flight_type_id": "9", "description": "Dynamic" }, { "projectile_flight_type_id": "10", "description": "Proximity Detonate" } ], "returned": 4 } ] }, "region": { "type": "object", "description": "Display name of the game regions.\n\nThis endpoint mostly contains the localized display name of the a map region. Regions and map regions are interchangeable and governed by the same IDs.\n", "x-tags": [ "Map & Regions" ], "properties": { "initial_faction_id": { "description": "Defunct field. No longer applicable as warpgates are rotated on zone unlock.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "region_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "zone_id": { "description": "ID of the zone in which the region is located.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "required": [ "region_id", "zone_id" ], "examples": [ { "region_list": [ { "region_id": "2102", "zone_id": "2", "initial_faction_id": "1", "name": { "de": "Mao", "en": "Mao", "es": "Mao", "fr": "Mao", "it": "Mao", "tr": "Mao" } } ], "returned": 1 } ] }, "resist_info": { "type": "object", "description": "Lists resistances against certain types of damage.\n", "x-tags": [ "Damage Calculation" ], "properties": { "description": { "description": "Description of the resist info entry.", "type": "string", "x-cast-to": "string" }, "multiplier_when_headshot": { "description": "Headshot multiplier for this resistance.", "type": "string", "x-cast-to": "float" }, "resist_info_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "resist_percent": { "description": "Percentage of damage resisted. Negative numbers increase damage. Note that resistances can be greater than 100% to compensate for extra damage from relevant `armor_info` entries.", "type": "string", "x-cast-to": "float" }, "resist_type_id": { "description": "Resist type associated with this resist info entry.", "type": "string", "x-cast-to": "int32", "x-reference-to": "resist_type.resist_type_id" } }, "required": [ "resist_info_id", "resist_type_id" ], "examples": [ { "resist_info_list": [ { "resist_info_id": "1", "resist_type_id": "1", "resist_percent": "80", "multiplier_when_headshot": "1", "description": "MAX - Melee" } ], "returned": 1 } ] }, "resist_type": { "type": "object", "description": "Enumeration of resistance types used to balance damage types against various targets.\n", "x-tags": [ "Damage Calculation" ], "properties": { "description": { "description": "Description of the resist type.", "type": "string", "x-cast-to": "string" }, "resist_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "resist_type_id", "description" ], "examples": [ { "resist_type_list": [ { "resist_type_id": "0", "description": "None" }, { "resist_type_id": "1", "description": "Melee" }, { "resist_type_id": "2", "description": "Small Arms" }, { "resist_type_id": "4", "description": "Heavy Machine Guns" }, { "resist_type_id": "5", "description": "Heavy Anti-Armor" }, { "resist_type_id": "6", "description": "Common Explosive" }, { "resist_type_id": "7", "description": "Tank Shell" }, { "resist_type_id": "8", "description": "Aircraft Machine Gun" }, { "resist_type_id": "12", "description": "Flak Explosive Blast" }, { "resist_type_id": "20", "description": "Sniper Rifles" }, { "resist_type_id": "22", "description": "Anti-Aircraft Machine Gun" }, { "resist_type_id": "23", "description": "Air to Ground Warhead" }, { "resist_type_id": "28", "description": "AP Gatling" }, { "resist_type_id": "34", "description": "Infantry Rocket Launchers" }, { "resist_type_id": "40", "description": "Anti-Materiel Rifle" }, { "resist_type_id": "45", "description": "A2A Missile" }, { "resist_type_id": "46", "description": "Core Explosion / Glaive" }, { "resist_type_id": "47", "description": "Orbital Strike" }, { "resist_type_id": "64", "description": "Burning" }, { "resist_type_id": "68", "description": "Infantry Lock-on" }, { "resist_type_id": "69", "description": "Melee: Armor Piercing" } ], "returned": 21 } ] }, "resource_type": { "type": "object", "description": "Resources consumed by abilities such as the Heavy Overshield.\n", "x-tags": [ "Abilities & Effects" ], "properties": { "description": { "description": "Description of the resource type.", "type": "string", "x-cast-to": "string" }, "resource_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "resource_type_id", "description" ], "examples": [ { "resource_type_list": [ { "resource_type_id": "1", "description": "Health" }, { "resource_type_id": "7", "description": "Fuel" }, { "resource_type_id": "9", "description": "Heavy Shield" }, { "resource_type_id": "35", "description": "Cloaker Juice" }, { "resource_type_id": "38", "description": "Medic Fuel" }, { "resource_type_id": "41", "description": "NC MAX Aegis Shield 01" }, { "resource_type_id": "43", "description": "NC MAX Aegis Shield 02" }, { "resource_type_id": "44", "description": "NC MAX Aegis Shield 03" }, { "resource_type_id": "45", "description": "NC MAX Aegis Shield 04" }, { "resource_type_id": "46", "description": "NC MAX Aegis Shield 05" }, { "resource_type_id": "50", "description": "VS: MAX: Ability: Zealot" }, { "resource_type_id": "58", "description": "Cortium" }, { "resource_type_id": "75", "description": "Ambusher Fuel" }, { "resource_type_id": "133", "description": "NSO: MAX: Time Bomb" }, { "resource_type_id": "154", "description": "Thrust" }, { "resource_type_id": "157", "description": "Demeter Veil" } ], "returned": 16 } ] }, "reward": { "type": "object", "description": "A reward granted for completing a directive, mission, or achievement.\n", "x-tags": [ "Progression" ], "properties": { "count_max": { "description": "Maximum number of items rewarded.", "type": "string", "x-cast-to": "int32" }, "count_min": { "description": "Minimum number of items rewarded.", "type": "string", "x-cast-to": "int32" }, "param1": { "description": "Generic numeric parameter. See the corresponding `ps2/reward_type` for details.", "type": "string", "x-cast-to": "float" }, "param2": { "description": "Generic numeric parameter. See the corresponding `ps2/reward_type` for details.", "type": "string", "x-cast-to": "float" }, "param3": { "description": "Generic numeric parameter. See the corresponding `ps2/reward_type` for details.", "type": "string", "x-cast-to": "float" }, "param4": { "description": "Generic numeric parameter. See the corresponding `ps2/reward_type` for details.", "type": "string", "x-cast-to": "float" }, "param5": { "description": "Generic numeric parameter. See the corresponding `ps2/reward_type` for details.", "type": "string", "x-cast-to": "float" }, "reward_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "reward_type_id": { "description": "Reward type associated with this reward.", "type": "string", "x-cast-to": "int32", "x-reference-to": "reward_type.reward_type_id" } }, "required": [ "reward_id", "reward_type_id" ], "examples": [ { "reward_list": [ { "reward_id": "4771", "reward_type_id": "1", "count_min": "1", "count_max": "1", "param1": "15746", "param2": "0", "param3": "0" } ], "returned": 1 } ] }, "reward_group_to_reward": { "type": "object", "description": "Maps a reward group to one or more rewards.\n\nThis collection, together with `reward_set_to_reward_group`, allows connecting directive tiers to the rewards they grant upon completion.\n", "x-tags": [ "Progression" ], "properties": { "reward_group_id": { "description": "Reward group associated with this reward.", "type": "string", "x-cast-to": "int32" }, "reward_id": { "description": "Reward associated with this reward group.", "type": "string", "x-cast-to": "int32", "x-reference-to": "reward.reward_id" } }, "required": [ "reward_group_id", "reward_id" ], "examples": [ { "reward_group_to_reward_list": [ { "reward_group_id": "10074", "reward_id": "4771" }, { "reward_group_id": "10074", "reward_id": "4772" }, { "reward_group_id": "10074", "reward_id": "4773" }, { "reward_group_id": "10074", "reward_id": "6699" } ], "returned": 4 } ] }, "reward_set_to_reward_group": { "type": "object", "description": "Maps a reward set to its reward group.\n\nThis collection, together with `reward_group_to_reward`, allows connecting directive tiers to the rewards they grant upon completion.\n", "x-tags": [ "Progression" ], "properties": { "reward_group_id": { "description": "Reward group associated with this reward set.", "type": "string", "x-cast-to": "int32" }, "reward_set_id": { "description": "Reward set associated with this reward group.", "type": "string", "x-cast-to": "int32" } }, "required": [ "reward_set_id", "reward_group_id" ], "examples": [ { "reward_set_to_reward_group_list": [ { "reward_set_id": "4466", "reward_group_id": "10074" } ], "returned": 1 } ] }, "reward_type": { "type": "object", "description": "A type of reward.\n\nThe generic `paramX` fields are documented here. Note that not all fields are used by all reward types, or at all.\n", "x-tags": [ "Progression" ], "properties": { "count_max": { "description": "Documentation for this parameter on rewards of this type.", "type": "string" }, "count_min": { "description": "Documentation for this parameter on rewards of this type.", "type": "string" }, "description": { "description": "Description of the reward type.", "type": "string" }, "param1": { "description": "Documentation for this numeric parameter on rewards of this type.", "type": "string" }, "param2": { "description": "Documentation for this numeric parameter on rewards of this type.", "type": "string" }, "param3": { "description": "Documentation for this numeric parameter on rewards of this type.", "type": "string" }, "param4": { "description": "Documentation for this numeric parameter on rewards of this type.", "type": "string" }, "param5": { "description": "Documentation for this numeric parameter on rewards of this type.", "type": "string" }, "reward_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "reward_type_id", "description" ], "examples": [ { "reward_type_list": [ { "reward_type_id": "1", "description": "Item", "count_min": "# of items to give", "param1": "Item ID", "param2": "currency_type (-1 for coin)", "param3": "Flag Goto Claim", "param4": "Required Scalar Percent" }, { "reward_type_id": "2", "description": "Currency", "count_min": "rand # to add to P1", "param1": "# of coin", "param2": "currency_type (-1 for coin)", "param3": "award type" }, { "reward_type_id": "3", "description": "XP", "param1": "# of exp", "param2": "Profile (0 = current)", "param3": "award type" } ], "returned": 3 } ] }, "single_character_by_id": { "description": "Endpoint for retrieving bulk character stats.\n\nThis endpoint's payload is a superset of `character` and additionally includes data from\nrelated `characters_*` collections:\n\n- `characters_currency`\n- `characters_stat_history`\n- `characters_stat`\n- `characters_stat_by_faction`\n- `characters_weapon_stat`\n- `characters_weapon_stat_by_faction`\n- `characters_items`\n\nThis endpoint is generally faster than querying these collections individually, but it\ncomes with significant bandwidth costs. Note that this endpoint does not support most query\ncommands, and that `c:show` and `c:hide` cannot be used to reduce the amount of data\nreturned.\n", "x-tags": [ "Character Information" ], "allOf": [ { "type": "object", "description": "Main `character` collection holding player data.\n\nThis collection is randomly distributed across 20 different databases, causing some unusual behaviour when filtering. For example, the `c:distinct` parameter will fetch the distinct values for each database and aggregate them in the response, resulting in duplicate entries.\n\nIn addition to the commonly-used parameters provided, this endpoint may be queried by any of its fields, including sub-keys like `times.creation`.\n", "x-tags": [ "Character Information" ], "properties": { "battle_rank": { "description": "Sub-object providing battle rank information.", "properties": { "percent_to_next": { "description": "Progress to the next level-up.", "type": "string", "x-cast-to": "float" }, "value": { "description": "Current battle rank. Note that due to the A.S.P. prestige system, this is no longer sufficient to express player level. Always check `prestige_level` as well.", "type": "string" } }, "type": "object" }, "certs": { "description": "Sub-object providing certification point information.", "properties": { "available_points": { "description": "Current certification point balance.", "type": "string", "x-cast-to": "int32" }, "earned_points": { "description": "Certifications earned through experience gain.", "type": "string", "x-cast-to": "int32" }, "gifted_points": { "description": "Certifications gifted through in-game events or refunds.", "type": "string", "x-cast-to": "int32" }, "percent_to_next": { "description": "Progress to earning the next certification point (every 250 exp).", "type": "string", "x-cast-to": "float" }, "spent_points": { "description": "Certifications points spent on skills and implant bundles.", "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "character_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int64" }, "daily_ribbon": { "description": "Sub-object for daily ribbon bonuses. Note that ribbon bonuses have been disabled, rendering this object useless. It is recommended to treat is as optional in client code in case it ever gets removed from the response object.", "properties": { "count": { "description": "Number of daily ribbon bonuses available for collection.", "type": "string", "x-cast-to": "int32" }, "date": { "description": "Human-readable version of `time`.", "type": "string" }, "time": { "description": "Next time a daily ribbon bonus will be granted.", "type": "string" } }, "type": "object" }, "faction_id": { "description": "Faction of the character. For NSOs, this equals the value of NSOs. An NSOs currently or home faction is not exposed on the REST API, but can be determined via the `team_id` of some WebSocket payloads.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "head_id": { "description": "Identifier for the character's in-game model. Note that with gender change tokens, this is no longer guaranteed to be immutable across a character's career.", "type": "string", "x-cast-to": "int32" }, "name": { "description": "Name of the character. Use the `first_lower` field for faster case-insensitive searches without needing to set `c:case=false`.", "properties": { "first": { "type": "string" }, "first_lower": { "type": "string" } }, "type": "object" }, "prestige_level": { "description": "The A.S.P. rank of the character.", "type": "string", "x-cast-to": "int32" }, "profile_id": { "description": "Class of the character when the last logged off. This value can generally only be one of the 24 infantry classes available in the legacy `ps2/profile` collection, though other values are possible due to bad data or deleted characters.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "times": { "description": "Sub-object providing login time and playtime information.", "properties": { "creation": { "description": "Character creation timestamp in UTC.", "type": "string" }, "creation_date": { "description": "Human-readable version of `creation`.", "type": "string" }, "last_login": { "description": "Last time the character logged in. Together with `last_save`, this can be used to construct the duration of the last play session of the character.", "type": "string" }, "last_login_date": { "description": "Human-readable version of `last_login`.", "type": "string" }, "last_save": { "description": "Last time the character info was updated. This generally corresponds to the last time the character logged off. For this reason, characters are generally not available on the API during their first play session.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "login_count": { "description": "Number of individual logins by the character.", "type": "string", "x-cast-to": "int32" }, "minutes_played": { "description": "Total playtime in minutes.", "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "title_id": { "description": "Currently selected title of the character. Useful for playing long names of players, e.g. \"Snowblower Higby\". A title ID of `0` corresponds to a player having selected \"No Title\" in-game.", "type": "string", "x-cast-to": "int32", "x-reference-to": "title.title_id" } }, "required": [ "character_id" ], "examples": [ { "character_list": [ { "character_id": "5428010618015189601", "name": { "first": "Higby", "first_lower": "higby" }, "faction_id": "2", "head_id": "1", "title_id": "100", "times": { "creation": "1353427357", "creation_date": "2012-11-20 16:02:37.0", "last_save": "1669323771", "last_save_date": "2022-11-24 21:02:51.0", "last_login": "1669320455", "last_login_date": "2022-11-24 20:07:35.0", "login_count": "1738", "minutes_played": "75517" }, "certs": { "earned_points": "214706", "gifted_points": "78844", "spent_points": "257491", "available_points": "36059", "percent_to_next": "0.1721388888362" }, "battle_rank": { "percent_to_next": "2", "value": "101" }, "profile_id": "4", "daily_ribbon": { "count": "0", "time": "1669248000", "date": "2022-11-24 00:00:00.0" }, "prestige_level": "0" } ], "returned": 1 } ] }, { "properties": { "currency": { "type": "object", "properties": { "currency_id": { "description": "Unique ID of the currency being returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "currency.currency_id" }, "currency_name": { "description": "Internal name of the currency being returned.", "type": "string" }, "prestige_currency": { "description": "Number of A.S.P. tokens available to the character.", "type": "string", "x-cast-to": "int32" }, "quantity": { "description": "Amount of currency the character owns.", "type": "string", "x-cast-to": "int32" } } }, "items": { "items": { "description": "Query the items of a character. Note that this collection no longer lists account-wide item unlocks as this served as a fingerprint to identify players across multiple characters.\n", "x-tags": [ "Character Information" ], "allOf": [ { "properties": { "item_id": { "description": "Item side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" } }, "type": "object", "required": [ "item_id" ] }, { "properties": { "character_id": { "description": "Character side of the relationship.", "type": "string", "x-cast-to": "int64", "x-reference-to": "character.character_id" } }, "type": "object" } ], "required": [ "character_id", "item_id" ] }, "type": "array" }, "stats": { "properties": { "stat": { "items": { "properties": { "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "profile_id": { "description": "Class for which stats are being returne.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" }, "value_daily": { "description": "Value of the stat for the last 24 hours.", "type": "string", "x-cast-to": "int32" }, "value_forever": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "value_monthly": { "description": "Value of the stat for the last 30 days.", "type": "string", "x-cast-to": "int32" }, "value_one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "value_weekly": { "description": "Value of the stat for the last 7 days.", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "stat_name" ] }, "type": "array" }, "stat_by_faction": { "items": { "properties": { "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "profile_id": { "description": "Class for which stats are being returne.", "type": "string", "x-cast-to": "int32", "x-reference-to": "profile_2.profile_id" }, "stat_name": { "description": "Name of the stat being returned.", "type": "string" }, "value_daily_nc": { "description": "Value of the stat for the last 24 hours (NC).", "type": "string", "x-cast-to": "int32" }, "value_daily_tr": { "description": "Value of the stat for the last 24 hours (TR).", "type": "string", "x-cast-to": "int32" }, "value_daily_vs": { "description": "Value of the stat for the last 24 hours (VS).", "type": "string", "x-cast-to": "int32" }, "value_forever_nc": { "description": "All-time value of the stat (NC).", "type": "string", "x-cast-to": "int32" }, "value_forever_tr": { "description": "All-time value of the stat (TR).", "type": "string", "x-cast-to": "int32" }, "value_forever_vs": { "description": "All-time value of the stat (VS).", "type": "string", "x-cast-to": "int32" }, "value_monthly_nc": { "description": "Value of the stat for the last 30 days (NC).", "type": "string", "x-cast-to": "int32" }, "value_monthly_tr": { "description": "Value of the stat for the last 30 days (TR).", "type": "string", "x-cast-to": "int32" }, "value_monthly_vs": { "description": "Value of the stat for the last 30 days (VS).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_nc": { "description": "Highest value of the stat in a single life (NC).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_tr": { "description": "Highest value of the stat in a single life (TR).", "type": "string", "x-cast-to": "int32" }, "value_one_life_max_vs": { "description": "Highest value of the stat in a single life (VS).", "type": "string", "x-cast-to": "int32" }, "value_weekly_nc": { "description": "Value of the stat for the last 7 days (NC).", "type": "string", "x-cast-to": "int32" }, "value_weekly_tr": { "description": "Value of the stat for the last 7 days (TR).", "type": "string", "x-cast-to": "int32" }, "value_weekly_vs": { "description": "Value of the stat for the last 7 days (VS).", "type": "string", "x-cast-to": "int32" } }, "type": "object", "required": [ "profile_id", "stat_name" ] }, "type": "array" }, "stat_history": { "properties": { "battle_rank": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "certs": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "deaths": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "facility_capture": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "facility_defend": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "kills": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "medals": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "ribbons": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "score": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] }, "time": { "properties": { "all_time": { "description": "All-time value of the stat.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "one_life_max": { "description": "Highest value of the stat in a single life.", "type": "string", "x-cast-to": "int32" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" } }, "type": "object" } }, "type": "object", "required": [ "stat_name" ] } }, "type": "object" }, "weapon_stat": { "items": { "properties": { "item_id": { "description": "The ID of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "stat_name": { "description": "The name of the stat being recorded.", "type": "string", "x-reference-to": "characters_stat.stat_name" }, "value": { "description": "The all-time value of the given stat.", "type": "string", "x-cast-to": "int32" }, "vehicle_id": { "description": "The ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object", "required": [ "item_id", "stat_name" ] }, "type": "array" }, "weapon_stat_by_faction": { "items": { "properties": { "item_id": { "description": "The ID of the item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "last_save": { "description": "Last time the stat was saved.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "stat_name": { "description": "The name of the stat being recorded.", "type": "string", "x-reference-to": "characters_stat.stat_name" }, "value_nc": { "description": "The all-time value of the given stat for the NC faction.", "type": "string", "x-cast-to": "int32" }, "value_tr": { "description": "The all-time value of the given stat for the TR faction.", "type": "string", "x-cast-to": "int32" }, "value_vs": { "description": "The all-time value of the given stat for the VS faction.", "type": "string", "x-cast-to": "int32" }, "vehicle_id": { "description": "The ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "type": "object", "required": [ "item_id", "stat_name" ] }, "type": "array" } }, "type": "object" } }, "type": "object" } ], "required": [ "character_id" ] }, "skill": { "type": "object", "description": "Purchasable skills, such as certifications and A.S.P. skills.\n", "x-tags": [ "Certifications & A.S.P." ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "grant_item_id": { "description": "Item granted by this skill. The skill must be unlocked for the item to be available in the player's loadouts.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "image_id": { "description": "Image associated with this skill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the image associated with this skill.", "type": "string", "x-cast-to": "string" }, "image_set_id": { "description": "Image set associated with this skill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "skill_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "skill_line_id": { "description": "Skill line containing this skill.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill_line.skill_line_id" }, "skill_line_index": { "description": "Position of this skill for upgradable skill lines such as Ammo Capacity.", "type": "string", "x-cast-to": "int32" }, "skill_points": { "description": "Number of skill points (Certs or A.S.P. tokens) required to unlock this skill.", "type": "string", "x-cast-to": "int32" } }, "required": [ "skill_set", "skill_line_id", "skill_line_index" ], "examples": [ { "skill_list": [ { "skill_id": "34", "skill_line_id": "13", "skill_line_index": "0", "skill_points": "100", "grant_item_id": "182", "name": { "de": "Schalld\u00e4mpfer", "en": "Suppressor", "es": "Silenciador", "fr": "Silencieux", "it": "Soppressore", "tr": "Susturucu" }, "description": { "de": "Verringert M\u00fcndungsfeuer und Lautst\u00e4rke.", "en": "Decreases muzzle flash and audio range.", "es": "Disminuye el alcance del fogonazo y el sonido al disparar.", "fr": "Diminue l'\u00e9clair du tir et le bruit.", "it": "Riduce la fiammata e la gittata sonora dell'arma.", "tr": "Namlu alevi ve sesinin duyulma mesafesini azalt\u0131r." }, "image_set_id": "443", "image_id": "1300", "image_path": "/files/ps2/images/static/1300.png" } ], "returned": 1 } ] }, "skill_category": { "type": "object", "description": "Skill categories represent a grouping of skills.\n\nThey usually group skills by the loadout slots for which they provide items, such as \"Passive Systems\" or \"Ability Slot\". On weapons, they generally represent a given attachment slot.\n", "x-tags": [ "Certifications & A.S.P." ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "Image associated with this skill category.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the image associated with this skill category.", "type": "string", "x-cast-to": "string" }, "image_set_id": { "description": "Image set associated with this skill category.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "skill_category_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "skill_points": { "description": "Unused.", "type": "string", "x-cast-to": "int32" }, "skill_set_id": { "description": "Skill set containing this skill category.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill_set.skill_set_id" }, "skill_set_index": { "description": "Position of this skill category within its skill set.", "type": "string", "x-cast-to": "int32" } }, "required": [ "skill_category_id", "skill_set_id", "skill_set_index" ], "examples": [ { "skill_category_list": [ { "skill_category_id": "1", "skill_set_id": "10", "skill_set_index": "0", "skill_points": "0", "name": { "de": "Passive Systeme", "en": "Passive Systems", "es": "Sistemas pasivos", "fr": "Syst\u00e8mes passifs", "it": "Sistemi passivi", "tr": "Pasif Sistemler" }, "image_set_id": "1", "image_id": "35", "image_path": "/files/ps2/images/static/35.png" } ], "returned": 1 } ] }, "skill_line": { "type": "object", "description": "Skill lines represent upgrade paths for skills, such as Ammo Capacity.\n", "x-tags": [ "Certifications & A.S.P." ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "Image associated with this skill line.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the image associated with this skill line.", "type": "string", "x-cast-to": "string" }, "image_set_id": { "description": "Image set associated with this skill line.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "skill_category_id": { "description": "Skill category containing this skill line.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill_category.skill_category_id" }, "skill_category_index": { "description": "Position of this skill line within its skill category.", "type": "string", "x-cast-to": "int32" }, "skill_line_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "skill_points": { "description": "Unused.", "type": "string", "x-cast-to": "int32" } }, "required": [ "skill_line_id" ], "examples": [ { "skill_line_list": [ { "skill_line_id": "88", "skill_points": "0", "skill_category_id": "44", "skill_category_index": "0", "name": { "de": "Maximale Munitionskapazit\u00e4t", "en": "Maximum Ammo Capacity", "es": "Capacidad de munici\u00f3n m\u00e1xima", "fr": "Capacit\u00e9 maximale en munitions", "it": "Capacit\u00e0 di munizioni massima", "tr": "Maksimum Cephane Kapasitesi" }, "description": { "de": "Erh\u00f6ht die maximale Munitionskapazit\u00e4t der Waffe.", "en": "Increases the maximum ammo capacity of the weapon.", "es": "Aumenta la capacidad de munici\u00f3n m\u00e1xima del arma.", "fr": "Augmente la capacit\u00e9 maximale en munitions de l'arme.", "it": "Aumenta la capacit\u00e0 massima di munizioni dell'arma.", "tr": "Silah\u0131n azami cephane kapasitesini artt\u0131r\u0131r." }, "image_set_id": "2049", "image_id": "3744", "image_path": "/files/ps2/images/static/3744.png" } ], "returned": 1 } ] }, "skill_set": { "type": "object", "description": "Skill sets represent the top-level grouping of skills.\n\nIn the old certification menu, this would group weapon-related skill lines into a sub-tree beneath the weapon itself.\n", "x-tags": [ "Certifications & A.S.P." ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "Image associated with this skill set.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image.image_id" }, "image_path": { "description": "Path to the image associated with this skill set.", "type": "string", "x-cast-to": "string" }, "image_set_id": { "description": "Image set associated with this skill set.", "type": "string", "x-cast-to": "int32", "x-reference-to": "image_set.image_set_id" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "required_item_id": { "description": "The item associated with this skill set. Contained skill lines are only available once this item has been unlocked.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "skill_points": { "description": "Unlock cost of the skill set. For weapon skill sets, this is equal to the certification cost of the weapon item.", "type": "string", "x-cast-to": "int32" }, "skill_set_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "skill_set_id" ], "examples": [ { "skill_set_list": [ { "skill_set_id": "43", "skill_points": "875", "required_item_id": "2510", "name": { "de": "PRIM\u00c4RWAFFE: M40 Fury-F", "en": "PRIMARY WEAPON: M40 Fury-F", "es": "ARMA PRIMARIA: M40 Fury-F", "fr": "ARME PRINCIPALE: Furie-F M40", "it": "ARMA PRIMARIA: M40 Fury-F", "tr": "PRIMARY WEAPON: M40 Fury-F" }, "description": { "de": "Der Fury feuert 40mm-Granaten, die effektiv gegen die Infanterie und leichte Panzerungen sind. Er kann ebenso leichten Schaden an schwer gepanzerten Ziele verursachen. F\u00fcr alle Fraktionen.", "en": "The Fury launches 40mm grenades that are effective against infantry and light armor. It is also capable of light damage against heavy armor. All factions can use this weapon.", "es": "El Fury lanza granadas de 40 mm eficaces contra infanter\u00eda y blindaje ligero. Adem\u00e1s, son capaces de da\u00f1ar ligeramente blindajes pesados. Todas las facciones pueden usar esta arma.", "fr": "Le Furie lance des grenades de 40mm qui sont efficaces contre l'infanterie et les blindages l\u00e9gers. Il est \u00e9galement capable d'infliger des d\u00e9g\u00e2ts l\u00e9gers aux blindages lourds. Toutes les factions peuvent l'utiliser.", "it": "Il Fury lancia granate di 40 mm efficaci contro la fanteria e le corazzature leggere. Pu\u00f2 anche infliggere danni leggeri ai corazzati pesanti. Quest'arma pu\u00f2 essere usata da tutte le fazioni.", "tr": "The Fury launches 40mm grenades that are effective against infantry and light armor. It is also capable of light damage against heavy armor. All factions can use this weapon." }, "image_set_id": "2029", "image_id": "3724", "image_path": "/files/ps2/images/static/3724.png" } ], "returned": 1 } ] }, "target_type": { "type": "object", "description": "Enumerates the target types used to categorize the applicable targets of a weapon or effect.\n\nThis is effectively a constant mapping and can be cached aggressively.\n", "x-tags": [ "Damage Calculation" ], "properties": { "description": { "description": "Description of the target type.", "type": "string", "x-cast-to": "string" }, "target_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "target_type_id", "description" ], "examples": [ { "target_type_list": [ { "target_type_id": "1", "description": "Self" }, { "target_type_id": "2", "description": "Any" }, { "target_type_id": "3", "description": "Enemy" }, { "target_type_id": "4", "description": "Ally" } ], "returned": 4 } ] }, "title": { "type": "object", "description": "Selectable titles for a character.\n\nNote that title IDs of 0 signify no title being selected.\n", "x-tags": [ "Character Information" ], "properties": { "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "title_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "title_id" ], "examples": [ { "title_list": [ { "title_id": "202", "name": { "de": "Dreadnaught", "en": "Dreadnaught", "es": "Acorazado", "fr": "Dreadnaught", "it": "Dreadnaught" } } ], "returned": 1 } ] }, "vehicle": { "type": "object", "description": "Basic vehicle information such as name, description, and type.\n\nNote that vehicle types are only used internally and are not directly tied to damage mechanics or resistances. Liberators and Galaxies are still considered \"Light Aircraft\" in this endpoint.\n", "x-tags": [ "Vehicles" ], "properties": { "cost": { "description": "Defunct field. Does not reflect the actual resource cost of the vehicle.", "type": "string", "x-cast-to": "int32" }, "cost_resource_id": { "description": "ID of the currency used to purchase the vehicle.", "type": "string", "x-cast-to": "int32" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "image_id": { "description": "ID of the default image for the vehicle icon.", "type": "string", "x-cast-to": "int32" }, "image_path": { "description": "Path to the default image for the vehicle icon.", "type": "string", "x-cast-to": "string" }, "image_set_id": { "description": "ID of the image set for the vehicle icon.", "type": "string", "x-cast-to": "int32" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "type_id": { "description": "ID of the vehicle type. Note that vehicle types are not related to damage types; Liberators still qualify as \"Light Aircraft\".", "type": "string", "x-cast-to": "int32" }, "type_name": { "description": "Internal name of the vehicle type. Note that vehicle types are not related to damage types; Liberators still qualify as \"Light Aircraft\".", "type": "string" }, "vehicle_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "vehicle_id" ], "examples": [ { "vehicle_list": [ { "vehicle_id": "10", "name": { "de": "Liberator", "en": "Liberator", "es": "Liberator", "fr": "Lib\u00e9rateur", "it": "Liberator", "tr": "KURTARICI" }, "description": { "de": "Der Liberator ist ein Drei-Mann-Kampfflugzeug. Das Artelleriegesch\u00fctz ist extrem wirksam gegen Bodenziele und er verf\u00fcgt ebenso \u00fcber ein Heckgesch\u00fctz, um gegnerische J\u00e4ger abzuwehren.", "en": "The Liberator is a three man gun ship. The bombardier weapon is very powerful against ground targets and it has a tail gun to ward off enemy fighters.", "es": "El Liberator es una nave de asalto de tres plazas. Su arma bombardera es muy potente contra objetivos terrestres y tiene un puesto de artillero de cola para defenderse de los cazas enemigos.", "fr": "Le Lib\u00e9rateur est un appareil de combat servi par 3 hommes d'\u00e9quipage. Son bombardier est tr\u00e8s puissant contre les cibles au sol et il poss\u00e8de un canonnier arri\u00e8re pour repousser les combattants ennemis.", "it": "Il Liberator \u00e8 una cannoniera volante con tre uomini di equipaggio. L'armamento di bordo \u00e8 molto potente contro i bersagli a terra e possiede anche un cannone sulla coda per tenere lontani i caccia nemici.", "tr": "Kurtar\u0131c\u0131, \u00fc\u00e7 ki\u015filik bir sava\u015f helikopteridir. Bombard\u0131man silah\u0131 yer hedeflerine kar\u015f\u0131 \u00e7ok g\u00fc\u00e7l\u00fcd\u00fcr ve kuyruk silah\u0131 d\u00fc\u015fman sava\u015f\u00e7\u0131lar\u0131n\u0131 parampar\u00e7a eder." }, "type_id": "1", "type_name": "Light Aircraft", "cost": "0", "cost_resource_id": "4", "image_set_id": "93", "image_id": "3981", "image_path": "/files/ps2/images/static/3981.png" } ], "returned": 1 } ] }, "vehicle_attachment": { "type": "object", "description": "Maps items to the vehicles and factions that have access to them.\n\nThe `slot_id` field is used to identify where the item is attached to. The below list shows\nthe types of items for each slot as of June 2023:\n\n```\nID Description\n\n1 Primary Weapon\n2 Secondary Weapon\n3 Ability Slot\n4 Defensive Slot\n5 Chassis / Airframe\n6 Cockpit / Hood Ornament\n7 Camo\n8 Decal\n9 Exterior\n10 Weapon Slot / Catapult\n11 Weapon Slot / Catapult\n12 Afterburner / Nitrous\n13 (Unused)\n14 (Internal: Headlights)\n15 Horn\n16 Trim\n17 Lighting\n18 Hubcaps\n19 Other\n20 Tire Traits / Catapult\n21 Catapult\n22 Catapult\n```\n\nNote that this list is maintained manually and may be out of date. The slot associations\nare not available on the API.\n", "x-tags": [ "Vehicles" ], "properties": { "description": { "description": "Internal description of the vehicle/faction combination.", "type": "string" }, "faction_id": { "description": "ID of the faction that can use the attachment.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "item_id": { "description": "Unique ID of the attachment item.", "type": "string", "x-cast-to": "int32", "x-reference-to": "item.item_id" }, "slot_id": { "description": "ID of the slot the attachment occupies. See the `ps2/vehicle_attachment` endpoint documentation for a mapping of slot IDs to item types.", "type": "string", "x-cast-to": "int32" }, "vehicle_id": { "description": "Unique ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "required": [ "vehicle_attachment_id", "vehicle_id", "faction_id" ], "examples": [ { "vehicle_attachment_list": [ { "item_id": "6100", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6103", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6106", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6109", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6112", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6115", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6118", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6125", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6126", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "802898", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6006397", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" }, { "item_id": "6011884", "vehicle_id": "12", "faction_id": "1", "description": "Harasser VS", "slot_id": "1" } ], "returned": 12 } ] }, "vehicle_faction": { "type": "object", "description": "Maps vehicles to the factions that have access to them.\n", "x-tags": [ "Vehicles" ], "properties": { "faction_id": { "description": "ID of the faction that can use the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "vehicle_id": { "description": "Unique ID of the vehicle.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "required": [ "faction_id", "vehicle_id" ], "examples": [ { "vehicle_faction_list": [ { "vehicle_id": "12", "faction_id": "1" }, { "vehicle_id": "12", "faction_id": "2" }, { "vehicle_id": "12", "faction_id": "3" }, { "vehicle_id": "12", "faction_id": "4" } ], "returned": 4 } ] }, "vehicle_skill_set": { "type": "object", "description": "Maps vehicles to the skill sets that they use.\n\nNote that this relationship is expressed for each faction separetly.\n", "x-tags": [ "Vehicles" ], "properties": { "display_index": { "description": "Index used to sort the skill sets in the vehicle's UI.", "type": "string", "x-cast-to": "int32" }, "faction_id": { "description": "ID of the faction that can use the skill set.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "skill_set_id": { "description": "Skill set side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "skill_set.skill_set_id" }, "vehicle_id": { "description": "Vehicle side of the relationship.", "type": "string", "x-cast-to": "int32", "x-reference-to": "vehicle.vehicle_id" } }, "required": [ "faction_id", "skill_set_id", "vehicle_id" ], "examples": [ { "vehicle_skill_set_list": [ { "vehicle_id": "10", "skill_set_id": "39", "faction_id": "1", "display_index": "4" } ], "returned": 1 } ] }, "weapon": { "type": "object", "description": "Baseline weapon data, such as equip times, stock sights, and movement speed modifiers.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "equip_ms": { "description": "The time in milliseconds it takes to equip the weapon.", "type": "string", "x-cast-to": "int32" }, "from_iron_sights_ms": { "description": "Transition duration when exiting aim-down-sights in milliseconds.", "type": "string", "x-cast-to": "int32" }, "heat_bleed_off_rate": { "description": "Rate at which heat is dissipated when not firing. Note that this value is represented as an integer on the API despite being a float internally.", "type": "string", "x-cast-to": "int32" }, "heat_capacity": { "description": "Total capacity for heat-based weapons. This is comparable to the magazine size of regular weapons.", "type": "string", "x-cast-to": "int32" }, "heat_overheat_penalty_ms": { "description": "The time in milliseconds it takes for the weapon to start cooling down after overheating.", "type": "string", "x-cast-to": "int32" }, "melee_detect_height": { "description": "On melee weapons, designates the height of the quick knife attack hitbox.", "type": "string", "x-cast-to": "float" }, "melee_detect_width": { "description": "On melee weapons, designates the width of the quick knife attack hitbox.", "type": "string", "x-cast-to": "float" }, "move_modifier": { "description": "The modifier applied to the movement speed when the weapon is equipped.", "type": "string", "x-cast-to": "float" }, "requires_ammo": { "description": "Whether equipping this weapon requires ammunition to be available. Used for grenades or the medic's shield regen device to prevent selection when out of ammo.", "type": "string", "x-cast-to": "boolean" }, "sprint_recovery_ms": { "description": "Time after sprinting during which the cone-of-fire will retain its sprinting value before starting to recover.", "type": "string", "x-cast-to": "int32" }, "to_iron_sights_ms": { "description": "Transition duration when entering aim-down-sights in milliseconds.", "type": "string", "x-cast-to": "int32" }, "turn_modifier": { "description": "The modifier applied to the turn speed when the weapon is equipped.", "type": "string", "x-cast-to": "float" }, "unequip_ms": { "description": "The time in milliseconds it takes to unequip the weapon.", "type": "string", "x-cast-to": "int32" }, "use_cooldown_ms": { "description": "Time in milliseconds between uses of this weapon.", "type": "string", "x-cast-to": "int32" }, "weapon_group_id": { "description": "ID of the weapon's group. Weapons in the same group are treated as a single weapon despite having distinct items. Examples include upgradable pseudo-weapons such as the medic or engineer tool, or the Infiltrator's Recon dart gun.\n\nNote that not all weapons have weapon groups, and that most weapon groups have only one weapon in them. The presence of this field has no bearing on the weapon being grouped or not.", "type": "string", "x-cast-to": "int32" }, "weapon_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "weapon_id" ], "examples": [ { "weapon_list": [ { "weapon_id": "111", "weapon_group_id": "1226", "turn_modifier": "1.0", "move_modifier": "1.0", "sprint_recovery_ms": "300", "equip_ms": "750", "unequip_ms": "250", "to_iron_sights_ms": "150", "from_iron_sights_ms": "150", "heat_capacity": "999", "heat_bleed_off_rate": "364", "heat_overheat_penalty_ms": "1750" } ], "returned": 1 }, { "weapon_list": [ { "weapon_id": "20", "turn_modifier": "1.0", "move_modifier": "1.0", "sprint_recovery_ms": "0", "equip_ms": "250", "unequip_ms": "250", "to_iron_sights_ms": "150", "from_iron_sights_ms": "150", "melee_detect_width": "0.15", "melee_detect_height": "0.1" } ], "returned": 1 }, { "weapon_list": [ { "weapon_id": "4", "weapon_group_id": "3", "turn_modifier": "1.0", "move_modifier": "1.0", "sprint_recovery_ms": "300", "equip_ms": "650", "unequip_ms": "250", "to_iron_sights_ms": "150", "from_iron_sights_ms": "150" } ], "returned": 1 } ] }, "weapon_ammo_slot": { "type": "object", "description": "Ammo slot data for a given weapon, including the clip size, reserve ammo capacity, and resupply behaviour.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "capacity": { "description": "Reserve ammunition capacity of this ammo slot.", "type": "string", "x-cast-to": "int32" }, "clip_size": { "description": "The number of bullets in a single clip of this ammo slot.", "type": "string", "x-cast-to": "int32" }, "refill_ammo_delay_ms": { "description": "Extra cooldown between ammo resupply ticks. The base ammo resupply tick rate is not available on the API.", "type": "string", "x-cast-to": "int32" }, "refill_ammo_rate": { "description": "Number of bullets refilled per ammo resupply tick.", "type": "string", "x-cast-to": "int32" }, "weapon_id": { "description": "ID of the weapon to which this ammo slot belongs.", "type": "string", "x-cast-to": "int32" }, "weapon_slot_index": { "description": "Index of the slot in the weapon's ammo slot list.", "type": "string", "x-cast-to": "int32" } }, "required": [ "weapon_id", "weapon_slot_index" ], "examples": [ { "weapon_ammo_slot_list": [ { "weapon_id": "4", "weapon_slot_index": "0", "clip_size": "30", "capacity": "180", "refill_ammo_rate": "30" }, { "weapon_id": "4", "weapon_slot_index": "1", "clip_size": "1", "capacity": "4", "refill_ammo_rate": "1" }, { "weapon_id": "4", "weapon_slot_index": "2", "clip_size": "1", "capacity": "2", "refill_ammo_rate": "1", "refill_ammo_delay_ms": "5000" }, { "weapon_id": "4", "weapon_slot_index": "3", "clip_size": "1", "capacity": "2", "refill_ammo_rate": "1", "refill_ammo_delay_ms": "5000" } ], "returned": 4 } ] }, "weapon_datasheet": { "type": "object", "description": "**Deprecated:** This table is not directly tied to the underlying fire mode and player state group data and may differ wildly from the true values!\n\nSuggested alternatives for the values provided by this collection are listed as part of the `weapon_datasheet` schema.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "capacity": { "description": "Unreliable! Please refer to the matching `ps2/weapon_ammo_slot` instead.", "type": "string", "x-cast-to": "int32" }, "clip_size": { "description": "Unreliable! Please refer to the matching `ps2/weapon_ammo_slot` instead.", "type": "string", "x-cast-to": "int32" }, "damage": { "description": "Unreliable! Please use the values from `ps2/fire_mode_2` instead.", "type": "string", "x-cast-to": "int32" }, "damage_max": { "description": "Unreliable! Please use the values from `ps2/fire_mode_2` instead.", "type": "string", "x-cast-to": "int32" }, "damage_min": { "description": "Unreliable! Please use the values from `ps2/fire_mode_2` instead.", "type": "string", "x-cast-to": "int32" }, "direct_damage": { "description": "Unreliable! Please refer to the damage effect listed in `ps2/fire_mode_2.damage_direct_effect_id` instead.", "type": "string", "x-cast-to": "int32" }, "fire_cone": { "description": "Unreliable! Please refer to the player state group listed in `ps2/fire_mode_2.player_state_group_id` instead.", "type": "string", "x-cast-to": "float" }, "fire_cone_max": { "description": "Unreliable! Please refer to the `cof_` values in `ps2/fire_mode_2` instead.", "type": "string", "x-cast-to": "float" }, "fire_cone_min": { "description": "Unreliable! Please refer to the player state group listed in `ps2/fire_mode_2.player_state_group_id` instead.", "type": "string", "x-cast-to": "float" }, "fire_rate_ms": { "description": "Unreliable! Please use `ps2/fire_mode_2.fire_refire_ms` instead.", "type": "string", "x-cast-to": "int32" }, "fire_rate_mx_max": { "description": "Unreliable! Please use `ps2/fire_mode_2.fire_refire_ms` instead. Note that this is not a typo in the spec, the field is named `mx`.", "type": "string", "x-cast-to": "int32" }, "fire_rate_ms_min": { "description": "Unreliable! Please use `ps2/fire_mode_2.fire_refire_ms` instead.", "type": "string", "x-cast-to": "int32" }, "indirect_damage": { "description": "Unreliable! Please refer to the damage effect listed in `ps2/fire_mode_2.damage_indirect_effect_id` instead.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "ID of the item to which this datasheet belongs.", "type": "string", "x-cast-to": "int32" }, "range": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "reload_ms": { "description": "Unreliable! Please add the values of `ps2/fire_mode_2.reload_time_ms` instead.", "type": "string", "x-cast-to": "int32" }, "reload_ms_max": { "description": "Unreliable! Please add the values of `ps2/fire_mode_2.reload_time_ms` and `ps2/fire_mode_2.reload_chamber_ms` together to get long reload time.", "type": "string", "x-cast-to": "int32" }, "reload_ms_min": { "description": "Unreliable! Please add the values of `ps2/fire_mode_2.reload_time_ms` instead.", "type": "string", "x-cast-to": "int32" }, "show_clip_size": { "description": "Whether the clip size should be displayed in the UI.", "type": "string", "x-cast-to": "boolean" }, "show_fire_modes": { "description": "Whether the fire modes (in-game interpretation of this term) should be displayed in the UI.", "type": "string", "x-cast-to": "boolean" }, "show_range": { "description": "Whether the range string should be displayed in the UI.", "type": "string", "x-cast-to": "boolean" } }, "required": [ "item_id" ], "examples": [ { "weapon_datasheet_list": [ { "item_id": "70998", "damage": "143", "damage_min": "75", "damage_max": "225", "fire_cone": "1.125", "fire_cone_min": "0", "fire_cone_max": "7", "fire_rate_ms": "92", "fire_rate_ms_min": "60", "fire_rate_mx_max": "135", "reload_ms": "2000", "reload_ms_min": "1250", "reload_ms_max": "3500", "clip_size": "35", "capacity": "210", "range": { "de": "Lang", "en": "Long", "es": "Largo", "fr": "Long", "it": "Lunga", "tr": "Uzun" }, "show_clip_size": "1", "show_fire_modes": "1", "show_range": "1" } ], "returned": 1 } ] }, "weapon_to_attachment": { "type": "object", "description": "Maps weapons to the attachments available to them. This table is largely synonymous with `item_attachment`, but contains additional entries that may not resolve to a valid item.\n\nFor this reason, it is recommended to base any attachment queries on the `item_attachment` endpoint instead.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "attachment_id": { "description": "Internal ID of this mapping. Does not map to any other field in the API.", "type": "string", "x-cast-to": "int32" }, "item_id": { "description": "Unique ID of the attachment item.", "type": "string", "x-cast-to": "int32" }, "weapon_group_id": { "description": "ID of the weapon group to which this item can be attached.", "type": "string", "x-cast-to": "int32" } }, "required": [ "item_id", "attachment_id", "weapon_group_id" ], "examples": [ { "weapon_to_attachment_list": [ { "weapon_group_id": "3", "attachment_id": "300", "item_id": "74" }, { "weapon_group_id": "3", "attachment_id": "302", "item_id": "76" }, { "weapon_group_id": "3", "attachment_id": "303", "item_id": "115" }, { "weapon_group_id": "3", "attachment_id": "304", "item_id": "148" }, { "weapon_group_id": "3", "attachment_id": "305", "item_id": "149" } ], "returned": 5 } ] }, "weapon_to_fire_group": { "type": "object", "description": "Maps weapons to their set of fire groups. The `fire_group_index` field matches the in-game fire mode selection; hitting 'B' in-game is equivalent to incrementing the index by 1.\n", "x-tags": [ "Weapons & Firing Mechanics" ], "properties": { "fire_group_id": { "description": "Unique ID of the fire group.", "type": "string", "x-cast-to": "int32" }, "fire_group_index": { "description": "Index of the fire group in the weapon's fire group list.", "type": "string", "x-cast-to": "int32" }, "weapon_id": { "description": "Unique ID of the weapon.", "type": "string", "x-cast-to": "int32" } }, "required": [ "weapon_id", "fire_group_id", "fire_group_index" ], "examples": [ { "weapon_to_fire_group_list": [ { "weapon_id": "7124", "fire_group_id": "7124", "fire_group_index": "0" }, { "weapon_id": "7124", "fire_group_id": "17124", "fire_group_index": "1" } ], "returned": 2 } ] }, "world": { "type": "object", "description": "A game server for a given region and game.\n", "x-tags": [ "Fundamentals" ], "properties": { "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "state": { "description": "Current availability of the game server.", "enum": [ "online", "locked" ], "type": "string" }, "world_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "world_id" ], "examples": [ { "world_list": [ { "world_id": "13", "state": "online", "name": { "en": "Cobalt", "de": "Cobalt", "es": "Cobalt", "fr": "Cobalt", "it": "Cobalt", "tr": "Cobalt" } } ], "returned": 1 } ] }, "world_event": { "description": "ReST endpoint for retrieving historical world events.\n\nThe `world_id` and `id` fields are interchangeable.\n", "x-tags": [ "Event History" ], "anyOf": [ { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "duration_held": { "description": "Time in seconds since the facility was held by the previous owner.", "type": "string", "x-cast-to": "int32" }, "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "facility_id": { "description": "The ID of the facility that was captured.", "type": "string", "x-cast-to": "int32", "x-reference-to": "map_region.facility_id" }, "faction_new": { "description": "The faction that owns the facility after the capture.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "faction_old": { "description": "The faction that owned the facility before the capture.", "type": "string", "x-cast-to": "int32", "x-reference-to": "faction.faction_id" }, "objective_id": { "description": "Unknown.", "type": "string", "x-cast-to": "int32", "x-reference-to": "objective.objective_id" }, "outfit_id": { "description": "Unique ID of the outfit that captured the facility.", "type": "string", "x-cast-to": "int64", "x-reference-to": "outfit.outfit_id" } }, "type": "object" } ] }, { "allOf": [ { "properties": { "event_type": { "description": "Name of the event.", "type": "string" }, "table_type": { "description": "Internal name of the table.", "type": "string" }, "timestamp": { "description": "UTC timestamp of the event.", "type": "string" }, "world_id": { "description": "The ID of the world where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" }, "zone_id": { "description": "The ID of the zone where the character ranked up.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone.zone_id" } }, "type": "object", "required": [ "timestamp", "event_type", "table_type", "world_id", "zone_id" ] }, { "properties": { "event_type": { "description": "Type of event. This generally matches the event types used by the ESS.", "type": "string", "x-cast-to": "int32" }, "experience_bonus": { "description": "Experience bonus for the winning faction.", "type": "string", "x-cast-to": "int32" }, "faction_nc": { "description": "Current scope of the NC faction.", "type": "string", "x-cast-to": "float" }, "faction_tr": { "description": "Current scope of the TR faction.", "type": "string", "x-cast-to": "float" }, "faction_vs": { "description": "Current scope of the VS faction.", "type": "string", "x-cast-to": "float" }, "instance_id": { "description": "Unique ID of this particular instance of the metagame event. Only unique per server restart, not globally.", "type": "string", "x-cast-to": "int32" }, "metagame_event_id": { "description": "Unique ID of the metagame event.", "type": "string", "x-cast-to": "int32", "x-reference-to": "metagame_event.metagame_event_id" }, "metagame_event_state": { "description": "Unique ID of the metagame event state.", "type": "string", "x-cast-to": "int32" }, "metagame_event_state_name": { "description": "Name of the metagame event state.", "type": "string", "x-cast-to": "int32" } }, "type": "object" } ] } ], "required": [ "event_type", "zone_id", "world_id" ] }, "world_stat_history": { "type": "object", "description": "Defunct. Historical data for global events.\n", "x-tags": [ "Metagame & Alerts" ], "properties": { "all_time": { "description": "Total value of the stat for the given world, tracker and faction.", "type": "string", "x-cast-to": "int32" }, "day": { "properties": { "d01": { "type": "string", "x-cast-to": "int32" }, "d02": { "type": "string", "x-cast-to": "int32" }, "d03": { "type": "string", "x-cast-to": "int32" }, "d04": { "type": "string", "x-cast-to": "int32" }, "d05": { "type": "string", "x-cast-to": "int32" }, "d06": { "type": "string", "x-cast-to": "int32" }, "d07": { "type": "string", "x-cast-to": "int32" }, "d08": { "type": "string", "x-cast-to": "int32" }, "d09": { "type": "string", "x-cast-to": "int32" }, "d10": { "type": "string", "x-cast-to": "int32" }, "d11": { "type": "string", "x-cast-to": "int32" }, "d12": { "type": "string", "x-cast-to": "int32" }, "d13": { "type": "string", "x-cast-to": "int32" }, "d14": { "type": "string", "x-cast-to": "int32" }, "d15": { "type": "string", "x-cast-to": "int32" }, "d16": { "type": "string", "x-cast-to": "int32" }, "d17": { "type": "string", "x-cast-to": "int32" }, "d18": { "type": "string", "x-cast-to": "int32" }, "d19": { "type": "string", "x-cast-to": "int32" }, "d20": { "type": "string", "x-cast-to": "int32" }, "d21": { "type": "string", "x-cast-to": "int32" }, "d22": { "type": "string", "x-cast-to": "int32" }, "d23": { "type": "string", "x-cast-to": "int32" }, "d24": { "type": "string", "x-cast-to": "int32" }, "d25": { "type": "string", "x-cast-to": "int32" }, "d26": { "type": "string", "x-cast-to": "int32" }, "d27": { "type": "string", "x-cast-to": "int32" }, "d28": { "type": "string", "x-cast-to": "int32" }, "d29": { "type": "string", "x-cast-to": "int32" }, "d30": { "type": "string", "x-cast-to": "int32" }, "d31": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "faction": { "description": "Code for the faction for which the data is returned.", "type": "string" }, "last_save": { "description": "UTC timestamp of when the tracker was last updated.", "type": "string" }, "last_save_date": { "description": "Human-readable version of `last_save`.", "type": "string" }, "month": { "properties": { "m01": { "type": "string", "x-cast-to": "int32" }, "m02": { "type": "string", "x-cast-to": "int32" }, "m03": { "type": "string", "x-cast-to": "int32" }, "m04": { "type": "string", "x-cast-to": "int32" }, "m05": { "type": "string", "x-cast-to": "int32" }, "m06": { "type": "string", "x-cast-to": "int32" }, "m07": { "type": "string", "x-cast-to": "int32" }, "m08": { "type": "string", "x-cast-to": "int32" }, "m09": { "type": "string", "x-cast-to": "int32" }, "m10": { "type": "string", "x-cast-to": "int32" }, "m11": { "type": "string", "x-cast-to": "int32" }, "m12": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "stat_name": { "description": "Name of the stat for which the data is returned.", "type": "string", "x-reference-to": "stat.stat_name" }, "tracker_name": { "description": "Name of the tracker for which the data is returned.", "type": "string" }, "type": { "description": "Type of the tracker for which the data is returned.", "type": "string" }, "week": { "properties": { "w01": { "type": "string", "x-cast-to": "int32" }, "w02": { "type": "string", "x-cast-to": "int32" }, "w03": { "type": "string", "x-cast-to": "int32" }, "w04": { "type": "string", "x-cast-to": "int32" }, "w05": { "type": "string", "x-cast-to": "int32" }, "w06": { "type": "string", "x-cast-to": "int32" }, "w07": { "type": "string", "x-cast-to": "int32" }, "w08": { "type": "string", "x-cast-to": "int32" }, "w09": { "type": "string", "x-cast-to": "int32" }, "w10": { "type": "string", "x-cast-to": "int32" }, "w11": { "type": "string", "x-cast-to": "int32" }, "w12": { "type": "string", "x-cast-to": "int32" }, "w13": { "type": "string", "x-cast-to": "int32" } }, "type": "object" }, "world_id": { "description": "Unique ID of the world for which the data is returned.", "type": "string", "x-cast-to": "int32", "x-reference-to": "world.world_id" } }, "required": [ "stat_name", "world_id" ], "examples": [ { "world_stat_history_list": [ { "world_id": "1", "stat_name": "EmpireScore.WDS01.NC", "type": "EmpireScore", "tracker_name": "WDS01", "faction": "nc", "all_time": "361919", "day": { "d01": "0", "d02": "0", "d03": "0", "d04": "0", "d05": "0", "d06": "0", "d07": "0", "d08": "0", "d09": "0", "d10": "0", "d11": "0", "d12": "0", "d13": "0", "d14": "0", "d15": "0", "d16": "0", "d17": "0", "d18": "0", "d19": "0", "d20": "0", "d21": "0", "d22": "0", "d23": "0", "d24": "0", "d25": "0", "d26": "0", "d27": "0", "d28": "0", "d29": "0", "d30": "0", "d31": "0" }, "month": { "m01": "0", "m02": "0", "m03": "0", "m04": "0", "m05": "309277", "m06": "52642", "m07": "0", "m08": "0", "m09": "0", "m10": "0", "m11": "0", "m12": "0" }, "week": { "w01": "0", "w02": "0", "w03": "0", "w04": "0", "w05": "0", "w06": "0", "w07": "0", "w08": "0", "w09": "0", "w10": "0", "w11": "0", "w12": "0", "w13": "0" }, "last_save": "1393574969", "last_save_date": "2014-02-28 08:09:29.0" } ], "returned": 1 } ] }, "zone": { "type": "object", "description": "World continent and dynamic zone information.\n", "x-tags": [ "Fundamentals" ], "properties": { "code": { "description": "Internal code of the zone. Used to connect map textures to the zone.", "type": "string" }, "description": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "dynamic": { "description": "Whether this zone is dynamic or not. Multiple dynamic zones of the same `geometry_id` may exist for a given `ps2/world`, such as Sanctuary instances or Outfit Wars rooms.", "type": "string", "x-cast-to": "boolean" }, "geometry_id": { "description": "Internal geometry ID of the zones with dynamic IDs. Prior to this field being added, this ID was referred to as `definition_id` by community developers.", "type": "string", "x-cast-to": "int32" }, "hex_size": { "description": "Radius of a map hex in metres.", "type": "string", "x-cast-to": "float" }, "name": { "properties": { "de": { "description": "German locale", "type": "string" }, "en": { "description": "English locale", "type": "string" }, "es": { "description": "Spanish locale", "type": "string" }, "fr": { "description": "French locale", "type": "string" }, "it": { "description": "Italian locale", "type": "string" }, "tr": { "description": "Turkish locale, unfinished and not available for most fields", "type": "string" } }, "type": "object" }, "zone_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "zone_id" ], "examples": [ { "zone_list": [ { "zone_id": "344", "code": "Oshur", "hex_size": "100", "name": { "de": "Oshur", "en": "Oshur", "es": "Oshur", "fr": "Oshur", "it": "Oshur" }, "description": { "de": "Oshurs Strand-Archipel und das glitzernde blaue Wasser bieten die M\u00f6glichkeit f\u00fcr Eins\u00e4tze zu Land, Luft und Wasser.", "en": "Oshur's sandy archipelago and sparkling blue waters provide opportunities for engagement by land, sea, and air.", "es": "El arenoso archipi\u00e9lago de Oshur y sus resplandecientes aguas azules son el entorno ideal para luchar por tierra, mar y aire.", "fr": "L'archipel sablonneux d'Oshur et ses eaux bleues cristallines offrent des possibilit\u00e9s de combats terrestres, maritimes et a\u00e9riens.", "it": "L'arcipelago sabbioso e le vivaci acque blu di Oshur forniscono ottime opportunit\u00e0 d'ingaggio via mare, terra e aria." }, "geometry_id": "367", "dynamic": "0" } ], "returned": 1 } ] }, "zone_effect": { "type": "object", "description": "Passive effects such as weapon stat modifications from attachments or equipped skills.\n\nFor weapon damage effects, see `effect` instead. See the `zone_effect_type` collection for a list of available zone effect types.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "ability_id": { "description": "Unique ID of the associated ability.", "type": "string", "x-cast-to": "int32", "x-reference-to": "ability.ability_id" }, "param1": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param10": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param11": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param12": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param13": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param14": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param2": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param3": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param4": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param5": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param6": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param7": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param8": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "param9": { "description": "Generic numeric parameter. See the corresponding `ps2/zone_effect_type` for details.", "type": "string", "x-cast-to": "float" }, "string1": { "description": "Generic string field. See the corresponding `ps2/zone_effect_type` for details.", "type": "string" }, "string2": { "description": "Generic string field. See the corresponding `ps2/zone_effect_type` for details.", "type": "string" }, "string3": { "description": "Generic string field. See the corresponding `ps2/zone_effect_type` for details.", "type": "string" }, "string4": { "description": "Generic string field. See the corresponding `ps2/zone_effect_type` for details.", "type": "string" }, "zone_effect_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" }, "zone_effect_type_id": { "description": "Unique ID of the zone effect type.", "type": "string", "x-cast-to": "int32", "x-reference-to": "zone_effect_type.zone_effect_type_id" } }, "required": [ "zone_effect_id", "zone_effect_type_id", "ability_id" ], "examples": [ { "zone_effect_list": [ { "zone_effect_id": "750052", "zone_effect_type_id": "58", "ability_id": "80412", "param1": "0", "param2": "1", "param3": "1", "param4": "0", "string1": "BlockSpotOnDamageTaken" } ], "returned": 1 } ] }, "zone_effect_type": { "type": "object", "description": "A type of zone effect.\n\nThe generic fields `paramX` and `stringX` are documented here. Note that not all fields are used by all zone effect types, or at all.\n", "x-tags": [ "Effects & Abilities" ], "properties": { "description": { "description": "Description of the zone effect type.", "type": "string" }, "param1": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param10": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param11": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param12": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param13": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param14": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param2": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param3": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param4": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param5": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param6": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param7": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param8": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "param9": { "description": "Documentation for this numeric parameter on zone effects of this type.", "type": "string" }, "string1": { "description": "Documentation for this string parameter on zone effects of this type.", "type": "string" }, "string2": { "description": "Documentation for this string parameter on zone effects of this type.", "type": "string" }, "string3": { "description": "Documentation for this string parameter on zone effects of this type.", "type": "string" }, "string4": { "description": "Documentation for this string parameter on zone effects of this type.", "type": "string" }, "zone_effect_type_id": { "description": "Unique ID of the collection.", "type": "string", "x-cast-to": "int32" } }, "required": [ "zone_effect_type_id", "description" ], "examples": [ { "zone_effect_type_list": [ { "zone_effect_type_id": "58", "description": "Modify the given character flag", "param1": "Operation (see tooltip)", "param2": "ModifyValue", "param3": "Persist", "param4": "OneShot", "param5": "Always Create ", "string1": "CharacterFlagKey" } ], "returned": 1 } ] } } }, "tags": [ { "name": "API Endpoints", "description": "This section covers basic Census API usage and parameters.\nThe parameters and response schemas documented here are applicable to all Daybreak Games titles supported by the Census API. All other sections cover specific groups of collections or endpoints that are unique to the PlanetSide 2 namespaces `ps2:v2`, `ps2ps4us:v2`, and `ps2ps4eu:v2`.\n### Query Commands\nThe query commands documented for the generic endpoints are generally universal and can be used with any of the game-specific collections listed in this documentation. However, they are not listed explicitly for brevity.\n### Parameters\nMost endpoints support filtering and sorting by any field in the response schema. As with query parameters, this is not modelled in the documentation to improve readability and focus on the most important parameters.\n### Exceptions and Limitations\nSome collections are special and have restrictions on the query commands and parameters that may be used with them. These are documented in the [\"Special\" PS2 Collections](https://census.daybreakgames.com/#special-collections) section of the Census API documentation.\n" }, { "name": "Character Information", "description": "This section covers player names, directives, and other character-specific collections.\n### Name Lookups\nNames in PlanetSide 2 are case-insensitive. When looking up a character by name, it is preferable to transform your search query to a lowercase string and compare it against the `character.name.first_lower` field. Case-insensitive queries against the `character.name` field are supported, but may be significantly slower.\n### Character Collection Quirks\nThe records of the `character` collection are distributed across multiple separate databases, each of which handles the same query individually before their results are combined. This means that extra care must be taken when using pagination to step through the data, or when expecting a specific ordering of results: each database will sort its results independently, leading to out-of-order results in the final response received by the client.\n\nWhen ordering is critical, consider using the `c:limitPerDB` query command to fetch the desired number of entries for each database individually and performing a final sort on the client side. This will ensure that the final ordering is consistent, but it will also lead to 20x as much data received, much of which may not be required.\n### Single Character By ID\nWhen retrieving a lot of character data, it may be preferable to use the `single_character_by_id` endpoint instead of individual joins and queries to the relevant endpoints. It is an aggregation of owned items and most player statistics, and is generally much faster to retrieve than the equivalent data from the individual endpoints.\n\nNote that this endpoint has no support for filtering or result field selection, resulting in payloads of several hundred kilobytes in size.\n" }, { "name": "Fundamentals", "description": "Core collections related to the PlanetSide 2 game world.\n### Worlds\nA \"world\" in the PlanetSide 2 API refers to a game server. The `world` collection contains the IDs and names of the game servers.\n\nBasic server status (locked vs. online) is available as part of the `world` collection. There is a `global/game_server_status` endpoint that can be used to retrieve more detailed status of game servers:\n> **Warning:** This endpoint is not explicitly advertised in the Census API documentation and\n is not covered by the Census API's terms of service. Use at your own risk.\n\nhttps://census.daybreakgames.com/get/global/game_server_status?game_code=ps2&c:limit=10\n### Static vs. Dynamic Zones\nThe `zone` collection contains the IDs of all persistent zones, such as the main continents and VR training instances.\n\nWhen monitoring player activity via the ESS API, you will encounter additional zone IDs that are not present in the `zone` collection. These are temporary or instanced zones that are created and destroyed dynamically, such as tutorial or Sanctuary, or the various Desolation or Nexus instances during Outfit Wars.\n\nFor details on interpreting dynamic zone IDs, refer to the [Zone ID Tutorial](https://github.com/cooltrain7/Planetside-2-API-Tracker/wiki/Tutorial:-Zone-IDs) on GitHub.\n" }, { "name": "Outfits", "description": "Collections related to PlanetSide 2 outfits and outfit membership.\n### Outfit Lookup\nAs with the `character` collection, outfit names and tags are case-insensitive. When looking up an outfit by name or tag, it is preferable to transform your search query to a lowercase string and compare it against the `outfit.name_lower` or `outfit.alias_lower` fields. Case-insensitive queries against the `outfit.name` or `outfit.alias` fields are possible, but may be significantly slower.\n### Outfit Resources\nThe outfit resources introduced in the Escalation update are not available via the Census API.\nHowever, some information about outfit resource use can be obtained through the `GuildBankWithdrawal` context of the `ItemAdded` event. For additional information, please refer to the [Outfit Assets](https://github.com/cooltrain7/Planetside-2-API-Tracker/wiki/Stream:Outfit-Assets) section of the [PS2 API Tracker Wiki](https://github.com/cooltrain7/Planetside-2-API-Tracker/wiki).\n" }, { "name": "Statistics", "description": "Player statistics such as kills, deaths, and score.\nRefer to the `stat_name` parameter of the individual endpoints for a list of supported statistics. Note that some `stat_name` values are only available in combination with certain profiles.\n> **Note:** There is no accuracy statistic in any of these collections, it must be calculated from the `fire_count / hit_count` ratio. Likewise, headshot ratio must be calculated from `weapon_headshots / weapon_kills`. Also consider sanitizing the kills by not considering vehicles for the headshot ratio: `weapon_headshots / (weapon_kills - weapon_vehicle_kills)`.\n### Collection Overview\nThe following overview provides a brief description of the different endpoints and what kinds of statistics they contain:\n- `characters_stat`: Play time, total deaths, medals, and score - `characters_weapon_stat`: Damage given and taken, kills and deaths per faction - `character_stat_history`: Select statistics over time, essentially those found in the\n in-game stat history tab\n- `characters_weapon_stat`: Per-weapon accuracy, score, and playtime - `characters_weapon_stat_by_faction`: Per-weapon kills, deaths, and headshots\n> **Note:** Consider using the `single_character_by_id` endpoint when working with individual players' statistics. It contains most of the statistics available in the individual endpoints and is generally much faster to retrieve.\n" }, { "name": "Leaderboards", "description": "Leaderboard entries for the top 10'000 players in each leaderboard category.\n\nThe `leaderboard` endpoint covers the top 10'000 players, while the `characters_leaderboard` endpoint allows retrieving the position of a specific character within a leaderboard.\n\nNote that the `characters_leaderboard` endpoint will not return a result if the character is not in the top 10'000 for the given leaderboard category. In this case, the endpoint will return an empty result set.\n" }, { "name": "Items & Bundles", "description": "Collections related to item enumeration and availability, as well as the in-game depot.\n\nThis section covers the item side of weapons and attachments: their names, descriptions, icons, and type. Weapon information, attachment modifiers, and firing mechanics are covered separately.\n### Depot Bundles\nThe `marketing_bundle` and `marketing_bundle_with_1_item` collections contain information about all bundles that have been available in the depot, including ones that are currently unavailable, such as seasonal bundles.\n\nThere is no endpoint for retrieving current bundle availability, sales, or discounts.\n" }, { "name": "Weapons & Firing Mechanics", "description": "Weapon and firing mechanics data, including fire modes, projectiles, and ammo types.\n> **Note:** Be wary of the `weapon_datasheet` collection as it has a tendency to contain\n outdated or incorrect information. It is therefore considered deprecated by this\n documentation, and suggestions for alternatives for the information it provides are\n provided as part of its schema documentation.\n\nThis documentation only provides an overview of the available data and basic information on how to interpret it. If you are looking for a comprehensive write-up on weapon mechanics and hidden stats, please refer to the following resources instead:\n- [Weapon Mechanics | PlanetSide 2 Wiki](https://planetside.fandom.com/wiki/Weapon_Mechanics) - [PlanetSide 2 Weapon Mechanics | CMDRCyrious.com](http://cmdrcyrious.com/planetside2/weapons/weapon-mechanics/)\n" }, { "name": "Vehicles", "description": "Collections related to vehicles, attachments, and vehicle certifications.\n" }, { "name": "Damage Calculation", "description": "Armor values and resistances used for damage calculation.\n" }, { "name": "Effects & Abilities", "description": "Collections related to abilities, passive effects, and character resources.\n### Abilities\nAbilities are cast by players or deployable entities such as shield emitters. Many abilities consume resources while they are active, such as the Heavy Assault's overshield energy or the Infiltrators \"Cloaker Juice\".\n### Effects vs. Zone Effects\nThe `effect` collection primarily covers one-off effects tied to weapon fire modes, such as direct damage, splash damage, and EMP effects.\n\nThe `zone_effect` collection handles persistent effects, such as the passive (de)buffs applied by weapon attachments and implants.\n" }, { "name": "Skills, Certifications, and A.S.P.", "description": "Collections related to certification trees and A.S.P. skills.\nNote that A.S.P. tokens are treated as a currency and have been injected into the response for the `characters_currency` collection, next to Nanites. \n" }, { "name": "Progression", "description": "Collections related to in-game progression, such as directives, medals, and service ribbons.\n" }, { "name": "Map & Regions", "description": "Collections related to map rendering, such as facility types, lattice links, and map hexes.\n" }, { "name": "Image Assets", "description": "Image sets, icons and other assets available through the static `/files/` path. \n" }, { "name": "Metagame & Alerts", "description": "Endpoints related to in-game alerts, outfit wars, and other large-scale events.\n" }, { "name": "Event History", "description": "ReST interface for in-game events, such as kills, deaths, and battle rank gains.\n" } ] }