diff --git a/torn-api-codegen/openapi.json b/torn-api-codegen/openapi.json
index a6b7e07..c5ddb7a 100644
--- a/torn-api-codegen/openapi.json
+++ b/torn-api-codegen/openapi.json
@@ -3,7 +3,7 @@
"info": {
"title": "Torn API",
"description": "\n * The development of Torn's API v2 is still ongoing.\n * If selections remain unaltered, they will default to the API v1 version.\n * Unlike API v1, API v2 accepts both selections and IDs as path and query parameters.\n * If any discrepancies or errors are found, please submit a [bug report](https://www.torn.com/forums.php#/p=forums&f=19&b=0&a=0) on the Torn Forums.\n * In case you're using bots to check for changes on openapi.json file, make sure to specificy a custom user-agent header - CloudFlare sometimes prevents requests from default user-agents.",
- "version": "1.6.0"
+ "version": "1.6.1"
},
"servers": [
{
@@ -19,6 +19,7 @@
],
"summary": "Get your detailed attacks",
"description": "Requires limited access key.
",
+ "operationId": "3acc98a3016974b786cb01e04e1ced04",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -69,6 +70,7 @@
],
"summary": "Get your simplified attacks",
"description": "Requires limited access key.
Returns up to 1,000 rows.
",
+ "operationId": "e995691fd9845c8b4a91f065ac9c8420",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit1000"
@@ -119,6 +121,7 @@
],
"summary": "Get bounties placed on you",
"description": "Requires public access key.
",
+ "operationId": "c85fd102a25aaec3aa98611d0da6c219",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -157,6 +160,7 @@
],
"summary": "Get bounties placed on a specific user",
"description": "Requires public access key.
",
+ "operationId": "eb5eca5c6b978ee23ef74035c14ff4cc",
"parameters": [
{
"name": "id",
@@ -204,6 +208,7 @@
],
"summary": "Get your competition's event start time",
"description": "Requires minimal access key.
Only available to yourself.",
+ "operationId": "4cc4cc6fa3764f9732db9589e91d7739",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -242,6 +247,7 @@
],
"summary": "Get your crime statistics",
"description": "Requires minimal access key.
Return the details and statistics about for a specific crime.",
+ "operationId": "37f1e394f9d6e3f6fd436fae3e9b9ac4",
"parameters": [
{
"name": "crimeId",
@@ -289,6 +295,7 @@
],
"summary": "Get your education information",
"description": "The response contains a list of complete eduactions and of a current education (if any).",
+ "operationId": "fddc6adc5139d8a1e0a151d80816dba7",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -327,6 +334,7 @@
],
"summary": "Get user enlisted cars",
"description": "Requires minimal access key.
Returns a list of all user enlisted cars.",
+ "operationId": "dc3deee7629610931240be337c47a8ee",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -365,6 +373,7 @@
],
"summary": "Get your current faction balance",
"description": "Requires limited access key.
",
+ "operationId": "b7ebbeea51dc2ef56c3ed5fd9d94e680",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -403,6 +412,7 @@
],
"summary": "Get updates on your threads and posts",
"description": "Requires minimal access key.
This selection returns data visible in 'Feed' section on forum page. Feed is sorted by timestamp descending. Only a maximum of 100 rows are returned.",
+ "operationId": "17f99b99fac9601887dd1d001b95bb08",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -441,6 +451,7 @@
],
"summary": "Get updates on your friends' activity",
"description": "Requires minimal access key.
This selection returns data visible in 'Friends' section on forum page. Feed is sorted by timestamp descending. Only a maximum of 100 rows are returned.",
+ "operationId": "2ceb7f08dc5f06a01d1fbe50425414c1",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -479,6 +490,7 @@
],
"summary": "Get your posts",
"description": "Requires public access key.
Returns 20 posts per page.",
+ "operationId": "cc3a21ed98c1a80ffeeda4e33c75b9a0",
"parameters": [
{
"$ref": "#/components/parameters/ApiStripTagsTrue"
@@ -532,6 +544,7 @@
],
"summary": "Get posts for a specific player",
"description": "Requires public access key.
Returns 20 posts per page for a specific player.",
+ "operationId": "423ceffcad89f9ee7abfb85bed32b692",
"parameters": [
{
"$ref": "#/components/parameters/ApiStripTagsTrue"
@@ -594,6 +607,7 @@
],
"summary": "Get updates on threads you subscribed to",
"description": "Requires minimal access key.
This selection returns data visible in 'Subscribed Threads' section on forum page. Threads are sorted in the same way as on site.",
+ "operationId": "92c7e86065c3d18b000e825aa6688eed",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -632,6 +646,7 @@
],
"summary": "Get your threads",
"description": "Requires public access key.
Returns 100 threads per page. The field 'new_posts' is also available, indicating the amount of unread posts with a Minimum API key (or higher).",
+ "operationId": "807adc6a64d86e07d629a15dde8c6105",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100Default20"
@@ -682,6 +697,7 @@
],
"summary": "Get threads for a specific player",
"description": "Requires public access key.
Returns 100 threads per page for a specific player. When requesting data for the key owner, a field 'new_posts' is also available, indicating the amount of unread posts. Minimum API key is required for that.",
+ "operationId": "481c6645dae298b54f0630ef7de81dba",
"parameters": [
{
"name": "id",
@@ -741,6 +757,7 @@
],
"summary": "Get your hall of fame rankings",
"description": "Requires public access key.
When requesting selection with Limited, Full or Custom key, battle_stats selection will be populated.",
+ "operationId": "959a3a302d736b416ec1edd4def8fe91",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -779,6 +796,7 @@
],
"summary": "Get hall of fame rankings for a specific player",
"description": "Requires public access key.
The battle_stats selection will be populated only when requesting selection with Limited, Full or Custom key and for yourself.",
+ "operationId": "f86d41c9434e42d22f9ff46ecc4e5b88",
"parameters": [
{
"name": "id",
@@ -826,6 +844,7 @@
],
"summary": "Get your item market listings for a specific item",
"description": "Requires limited access key.
",
+ "operationId": "8fcbe4dcf8a3a28e31e2eaab877feea1",
"parameters": [
{
"$ref": "#/components/parameters/ApiOffset"
@@ -867,6 +886,7 @@
],
"summary": "Get your starter job positions",
"description": "Requires minimal access key.
",
+ "operationId": "facf1ddeef80a440229941f49aec6ccc",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -905,6 +925,7 @@
],
"summary": "Get your friends, enemies or targets list",
"description": "Requires limited access key.
",
+ "operationId": "e93ba44fcc7ad2eb3063dec7469ee2f6",
"parameters": [
{
"name": "cat",
@@ -961,6 +982,7 @@
],
"summary": "Get your current ongoing organized crime",
"description": "Requires minimal access key.
",
+ "operationId": "3c6f8acbfcb398592e3f3b65ab91a40f",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -999,6 +1021,7 @@
],
"summary": "Get your personal stats",
"description": "Requires public access key.
\n * UserPersonalStatsFull is returned only when this selection is requested with Limited, Full or Custom key access key.\n * UserPersonalStatsFullPublic is returned when the requested category is 'all'.\n * UserPersonalStatsPopular is returned when the requested category is 'popular'. Please try to use UserPersonalStatsPopular over UserPersonalStatsFullPublic wherever possible in order to reduce the server load.\n * Otherwise, UserPersonalStatsCategory is returned for the matched category.\n * It's possible to request specific stats via 'stat' parameter. In this case the response will vary depending on the stats requested. Private stats are still available only to the key owner (with Limited or higher key).\n * Additionally, historical stats can also be fetched via 'stat' query parameter, but 'timestamp' parameter must be provided as well. It's only possible to pass up to 10 historical stats at once (the rest is trimmed). When requesting historical stats the response will be of type UserPersonalStatsHistoric.",
+ "operationId": "388e8008ae1c2645819af76d71ef92a5",
"parameters": [
{
"name": "cat",
@@ -1033,9 +1056,6 @@
"format": "int32"
}
},
- {
- "$ref": "#/components/parameters/ApiTimestamp"
- },
{
"$ref": "#/components/parameters/ApiComment"
},
@@ -1070,6 +1090,7 @@
],
"summary": "Get a player's personal stats",
"description": "Requires public access key.
\n * UserPersonalStatsFull is returned only when this selection is requested for the key owner with Limited, Full or Custom key.\n * UserPersonalStatsFullPublic is returned when the requested category is 'all'.\n * UserPersonalStatsPopular is returned when the requested category is 'popular'. Please try to use UserPersonalStatsPopular over UserPersonalStatsFullPublic wherever possible in order to reduce the server load.\n * Otherwise, UserPersonalStatsCategory is returned for the matched category.\n * It's possible to request specific stats via 'stat' parameter. In this case the response will vary depending on the stats requested. Private stats are still available only to the key owner (with Limited or higher key).\n * Additionally, historical stats can also be fetched via 'stat' query parameter, but 'timestamp' parameter must be provided as well. It's only possible to pass up to 10 historical stats at once (the rest is trimmed). When requesting historical stats the response will be of type UserPersonalStatsHistoric.",
+ "operationId": "6ac851069df2c33e53cc69eecae44f1e",
"parameters": [
{
"name": "id",
@@ -1113,9 +1134,6 @@
"format": "int32"
}
},
- {
- "$ref": "#/components/parameters/ApiTimestamp"
- },
{
"$ref": "#/components/parameters/ApiComment"
},
@@ -1150,6 +1168,7 @@
],
"summary": "Get user races",
"description": "Requires minimal access key.
Returns a list of user races, ordered by race start timestamp.",
+ "operationId": "ba6e495bf0c6b2e87db337c1a09f4852",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100Default20"
@@ -1214,6 +1233,7 @@
],
"summary": "Get your detailed revives",
"description": "Requires limited access key.
",
+ "operationId": "3c847eb1325040798f37a7492108e094",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100Default20"
@@ -1267,6 +1287,7 @@
],
"summary": "Get your simplified revives",
"description": "Requires limited access key.
",
+ "operationId": "8820cd889afde899353037ca5a0f9a07",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit1000Default20"
@@ -1320,6 +1341,7 @@
],
"summary": "Get all available user selections",
"description": "Requires public access key.
",
+ "operationId": "c0a6c91697cd1683c39b3c0649a18ec8",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1358,6 +1380,7 @@
],
"summary": "Get current server time",
"description": "Requires public access key.
",
+ "operationId": "a72308321da0c4a2c31c60218acc7a85",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1396,6 +1419,7 @@
],
"summary": "Get any User selection",
"description": "Key access level depends on the required selections.
Choose one or more selections (comma separated).",
+ "operationId": "ce480599312126b8a5d77ced3ab8caa8",
"parameters": [
{
"name": "selections",
@@ -1566,6 +1590,7 @@
],
"summary": "Get your faction's applications",
"description": "Requires minimal access key with faction API access permissions.
",
+ "operationId": "9f7dccb023d81a8da7f5f6a359658a64",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1604,6 +1629,7 @@
],
"summary": "Get your faction's detailed attacks",
"description": "Requires limited access key with faction API access permissions.
",
+ "operationId": "cb5b38ba64c389e706526df8bc8af9b6",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -1654,6 +1680,7 @@
],
"summary": "Get your faction's simplified attacks",
"description": "Requires limited access key with faction API access permissions.
",
+ "operationId": "8551280aaaf9819aa94be5c469a523de",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit1000"
@@ -1704,6 +1731,7 @@
],
"summary": "Get your faction's & member's balance details",
"description": "Requires limited access key with faction API access permissions.
",
+ "operationId": "3ca2c0319f960b728ffece8e322cf40f",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1742,6 +1770,7 @@
],
"summary": "Get your faction's basic details",
"description": "Requires public access key.
The 'is_enlisted' value will be populated if you have API faction permissions (with custom, limited or full access keys), otherwise it will be set as null.",
+ "operationId": "fb363bf0e1d54296bd4d5dd554ad9825",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1780,6 +1809,7 @@
],
"summary": "Get a faction's basic details",
"description": "Requires public access key.
The 'is_enlisted' value will be populated if you're requesting data for your faction and have faction permissions (with custom, limited or full access keys), otherwise it will be set as null.",
+ "operationId": "a09da2d5f951a49d974dbec3149b3a24",
"parameters": [
{
"name": "id",
@@ -1827,6 +1857,7 @@
],
"summary": "Get your faction's current chain",
"description": "Requires public access key.
",
+ "operationId": "aee5679a81c6a7bcd3862c0aafd6b558",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -1865,6 +1896,7 @@
],
"summary": "Get a faction's current chain",
"description": "Requires public access key.
",
+ "operationId": "ec8f82e15a321adbb20e615024d9dff6",
"parameters": [
{
"name": "id",
@@ -1912,6 +1944,7 @@
],
"summary": "Get a list of your faction's completed chains",
"description": "Requires public access key.
",
+ "operationId": "dfc0adb55af4aeeeebc2d82309c71eea",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -1962,6 +1995,7 @@
],
"summary": "Get a list of a faction's completed chains",
"description": "Requires public access key.
",
+ "operationId": "dd88ca1ffafed80457916da5298a3422",
"parameters": [
{
"name": "id",
@@ -2021,6 +2055,7 @@
],
"summary": "Get your faction's latest chain report",
"description": "Requires public access key.
This includes currently ongoing chains.",
+ "operationId": "614a2f2bdd7fb6df778b7657c75d1113",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2059,6 +2094,7 @@
],
"summary": "Get a chain report",
"description": "Requires public access key.
Chain reports for ongoing chains are available only for your own faction.",
+ "operationId": "21a251c2ec9f6c93b89fb715196bb8be",
"parameters": [
{
"name": "chainId",
@@ -2106,6 +2142,7 @@
],
"summary": "Get your faction's challenge contributors",
"description": "Requires limiteed access key with faction API access permissions.
",
+ "operationId": "40eb7627818eb777fdc713ed78209c6b",
"parameters": [
{
"name": "stat",
@@ -2166,6 +2203,7 @@
],
"summary": "Get your faction's organized crimes",
"description": "Requires minimal access key with faction API access permissions.
It's possible to get older entries either by timestamp range (from, to) or with offset.",
+ "operationId": "72e5db8a773908fedff4bb002f3f4406",
"parameters": [
{
"name": "cat",
@@ -2235,6 +2273,7 @@
],
"summary": "Get a specific organized crime",
"description": "Requires minimal access key with faction API access permissions.
",
+ "operationId": "b4867db9b02fa7dcd31b2073f2a936ce",
"parameters": [
{
"name": "crimeId",
@@ -2282,6 +2321,7 @@
],
"summary": "Get your faction's hall of fame rankings.",
"description": "Requires public access key.
",
+ "operationId": "e104b0b606664d06d9638111702301f3",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2320,6 +2360,7 @@
],
"summary": "Get a faction's hall of fame rankings.",
"description": "Requires public access key.
",
+ "operationId": "a775ca7831f4cad88c308be28f50e597",
"parameters": [
{
"name": "id",
@@ -2367,6 +2408,7 @@
],
"summary": "Get a list of your faction's members",
"description": "Requires public access key.
The 'revive_setting' value will be populated (not Unknown) if you have faction permissions (with custom, limited or full access keys), otherwise it will be set as 'Unknown'.",
+ "operationId": "03d304564e4f84e3f258e5b8059bcc22",
"parameters": [
{
"$ref": "#/components/parameters/ApiStripTagsTrue"
@@ -2408,6 +2450,7 @@
],
"summary": "Get a list of a faction's members",
"description": "Requires public access key.
The 'revive_setting' value will be populated (not Unknown) if you're requesting data for your own faction and have faction permissions (with custom, limited or full access keys), otherwise it will be set as 'Unknown'.",
+ "operationId": "99a899c0094645475fd6254b423fea43",
"parameters": [
{
"name": "id",
@@ -2458,6 +2501,7 @@
],
"summary": "Get your faction's news details",
"description": "Requires minimal access key with faction API access permissions.
It is possible to pass up to 10 categories at the time (comma separated). Categories 'attack', 'depositFunds' and 'giveFunds' are only available with 'Custom', 'Limited' or 'Full' access keys.",
+ "operationId": "1da64889366de71140f2c15ad14b67b1",
"parameters": [
{
"$ref": "#/components/parameters/ApiStripTagsFalse"
@@ -2520,6 +2564,7 @@
],
"summary": "Get your faction's positions details",
"description": "Requires minimal access key with faction API access permissions.
",
+ "operationId": "77dae3b930e2e2f9f7608567db0b94f4",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2558,6 +2603,7 @@
],
"summary": "Get a list of current rackets",
"description": "Requires public access key.
",
+ "operationId": "f750d219e54329ae300c4db384dd5dcd",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2596,6 +2642,7 @@
],
"summary": "Get ranked wars list",
"description": "Requires public access key.
When category 'all' is chosen, you can use 'from', 'to' & 'sort' query parameters.
When category 'ongoing' is chosen, all currently active ranked wars are returned.
When no category is chosen, this selection will return ranked war history of your own faction (if any).",
+ "operationId": "4f5d624a86e2d389a7a738b6b3ce8c9e",
"parameters": [
{
"name": "cat",
@@ -2651,6 +2698,7 @@
],
"summary": "Get a faction's ranked wars history",
"description": "Requires public access key.
",
+ "operationId": "5b6646714e5ae1cc397bdec877f55691",
"parameters": [
{
"name": "id",
@@ -2698,6 +2746,7 @@
],
"summary": "Get ranked war details",
"description": "Requires public access key.
",
+ "operationId": "db49842d88e193777dc695e54769113e",
"parameters": [
{
"name": "rankedWarId",
@@ -2745,6 +2794,7 @@
],
"summary": "Get your faction's detailed revives",
"description": "Requires limited access key with faction API access permissions.
",
+ "operationId": "486fcda26ed1aa6aba8ec7091080723b",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -2798,6 +2848,7 @@
],
"summary": "Get your faction's simplified revives",
"description": "Requires limited access key with faction API access permissions.
",
+ "operationId": "f17a4064779e8de5200238816c233c02",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit1000"
@@ -2851,6 +2902,7 @@
],
"summary": "Get your faction's challenges stats",
"description": "Requires minimal access key with faction API access permissions.
",
+ "operationId": "806d9dc7e5fcf9e1ee9c3cdf7f035392",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2889,6 +2941,7 @@
],
"summary": "Get a list of your faction's territories",
"description": "Requires public access key.
",
+ "operationId": "fa6b3fbb14e5f3a71279b058bd751754",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -2927,6 +2980,7 @@
],
"summary": "Get a list of a faction's territories",
"description": "Requires public access key.
",
+ "operationId": "4dce518364dad91fb3503e0382adfadf",
"parameters": [
{
"name": "id",
@@ -2974,6 +3028,7 @@
],
"summary": "Get a list of your faction's territories",
"description": "Requires public access key.
",
+ "operationId": "bf56fb8aba4d6810e9b96402e25b931d",
"parameters": [
{
"$ref": "#/components/parameters/ApiOffset"
@@ -3018,6 +3073,7 @@
],
"summary": "Get territory wars list",
"description": "Requires public access key.
When category 'finished' is chosen, you can use 'from', 'to' & 'sort' query parameters.
When category 'ongoing' is chosen, all currently active territory wars are returned.
When no category is chosen, this selection will return territory war history of your own faction (if any).",
+ "operationId": "0258963246159d1e3e54547c32aac7c8",
"parameters": [
{
"name": "cat",
@@ -3076,6 +3132,7 @@
],
"summary": "Get a faction's territory wars history",
"description": "Requires public access key.
",
+ "operationId": "76ce672d50a66fc0a832f9088e5436af",
"parameters": [
{
"name": "id",
@@ -3123,6 +3180,7 @@
],
"summary": "Get territory war details",
"description": "Requires public access key.
",
+ "operationId": "4e8aeafde7b5fc9918d166cda150fa91",
"parameters": [
{
"name": "territoryWarId",
@@ -3170,6 +3228,7 @@
],
"summary": "Get your faction's upgrades",
"description": "Requires minimal access key with faction API access permissions.
",
+ "operationId": "959f415abf48cb753414cec179b1b039",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3208,6 +3267,7 @@
],
"summary": "Get your faction's wars & pacts details",
"description": "Requires public access key.
",
+ "operationId": "b31cce9916e77431c08822844a0dbf2b",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3246,6 +3306,7 @@
],
"summary": "Get a faction's wars & pacts details",
"description": "Requires public access key.
",
+ "operationId": "c370823454d5ea28fc0df9a5b6a24c54",
"parameters": [
{
"name": "id",
@@ -3292,6 +3353,7 @@
"Faction"
],
"description": "Requires public access key.
",
+ "operationId": "065bcbaa654fc44ce7b8ea574b84f7b9",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3330,6 +3392,7 @@
],
"summary": "Get current server time",
"description": "Requires public access key.
",
+ "operationId": "627df4d7d8b91c62dacb66ff373aab5c",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3368,6 +3431,7 @@
],
"summary": "Get any Faction selection",
"description": "Key access level depends on the required selections.
Choose one or more selections (comma separated).",
+ "operationId": "dd89e28b1f1ed88853b09ecc982e4e66",
"parameters": [
{
"name": "selections",
@@ -3556,6 +3620,7 @@
],
"summary": "Get publicly available forum categories",
"description": "Requires public access key.
",
+ "operationId": "79b21191b87da275f3b87a7a1a233d04",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3594,6 +3659,7 @@
],
"summary": "Get specific forum thread posts",
"description": "Requires public access key.
Returns 20 posts per page for a specific thread.",
+ "operationId": "9c5eeb1aebb102b7c62fab11974c359a",
"parameters": [
{
"$ref": "#/components/parameters/ApiOffsetNoDefault"
@@ -3647,6 +3713,7 @@
],
"summary": "Get specific thread details",
"description": "Requires public access key.
Contains details of a thread including topic content and poll (if any).",
+ "operationId": "a4618a3901c01413c14b75e984495a9b",
"parameters": [
{
"name": "threadId",
@@ -3694,6 +3761,7 @@
],
"summary": "Get threads across all forum categories",
"description": "Requires public access key.
",
+ "operationId": "d2d64a69cedfdce19a50eff117e2c166",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -3744,6 +3812,7 @@
],
"summary": "Get threads for specific public forum category or categories",
"description": "Requires public access key.
",
+ "operationId": "715cb3a4df0a9bf8094a53dc3259b633",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -3762,10 +3831,13 @@
"in": "path",
"description": "Category id or a list of category ids (comma separated)",
"required": true,
- "style": "simple",
+ "style": "form",
"explode": false,
"schema": {
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumId"
+ }
}
},
{
@@ -3805,6 +3877,7 @@
],
"summary": "Get all available forum selections",
"description": "Requires public access key.
",
+ "operationId": "f0805d0b7ad26c62ddd2fa8d0d332ba4",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3843,6 +3916,7 @@
],
"summary": "Get current server time",
"description": "Requires public access key.
",
+ "operationId": "ec72c2a8cd96c88e4d228221bf6bf42f",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -3881,6 +3955,7 @@
],
"summary": "Get any Forum selection",
"description": "Requires public access key.
Choose one or more selections (comma separated).",
+ "operationId": "21915cf0228ce3677261cdce27fb39e2",
"parameters": [
{
"name": "selections",
@@ -3988,6 +4063,7 @@
],
"summary": "Get current key log history",
"description": "Available for any key.
\n * This selection contains up to last 250 request logs.",
+ "operationId": "0d6dae59c9b3419c18d2a4ca0da757e6",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -4032,6 +4108,7 @@
],
"summary": "Get current key info",
"description": "Available for any key.
",
+ "operationId": "e6d387f16971004628eeca2d6473f825",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4069,6 +4146,7 @@
"Key"
],
"summary": "Get any Key selection",
+ "operationId": "c6ccbb0a05ebf3b307c82a4c89275e52",
"parameters": [
{
"name": "selections",
@@ -4134,6 +4212,7 @@
],
"summary": "Get item market listings",
"description": "Requires public access key.
",
+ "operationId": "f535a33bf405e7bd60918e536f827e5c",
"parameters": [
{
"name": "id",
@@ -4193,6 +4272,7 @@
],
"summary": "Get all available market selections",
"description": "Requires public access key.
",
+ "operationId": "22a00095ad734485b6dacdc12c1f62ff",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4231,6 +4311,7 @@
],
"summary": "Get current server time",
"description": "Requires public access key.
",
+ "operationId": "ad0c908328835d9672d157fe84eac884",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4269,6 +4350,7 @@
],
"summary": "Get any Market selection",
"description": "Requires public access key.
Choose one or more selections (comma separated).",
+ "operationId": "8e78be3fa3d353f59f8654fcc1c2199c",
"parameters": [
{
"name": "selections",
@@ -4374,6 +4456,7 @@
],
"summary": "Get cars and their racing stats",
"description": "Requires public access key.
Returns the stat details about racing cars.",
+ "operationId": "ab5b44b00bf70d7a8587a3c2c9deeb17",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4412,6 +4495,7 @@
],
"summary": "Get all possible car upgrades",
"description": "Requires public access key.
Returns the details about all possible car upgrades.",
+ "operationId": "c9e76cf48aa3c4bac4c8b33f1c0c9a17",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4450,6 +4534,7 @@
],
"summary": "Get races",
"description": "Requires public access key.
Returns a list of races, ordered by race start timestamp.",
+ "operationId": "4be921a67d32b5e82c68835ef56175d0",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -4514,6 +4599,7 @@
],
"summary": "Get specific race details",
"description": "Requires public access key.
Returns the details of a race.",
+ "operationId": "76925256951bb63fd28534c8c479b27b",
"parameters": [
{
"name": "raceId",
@@ -4561,6 +4647,7 @@
],
"summary": "Get track records",
"description": "Requires public access key.
Returns a list of 10 best lap records for the chosen track and car class. Results are cached globally 1 hour.",
+ "operationId": "5fbc62db3b9380b155d7e33100620da7",
"parameters": [
{
"name": "trackId",
@@ -4617,6 +4704,7 @@
],
"summary": "Get race tracks and descriptions",
"description": "Requires public access key.
Returns the details about racing tracks.",
+ "operationId": "6e4507cc442d6f099d0170b78a35bf8d",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4655,6 +4743,7 @@
],
"summary": "Get all available racing selections",
"description": "Requires public access key.
",
+ "operationId": "8bd16be9aa517fedf717c9a79ff47e2c",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4693,6 +4782,7 @@
],
"summary": "Get current server time",
"description": "Requires public access key.
",
+ "operationId": "eb1ae216aa2949a8db0702df474d174c",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4731,6 +4821,7 @@
],
"summary": "Get any Racing selection",
"description": "Requires public access key.
Choose one or more selections (comma separated).",
+ "operationId": "39b8ce36e3fffc9e2aa1d0aed9ebccda",
"parameters": [
{
"name": "selections",
@@ -4841,6 +4932,7 @@
],
"summary": "Get attack log details",
"description": "Requires public key.
",
+ "operationId": "61c2d0bc6980cf8d730fe48eb81f417b",
"parameters": [
{
"name": "log",
@@ -4897,6 +4989,7 @@
],
"summary": "Get bounties",
"description": "Requires public key.
",
+ "operationId": "279e811630fa497fb2cae268c70992e2",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -4941,6 +5034,7 @@
],
"summary": "Get calendar information",
"description": "Requires public access key.
Get the details about competitions & events in the running year.",
+ "operationId": "e95c96ef528248341647a5704630320e",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -4979,6 +5073,7 @@
],
"summary": "Get crimes information",
"description": "Requires public access key.
Return the details about released crimes.",
+ "operationId": "b73ff4e5a9dd28905060da24ca76efde",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5017,6 +5112,7 @@
],
"summary": "Get education information",
"description": "Requires public access key.
",
+ "operationId": "992f8b71435ca78ba96f1e5298c25152",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5055,6 +5151,7 @@
],
"summary": "Get faction hall of fame positions for a specific category",
"description": "Requires public access key.
",
+ "operationId": "2a67e4b84813ee97a398be48e544abf5",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -5108,6 +5205,7 @@
],
"summary": "Get full faction tree",
"description": "Requires public access key.
",
+ "operationId": "f45431b364546bb20b0ca909e9ac686e",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5146,6 +5244,7 @@
],
"summary": "Get player hall of fame positions for a specific category",
"description": "Requires public key.",
+ "operationId": "911d56b49218cef2102be3de73f82f01",
"parameters": [
{
"$ref": "#/components/parameters/ApiLimit100"
@@ -5199,6 +5298,7 @@
],
"summary": "Get information about ammo",
"description": "Requires public key.",
+ "operationId": "2e799e84fcfa9b722f856e859df909f8",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5237,6 +5337,7 @@
],
"summary": "Get information about weapon upgrades",
"description": "Requires public key.",
+ "operationId": "80ad6ebd50b6c075427c04d2f54d7af5",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5275,6 +5376,7 @@
],
"summary": "Get information about items",
"description": "Requires public key.
Default category is 'All'.
Details are not populated when requesting the category 'All'.",
+ "operationId": "0f4c4c07e1dfacbda689b2a0d62ccda4",
"parameters": [
{
"name": "cat",
@@ -5325,16 +5427,20 @@
],
"summary": "Get information about items",
"description": "Requires public key.
Details are always populated when available.",
+ "operationId": "a4fedadcac3aada40131288e4e3d6c2d",
"parameters": [
{
"name": "ids",
"in": "path",
"description": "Item id or a list of item ids (comma separated)",
"required": true,
- "style": "simple",
+ "style": "form",
"explode": false,
"schema": {
- "type": "string"
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ItemId"
+ }
}
},
{
@@ -5377,6 +5483,7 @@
],
"summary": "Get available log categories",
"description": "Requires public key.
",
+ "operationId": "2f68d7e04d218e26005be3eeca6de583",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5415,6 +5522,7 @@
],
"summary": "Get all available log ids",
"description": "Requires public key.
",
+ "operationId": "d4cb87bc2502a517c49525b910a6dd82",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5453,6 +5561,7 @@
],
"summary": "Get available log ids for a specific log category",
"description": "Requires public key.
",
+ "operationId": "7be904fbcb98a7bb724f0c5b02a37a25",
"parameters": [
{
"name": "logCategoryId",
@@ -5500,6 +5609,7 @@
],
"summary": "Get Subcrimes information",
"description": "Requires public access key.
Return the details about possible actions for a specific crime.",
+ "operationId": "ad45b0f57a1109977f605581fc294bda",
"parameters": [
{
"name": "crimeId",
@@ -5547,6 +5657,7 @@
],
"summary": "Get territory details",
"description": "Requires public access key.
",
+ "operationId": "37f1828422f3080da21f9eb4aa576686",
"parameters": [
{
"$ref": "#/components/parameters/ApiOffset"
@@ -5591,16 +5702,20 @@
],
"summary": "Get territory details",
"description": "Requires public access key.
",
+ "operationId": "4e528387ddb78befed57cb4c84151399",
"parameters": [
{
"name": "territoryIds",
"in": "path",
"description": "Territory id or a list of territory ids (comma separated)",
"required": true,
- "style": "simple",
+ "style": "form",
"explode": false,
"schema": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ }
}
},
{
@@ -5640,6 +5755,7 @@
],
"summary": "Get all available torn selections",
"description": "Requires public key.
",
+ "operationId": "2baae03f953cd57fd5303dd1d04efae0",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5678,6 +5794,7 @@
],
"summary": "Get current server time",
"description": "Requires public key.
",
+ "operationId": "6f8cffcdae9fe97110b8d46c3991f109",
"parameters": [
{
"$ref": "#/components/parameters/ApiTimestamp"
@@ -5716,6 +5833,7 @@
],
"summary": "Get any Torn selection",
"description": "Requires public access key.
Choose one or more selections (comma separated).",
+ "operationId": "1846c4cf1e6878553e36571dc9cac29f",
"parameters": [
{
"name": "selections",
@@ -11332,1979 +11450,38 @@
},
"type": "object"
},
- "FactionTerritoryWarFinishedFaction": {
+ "UserCurrentEducation": {
"required": [
"id",
- "name",
- "score",
- "is_aggressor"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "is_aggressor": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarFinished": {
- "required": [
- "id",
- "territory",
- "start",
- "end",
- "target",
- "result",
- "factions"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/TerritoryWarId"
- },
- "territory": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- },
- "start": {
- "type": "integer",
- "format": "int64"
- },
- "end": {
- "type": "integer",
- "format": "int64"
- },
- "target": {
- "type": "integer",
- "format": "int32"
- },
- "result": {
- "$ref": "#/components/schemas/FactionTerritoryWarResultEnum"
- },
- "factions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarFinishedFaction"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarOngoingFaction": {
- "required": [
- "id",
- "name",
- "score",
- "is_aggressor",
- "chain",
- "playerIds"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "is_aggressor": {
- "type": "boolean"
- },
- "chain": {
- "type": "integer",
- "format": "int32"
- },
- "playerIds": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserId"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarOngoing": {
- "required": [
- "id",
- "territory",
- "start",
- "end",
- "target",
- "factions"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/TerritoryWarId"
- },
- "territory": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "type": "integer",
- "format": "int32"
- },
- "target": {
- "type": "integer",
- "format": "int32"
- },
- "factions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarOngoingFaction"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarsResponse": {
- "required": [
- "territorywars"
- ],
- "properties": {
- "territorywars": {
- "description": "If the chosen category is 'ongoing' the response will be of 'FactionTerritoryWarOngoing' type, otherwise, the type will be 'FactionTerritoryWarFinished'.",
- "oneOf": [
- {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarOngoing"
- }
- },
- {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarFinished"
- }
- }
- ]
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarsHistoryResponse": {
- "required": [
- "territorywars"
- ],
- "properties": {
- "territorywars": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarFinished"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarReportMembers": {
- "required": [
- "id",
- "username",
- "level",
- "score",
- "joins",
- "clears"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "username": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "joins": {
- "type": "integer",
- "format": "int32"
- },
- "clears": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarReportFaction": {
- "required": [
- "id",
- "name",
- "score",
- "joins",
- "clears",
- "is_aggressor",
- "members"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "joins": {
- "type": "integer",
- "format": "int32"
- },
- "clears": {
- "type": "integer",
- "format": "int32"
- },
- "is_aggressor": {
- "type": "boolean"
- },
- "members": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarReportMembers"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarReport": {
- "required": [
- "id",
- "territory",
- "started_at",
- "ended_at",
- "winner",
- "result",
- "factions"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/TerritoryWarId"
- },
- "territory": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- },
- "started_at": {
- "type": "integer",
- "format": "int32"
- },
- "ended_at": {
- "type": "integer",
- "format": "int32"
- },
- "winner": {
- "$ref": "#/components/schemas/FactionId"
- },
- "result": {
- "type": "string"
- },
- "factions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarReportFaction"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarReportResponse": {
- "required": [
- "territorywarreport"
- ],
- "properties": {
- "territorywarreport": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarReport"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryOwnership": {
- "required": [
- "id",
- "owned_by",
- "acquired_at"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "owned_by": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionId"
- },
- {
- "type": "null"
- }
- ]
- },
- "acquired_at": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "FactionTerritoriesOwnershipResponse": {
- "required": [
- "territoryownership"
- ],
- "properties": {
- "territoryownership": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryOwnership"
- }
- }
- },
- "type": "object"
- },
- "TornRacketReward": {
- "required": [
- "type",
- "quantity",
- "id"
- ],
- "properties": {
- "type": {
- "$ref": "#/components/schemas/TornRacketType"
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- },
- "id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ItemId"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "TornRacket": {
- "required": [
- "name",
- "level",
- "description",
- "reward",
- "created_at",
- "changed_at"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "description": {
- "type": "string"
- },
- "reward": {
- "$ref": "#/components/schemas/TornRacketReward"
- },
- "created_at": {
- "type": "integer",
- "format": "int32"
- },
- "changed_at": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionRacketsReponse": {
- "required": [
- "rackets"
- ],
- "properties": {
- "rackets": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornRacket"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritory": {
- "required": [
- "id",
- "acquired_at",
- "sector",
- "size",
- "density",
- "slots",
- "respect",
- "coordinates",
- "racket"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- },
- "acquired_at": {
- "type": "integer",
- "format": "int32"
- },
- "sector": {
- "type": "integer",
- "format": "int32"
- },
- "size": {
- "type": "integer",
- "format": "int32"
- },
- "density": {
- "type": "integer",
- "format": "int32"
- },
- "slots": {
- "type": "integer",
- "format": "int32"
- },
- "respect": {
- "type": "integer",
- "format": "int32"
- },
- "coordinates": {
- "$ref": "#/components/schemas/TornTerritoryCoordinates"
- },
- "racket": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/TornRacket"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "FactionTerritoriesReponse": {
- "required": [
- "territory"
- ],
- "properties": {
- "territory": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritory"
- }
- }
- },
- "type": "object"
- },
- "FactionPosition": {
- "required": [
- "name",
- "is_default",
- "abilities"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "is_default": {
- "type": "boolean"
- },
- "abilities": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionPositionAbilityEnum"
- }
- }
- },
- "type": "object"
- },
- "FactionPositionsResponse": {
- "required": [
- "positions"
- ],
- "properties": {
- "positions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionPosition"
- }
- }
- },
- "type": "object"
- },
- "FactionUpgradeDetails": {
- "required": [
- "id",
- "name",
- "ability",
- "level",
- "cost",
- "unlockedAt"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionBranchId"
- },
- "name": {
- "type": "string"
- },
- "ability": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "cost": {
- "type": "integer",
- "format": "int32"
- },
- "unlocked_at": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionBranchDetails": {
- "required": [
- "name",
- "order",
- "multiplier",
- "upgrades"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "order": {
- "type": "integer",
- "format": "int32"
- },
- "multiplier": {
- "description": "Respect cost multiplier.",
- "type": "integer",
- "format": "int32"
- },
- "upgrades": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionUpgradeDetails"
- }
- }
- },
- "type": "object"
- },
- "FactionUpgrades": {
- "required": [
- "core",
- "peace",
- "war"
- ],
- "properties": {
- "core": {
- "properties": {
- "upgrades": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionUpgradeDetails"
- }
- }
- },
- "type": "object"
- },
- "peace": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionBranchDetails"
- }
- },
- "war": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionBranchDetails"
- }
- }
- },
- "type": "object"
- },
- "FactionUpgradesResponse": {
- "required": [
- "upgrades",
- "state"
- ],
- "properties": {
- "upgrades": {
- "$ref": "#/components/schemas/FactionUpgrades"
- },
- "state": {
- "$ref": "#/components/schemas/FactionBranchStateEnum"
- }
- },
- "type": "object"
- },
- "FactionStat": {
- "required": [
- "name",
- "value"
- ],
- "properties": {
- "name": {
- "$ref": "#/components/schemas/FactionStatEnum"
- },
- "value": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- },
- "FactionStatsResponse": {
- "required": [
- "stats"
- ],
- "properties": {
- "stats": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionStat"
- }
- }
- },
- "type": "object"
- },
- "FactionContributor": {
- "required": [
- "id",
- "username",
- "value",
- "in_faction"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "username": {
- "type": "string"
- },
- "value": {
- "type": "integer",
- "format": "int64"
- },
- "in_faction": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "FactionContributorsResponse": {
- "required": [
- "contributors"
- ],
- "properties": {
- "contributors": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionContributor"
- }
- }
- },
- "type": "object"
- },
- "FactionHofStats": {
- "required": [
- "rank",
- "respect",
- "chain"
- ],
- "properties": {
- "rank": {
- "$ref": "#/components/schemas/HofValueString"
- },
- "respect": {
- "$ref": "#/components/schemas/HofValue"
- },
- "chain": {
- "$ref": "#/components/schemas/HofValue"
- }
- },
- "type": "object"
- },
- "FactionHofResponse": {
- "required": [
- "hof"
- ],
- "properties": {
- "hof": {
- "$ref": "#/components/schemas/FactionHofStats"
- }
- },
- "type": "object"
- },
- "FactionMember": {
- "description": "Details about a faction member.",
- "required": [
- "id",
- "name",
- "position",
- "level",
- "days_in_faction",
- "is_revivable",
- "is_on_wall",
- "is_in_oc",
- "has_early_discharge",
- "last_action",
- "status",
- "revive_setting"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- },
- "position": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "days_in_faction": {
- "type": "integer",
- "format": "int32"
- },
- "is_revivable": {
- "type": "boolean"
- },
- "is_on_wall": {
- "description": "Shows if the member is currently defending territory wall.",
- "type": "boolean"
- },
- "is_in_oc": {
- "description": "Shows if the member is currently participating in an organized crime. Show false for members of other factions.",
- "type": "boolean"
- },
- "has_early_discharge": {
- "description": "Shows if the member is eligible for an early discharge from the hospital.",
- "type": "boolean"
- },
- "last_action": {
- "$ref": "#/components/schemas/UserLastAction"
- },
- "status": {
- "$ref": "#/components/schemas/UserStatus"
- },
- "revive_setting": {
- "$ref": "#/components/schemas/ReviveSetting"
- }
- },
- "type": "object"
- },
- "UserLastAction": {
- "description": "Details about a user's last action.",
- "required": [
- "status",
- "timestamp",
- "relative"
- ],
- "properties": {
- "status": {
- "type": "string"
- },
- "timestamp": {
- "type": "integer",
- "format": "int32"
- },
- "relative": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UserStatus": {
- "description": "Details about a user's status.",
- "required": [
- "description",
- "details",
- "state",
"until"
],
"properties": {
- "description": {
- "type": "string"
- },
- "details": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "state": {
- "type": "string"
+ "id": {
+ "$ref": "#/components/schemas/EducationId"
},
"until": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
+ "type": "integer",
+ "format": "int32"
}
},
"type": "object"
},
- "FactionMembersResponse": {
+ "UserEducation": {
"required": [
- "members"
+ "complete",
+ "current"
],
"properties": {
- "members": {
+ "complete": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/FactionMember"
+ "$ref": "#/components/schemas/EducationId"
}
- }
- },
- "type": "object"
- },
- "FactionRank": {
- "required": [
- "level",
- "name",
- "division",
- "position",
- "wins"
- ],
- "properties": {
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "name": {
- "type": "string"
- },
- "division": {
- "type": "integer",
- "format": "int32"
- },
- "position": {
- "type": "integer",
- "format": "int32"
- },
- "wins": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionBasic": {
- "required": [
- "id",
- "name",
- "tag",
- "tag_image",
- "leader_id",
- "co_leader_id",
- "respect",
- "days_old",
- "capacity",
- "members",
- "is_enlisted",
- "rank",
- "best_chain"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "tag": {
- "type": "string"
- },
- "tag_image": {
- "type": "string"
- },
- "leader_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "co-leader_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "co_leader_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "respect": {
- "type": "integer",
- "format": "int32"
- },
- "days_old": {
- "type": "integer",
- "format": "int32"
- },
- "capacity": {
- "type": "integer",
- "format": "int32"
- },
- "members": {
- "type": "integer",
- "format": "int32"
- },
- "is_enlisted": {
- "description": "Indicates if the faction is enlisted for ranked wars. Available only with faction AA permissions for your own faction.",
- "oneOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "rank": {
- "$ref": "#/components/schemas/FactionRank"
- },
- "best_chain": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionBasicResponse": {
- "required": [
- "basic"
- ],
- "properties": {
- "basic": {
- "$ref": "#/components/schemas/FactionBasic"
- }
- },
- "type": "object"
- },
- "FactionPact": {
- "required": [
- "faction_id",
- "faction_name",
- "until"
- ],
- "properties": {
- "faction_id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "faction_name": {
- "type": "string"
- },
- "until": {
- "description": "The duration until when is the non-aggression pact valid.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "FactionRankedWarParticipant": {
- "required": [
- "id",
- "name",
- "score",
- "chain"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "chain": {
- "description": "Faction's current chain.",
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionRankedWar": {
- "required": [
- "war_id",
- "start",
- "end",
- "target",
- "winner",
- "factions"
- ],
- "properties": {
- "war_id": {
- "type": "integer",
- "format": "int32"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "target": {
- "description": "The score target of the war.",
- "type": "integer",
- "format": "int32"
- },
- "winner": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "factions": {
- "description": "The factions involved in the ranked war.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionRankedWarParticipant"
- }
- }
- },
- "type": "object"
- },
- "FactionRaidWarParticipant": {
- "required": [
- "id",
- "name",
- "score",
- "chain",
- "is_aggressor"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "chain": {
- "description": "Faction's current chain.",
- "type": "integer",
- "format": "int32"
- },
- "is_aggressor": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "FactionRaidWar": {
- "required": [
- "war_id",
- "start",
- "end",
- "factions"
- ],
- "properties": {
- "war_id": {
- "type": "integer",
- "format": "int32"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "factions": {
- "description": "The factions involved in the raid war.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionRaidWarParticipant"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWarParticipant": {
- "required": [
- "id",
- "name",
- "score",
- "chain",
- "is_aggressor",
- "playerIds"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "chain": {
- "description": "Faction's current chain.",
- "type": "integer",
- "format": "int32"
- },
- "is_aggressor": {
- "type": "boolean"
- },
- "playerIds": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserId"
- }
- }
- },
- "type": "object"
- },
- "FactionTerritoryWar": {
- "required": [
- "war_id",
- "territory",
- "start",
- "end",
- "target",
- "factions"
- ],
- "properties": {
- "war_id": {
- "type": "integer",
- "format": "int32"
- },
- "territory": {
- "type": "string"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "target": {
- "description": "The score target of the war.",
- "type": "integer",
- "format": "int32"
- },
- "winner": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionId"
- },
- {
- "type": "null"
- }
- ]
- },
- "factions": {
- "description": "The factions involved in the territory war.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWarParticipant"
- }
- }
- },
- "type": "object"
- },
- "FactionWars": {
- "required": [
- "ranked",
- "raids",
- "territory"
- ],
- "properties": {
- "ranked": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionRankedWar"
- },
- {
- "type": "null"
- }
- ]
- },
- "raids": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionRaidWar"
- }
- },
- "territory": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryWar"
- }
- }
- },
- "type": "object"
- },
- "FactionWarsResponse": {
- "required": [
- "pacts",
- "wars"
- ],
- "properties": {
- "pacts": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionPact"
- }
- },
- "wars": {
- "$ref": "#/components/schemas/FactionWars"
- }
- },
- "type": "object"
- },
- "FactionNews": {
- "required": [
- "id",
- "text",
- "timestamp"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "timestamp": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionNewsResponse": {
- "required": [
- "news",
- "_metadata"
- ],
- "properties": {
- "news": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionNews"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionAttacksResponse": {
- "required": [
- "attacks",
- "_metadata"
- ],
- "properties": {
- "attacks": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Attack"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionAttacksFullResponse": {
- "required": [
- "attacks",
- "_metadata"
- ],
- "properties": {
- "attacks": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AttackSimplified"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionApplication": {
- "required": [
- "id",
- "user",
- "message",
- "valid_until",
- "status"
- ],
- "properties": {
- "id": {
- "description": "application id",
- "type": "integer",
- "format": "int32"
- },
- "user": {
- "required": [
- "id",
- "name",
- "level",
- "stats"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "stats": {
- "required": [
- "strength",
- "speed",
- "dexterity",
- "defense"
- ],
- "properties": {
- "strength": {
- "type": "integer",
- "format": "int64"
- },
- "speed": {
- "type": "integer",
- "format": "int64"
- },
- "dexterity": {
- "type": "integer",
- "format": "int64"
- },
- "defense": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "message": {
- "type": "string"
- },
- "valid_until": {
- "type": "integer",
- "format": "int32"
- },
- "status": {
- "$ref": "#/components/schemas/FactionApplicationStatusEnum"
- }
- },
- "type": "object"
- },
- "FactionApplicationsResponse": {
- "required": [
- "applications"
- ],
- "properties": {
- "applications": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionApplication"
- }
- }
- },
- "type": "object"
- },
- "FactionOngoingChain": {
- "required": [
- "id",
- "current",
- "max",
- "timeout",
- "modifier",
- "cooldown",
- "start",
- "end"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ChainId"
},
"current": {
- "type": "integer",
- "format": "int32"
- },
- "max": {
- "type": "integer",
- "format": "int32"
- },
- "timeout": {
- "description": "Seconds until chain breaks.",
- "type": "integer",
- "format": "int32"
- },
- "modifier": {
- "type": "number",
- "format": "float"
- },
- "cooldown": {
- "description": "Timestamp until when chain is on cooldown.",
- "type": "integer",
- "format": "int32"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionOngoingChainResponse": {
- "required": [
- "chain"
- ],
- "properties": {
- "chain": {
- "$ref": "#/components/schemas/FactionOngoingChain"
- }
- },
- "type": "object"
- },
- "FactionChain": {
- "required": [
- "id",
- "chain",
- "respect",
- "start",
- "end"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ChainId"
- },
- "chain": {
- "type": "integer",
- "format": "int32"
- },
- "respect": {
- "type": "number",
- "format": "float"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionChainsResponse": {
- "required": [
- "chains",
- "_metadata"
- ],
- "properties": {
- "chains": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionChain"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionChainReportResponse": {
- "required": [
- "chainreport"
- ],
- "properties": {
- "chainreport": {
- "$ref": "#/components/schemas/FactionChainReport"
- }
- },
- "type": "object"
- },
- "FactionChainReport": {
- "required": [
- "id",
- "faction_id",
- "start",
- "end",
- "details",
- "bonuses",
- "attackers",
- "non_attackers"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ChainId"
- },
- "faction_id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "type": "integer",
- "format": "int32"
- },
- "details": {
- "$ref": "#/components/schemas/FactionChainReportDetails"
- },
- "bonuses": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionChainReportBonus"
- }
- },
- "attackers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionChainReportAttacker"
- }
- },
- "non-attackers": {
- "description": "This is replaced with 'non_attackers' field and will be removed on 1st June 2025.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserId"
- },
- "deprecated": true
- },
- "non_attackers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserId"
- }
- }
- },
- "type": "object"
- },
- "FactionChainReportDetails": {
- "required": [
- "chain",
- "respect",
- "members",
- "targets",
- "war",
- "best",
- "leave",
- "mug",
- "hospitalize",
- "assists",
- "retaliations",
- "overseas",
- "draws",
- "escapes",
- "losses"
- ],
- "properties": {
- "chain": {
- "type": "integer",
- "format": "int32"
- },
- "respect": {
- "type": "number",
- "format": "float"
- },
- "members": {
- "type": "integer",
- "format": "int32"
- },
- "targets": {
- "type": "integer",
- "format": "int32"
- },
- "war": {
- "type": "integer",
- "format": "int32"
- },
- "best": {
- "type": "number",
- "format": "float"
- },
- "leave": {
- "type": "integer",
- "format": "int32"
- },
- "mug": {
- "type": "integer",
- "format": "int32"
- },
- "hospitalize": {
- "type": "integer",
- "format": "int32"
- },
- "assists": {
- "type": "integer",
- "format": "int32"
- },
- "retaliations": {
- "type": "integer",
- "format": "int32"
- },
- "overseas": {
- "type": "integer",
- "format": "int32"
- },
- "draws": {
- "type": "integer",
- "format": "int32"
- },
- "escapes": {
- "type": "integer",
- "format": "int32"
- },
- "losses": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionChainReportBonus": {
- "required": [
- "attacker_id",
- "defender_id",
- "chain",
- "respect"
- ],
- "properties": {
- "attacker_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "defender_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "chain": {
- "type": "integer",
- "format": "int32"
- },
- "respect": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionChainReportAttacker": {
- "required": [
- "id",
- "respect",
- "attacks"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "respect": {
- "$ref": "#/components/schemas/FactionChainReportAttackerRespect"
- },
- "attacks": {
- "$ref": "#/components/schemas/FactionChainReportAttackerAttacks"
- }
- },
- "type": "object"
- },
- "FactionChainReportAttackerRespect": {
- "required": [
- "total",
- "average",
- "best"
- ],
- "properties": {
- "total": {
- "type": "number",
- "format": "float"
- },
- "average": {
- "type": "number",
- "format": "float"
- },
- "best": {
- "type": "number",
- "format": "float"
- }
- },
- "type": "object"
- },
- "FactionChainReportAttackerAttacks": {
- "required": [
- "total",
- "leave",
- "mug",
- "hospitalize",
- "assists",
- "retaliations",
- "overseas",
- "draws",
- "escpaces",
- "losses",
- "war",
- "bonuses"
- ],
- "properties": {
- "total": {
- "type": "integer",
- "format": "int32"
- },
- "leave": {
- "type": "integer",
- "format": "int32"
- },
- "mug": {
- "type": "integer",
- "format": "int32"
- },
- "hospitalize": {
- "type": "integer",
- "format": "int32"
- },
- "assists": {
- "type": "integer",
- "format": "int32"
- },
- "retaliations": {
- "type": "integer",
- "format": "int32"
- },
- "overseas": {
- "type": "integer",
- "format": "int32"
- },
- "draws": {
- "type": "integer",
- "format": "int32"
- },
- "escapes": {
- "type": "integer",
- "format": "int32"
- },
- "losses": {
- "type": "integer",
- "format": "int32"
- },
- "war": {
- "type": "integer",
- "format": "int32"
- },
- "bonuses": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionCrimeUser": {
- "required": [
- "id",
- "outcome",
- "joined_at",
- "progress"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "outcome": {
- "description": "This field will be null for old crimes.",
"oneOf": [
{
- "$ref": "#/components/schemas/FactionCrimeUserOutcome"
- },
- {
- "type": "null"
- }
- ]
- },
- "joined_at": {
- "description": "The timestamp at which the user joined the slot.",
- "type": "integer",
- "format": "int32"
- },
- "progress": {
- "description": "Current planning progress on the slot.",
- "type": "number",
- "format": "float"
- }
- },
- "type": "object"
- },
- "FactionCrimeRewardItem": {
- "required": [
- "id",
- "quantity"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionCrimeRewardPayout": {
- "required": [
- "type",
- "percentage",
- "paid_by",
- "paid_at"
- ],
- "properties": {
- "type": {
- "$ref": "#/components/schemas/FactionOrganizedCrimePayoutType"
- },
- "percentage": {
- "description": "Total percentage split between all participants.",
- "type": "integer",
- "format": "int32"
- },
- "paid_by": {
- "$ref": "#/components/schemas/UserId"
- },
- "paid_at": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "FactionCrimeReward": {
- "required": [
- "money",
- "items",
- "respect",
- "payout",
- "scope"
- ],
- "properties": {
- "money": {
- "type": "integer",
- "format": "int32"
- },
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionCrimeRewardItem"
- }
- },
- "respect": {
- "type": "integer",
- "format": "int32"
- },
- "scope": {
- "type": "integer",
- "format": "int32"
- },
- "payout": {
- "description": "Details about the crime payouts. This field is null if the crime has not been paid via the automatic payouts system.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionCrimeRewardPayout"
+ "$ref": "#/components/schemas/UserCurrentEducation"
},
{
"type": "null"
@@ -13314,572 +11491,213 @@
},
"type": "object"
},
- "FactionCrimeSlot": {
+ "UserEducationResponse": {
"required": [
- "position",
- "item_requirement",
- "user",
- "checkpoint_pass_rate"
+ "education"
],
"properties": {
- "position": {
- "type": "string"
- },
- "item_requirement": {
- "description": "Details of item required for the slot, if applicable.",
- "oneOf": [
- {
- "required": [
- "id",
- "is_reusable",
- "is_available"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "is_reusable": {
- "description": "Shows if the item is reusable or consumed during the crime.",
- "type": "boolean"
- },
- "is_available": {
- "description": "Shows if user has the required item.",
- "type": "boolean"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "user": {
- "description": "Details about the user joined the slot, if any.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionCrimeUser"
- },
- {
- "type": "null"
- }
- ]
- },
- "checkpoint_pass_rate": {
- "description": "Returns CPR for the player who joined the slot. If the slot is empty (availalbe), it shows your CPR for that slot. This value is 0 for expired crimes.",
- "type": "integer",
- "format": "int32"
+ "education": {
+ "$ref": "#/components/schemas/UserEducation"
}
},
"type": "object"
},
- "FactionCrime": {
+ "UserCrimeDetailsBootlegging": {
"required": [
- "id",
- "name",
- "previous_crime_id",
- "difficulty",
- "status",
- "created_at",
- "planning_at",
- "ready_at",
- "expired_at",
- "executed_at",
- "slots",
- "rewards"
+ "online_store",
+ "dvd_sales",
+ "dvd_copies"
],
"properties": {
- "id": {
- "$ref": "#/components/schemas/FactionCrimeId"
- },
- "previous_crime_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionCrimeId"
- },
- {
- "type": "null"
- }
- ]
- },
- "name": {
- "type": "string"
- },
- "difficulty": {
- "type": "integer",
- "format": "int32"
- },
- "status": {
- "$ref": "#/components/schemas/FactionCrimeStatusEnum"
- },
- "created_at": {
- "description": "The timestamp at which the crime was created.",
- "type": "integer",
- "format": "int32"
- },
- "planning_at": {
- "description": "The timestamp at which the planning phase for the crime has begun.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "ready_at": {
- "description": "The timestamp at which the crime will be ready.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "expired_at": {
- "description": "The timestamp at which the crime will expire.",
- "type": "integer",
- "format": "int32"
- },
- "executed_at": {
- "description": "The timestamp at which the crime was executed.
Note: this value is null for all crimes executed before January 15th, 2025.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "slots": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionCrimeSlot"
- }
- },
- "rewards": {
- "description": "Details about the crime rewards. Available only for crimes with 'Successful' status.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionCrimeReward"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "FactionCrimesResponse": {
- "required": [
- "crimes",
- "_metadata"
- ],
- "properties": {
- "crimes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionCrime"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionCrimeResponse": {
- "required": [
- "crime"
- ],
- "properties": {
- "crime": {
- "$ref": "#/components/schemas/FactionCrime"
- }
- },
- "type": "object"
- },
- "FactionBalance": {
- "required": [
- "faction",
- "members"
- ],
- "properties": {
- "faction": {
+ "online_store": {
+ "description": "Online store statistics.",
"required": [
- "money",
- "points",
- "scope"
+ "earnings",
+ "visits",
+ "customers",
+ "sales"
],
"properties": {
- "money": {
+ "earnings": {
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
- "points": {
+ "visits": {
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
- "scope": {
+ "customers": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "sales": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
- "members": {
- "type": "array",
- "items": {
- "required": [
- "id",
- "username",
- "money",
- "points"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "username": {
- "type": "string"
- },
- "money": {
- "type": "integer",
- "format": "int64"
- },
- "points": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- }
- }
- },
- "type": "object"
- },
- "FactionBalanceResponse": {
- "required": [
- "balance"
- ],
- "properties": {
- "balance": {
- "$ref": "#/components/schemas/FactionBalance"
- }
- },
- "type": "object"
- },
- "FactionSelectionName": {
- "description": "The following selections will fallback to API v1 and may change at any time: 'armor', 'boosters', 'caches', 'cesium', 'crimeexp', 'drugs', 'medical', 'positions', 'reports', 'temporary', 'weapons'.\n * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.",
- "type": "string",
- "enum": [
- "applications",
- "attacks",
- "attacksfull",
- "balance",
- "basic",
- "chain",
- "chainreport",
- "chains",
- "contributors",
- "crime",
- "crimes",
- "hof",
- "lookup",
- "members",
- "news",
- "rackets",
- "rankedwars",
- "rankedwarreport",
- "revives",
- "revivesfull",
- "stats",
- "territory",
- "territoryownership",
- "territorywarreport",
- "territorywars",
- "timestamp",
- "upgrades",
- "wars",
- "armor",
- "boosters",
- "caches",
- "cesium",
- "crimeexp",
- "drugs",
- "medical",
- "positions",
- "reports",
- "temporary",
- "weapons",
- "armorynews",
- "attacknews",
- "crimenews",
- "currency",
- "donations",
- "fundsnews",
- "mainnews",
- "membershipnews",
- "territorynews"
- ]
- },
- "FactionLookupResponse": {
- "required": [
- "selections"
- ],
- "properties": {
- "selections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionSelectionName"
- }
- }
- },
- "type": "object"
- },
- "FactionRankedWarDetails": {
- "required": [
- "id",
- "start",
- "end",
- "target",
- "winner",
- "factions"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/RankedWarId"
- },
- "start": {
- "description": "Timestamp the war started at.",
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "description": "Timestamp the war ended at.",
- "type": "integer",
- "format": "int32"
- },
- "target": {
- "type": "integer",
- "format": "int32"
- },
- "winner": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionId"
- },
- {
- "type": "null"
- }
- ]
- },
- "factions": {
- "type": "array",
- "items": {
- "required": [
- "id",
- "name",
- "score",
- "chain"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
- "type": "integer",
- "format": "int32"
- },
- "chain": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- }
- },
- "type": "object"
- },
- "FactionRankedWarResponse": {
- "required": [
- "rankedwars",
- "_metadata"
- ],
- "properties": {
- "rankedwars": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionRankedWarDetails"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "FactionRankedWarReportResponse": {
- "required": [
- "rankedwarreport"
- ],
- "properties": {
- "rankedwarreport": {
+ "dvd_sales": {
+ "description": "DVD sales statistics.",
"required": [
- "id",
- "start",
- "end",
- "winner",
- "forfeit",
- "factions"
+ "action",
+ "comedy",
+ "drama",
+ "fantasy",
+ "horror",
+ "romance",
+ "thriller",
+ "sci_fi",
+ "total",
+ "earnings"
],
"properties": {
- "id": {
- "$ref": "#/components/schemas/RankedWarId"
- },
- "start": {
- "description": "Timestamp the war started at.",
+ "action": {
"type": "integer",
"format": "int32"
},
- "end": {
- "description": "Timestamp the war ended at.",
+ "comedy": {
"type": "integer",
"format": "int32"
},
- "winner": {
- "$ref": "#/components/schemas/FactionId"
+ "drama": {
+ "type": "integer",
+ "format": "int32"
},
- "forfeit": {
- "type": "boolean"
+ "fantasy": {
+ "type": "integer",
+ "format": "int32"
},
- "factions": {
+ "horror": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "romance": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "thriller": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "sci-fi": {
+ "description": "This is replaced with 'sci_fi' field and will be removed on 1st June 2025.",
+ "type": "integer",
+ "format": "int32",
+ "deprecated": true
+ },
+ "sci_fi": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "total": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "earnings": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "dvds_copied": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeDetailsGraffiti": {
+ "required": [
+ "cans_used",
+ "most_graffiti_in_one_area",
+ "most_graffiti_simultaneously",
+ "graffiti_removed",
+ "cost_to_city"
+ ],
+ "properties": {
+ "cans_used": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "most_graffiti_in_one_area": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "most_graffiti_simultaneously": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "graffiti_removed": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "cost_to_city": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeDetailsShoplifting": {
+ "required": [
+ "average_notoriety"
+ ],
+ "properties": {
+ "average_notoriety": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeDetailsCardSkimming": {
+ "required": [
+ "card_details",
+ "skimmers"
+ ],
+ "properties": {
+ "card_details": {
+ "required": [
+ "recoverable",
+ "recovered",
+ "sold",
+ "lost",
+ "areas"
+ ],
+ "properties": {
+ "recoverable": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "recovered": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "sold": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "lost": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "areas": {
"type": "array",
"items": {
"required": [
"id",
- "name",
- "score",
- "attacks",
- "rank",
- "rewards",
- "members"
+ "amount"
],
"properties": {
"id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "score": {
"type": "integer",
"format": "int32"
},
- "attacks": {
+ "amount": {
"type": "integer",
"format": "int32"
- },
- "rank": {
- "required": [
- "before",
- "after"
- ],
- "properties": {
- "before": {
- "type": "string"
- },
- "after": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "rewards": {
- "required": [
- "respect",
- "points",
- "items"
- ],
- "properties": {
- "respect": {
- "type": "integer",
- "format": "int32"
- },
- "points": {
- "type": "integer",
- "format": "int32"
- },
- "items": {
- "type": "array",
- "items": {
- "required": [
- "id",
- "name",
- "quantity"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "name": {
- "type": "string"
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- }
- },
- "type": "object"
- },
- "members": {
- "type": "array",
- "items": {
- "required": [
- "id",
- "name",
- "level",
- "attacks",
- "score"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "attacks": {
- "type": "integer",
- "format": "int32"
- },
- "score": {
- "type": "number",
- "format": "float"
- }
- },
- "type": "object"
- }
}
},
"type": "object"
@@ -13887,423 +11705,529 @@
}
},
"type": "object"
- }
- },
- "type": "object"
- },
- "ForumCategoriesResponse": {
- "required": [
- "categories"
- ],
- "properties": {
- "categories": {
- "type": "array",
- "items": {
- "required": [
- "id",
- "title",
- "acronym",
- "threads"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ForumId"
- },
- "title": {
- "type": "string"
- },
- "acronym": {
- "type": "string"
- },
- "threads": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- }
- },
- "type": "object"
- },
- "ForumThreadAuthor": {
- "required": [
- "id",
- "username",
- "karma"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
},
- "username": {
- "type": "string"
- },
- "karma": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "ForumPollVote": {
- "required": [
- "answer",
- "votes"
- ],
- "properties": {
- "answer": {
- "type": "string"
- },
- "votes": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "ForumPoll": {
- "required": [
- "question",
- "answers_count",
- "answers"
- ],
- "properties": {
- "question": {
- "type": "string"
- },
- "answers_count": {
- "type": "integer",
- "format": "int32"
- },
- "answers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ForumPollVote"
- }
- }
- },
- "type": "object"
- },
- "ForumThreadBase": {
- "required": [
- "id",
- "title",
- "forum_id",
- "posts",
- "rating",
- "views",
- "author",
- "last_poster",
- "first_post_time",
- "last_post_time",
- "has_poll",
- "is_locked",
- "is_sticky"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ForumThreadId"
- },
- "title": {
- "type": "string"
- },
- "forum_id": {
- "$ref": "#/components/schemas/ForumId"
- },
- "posts": {
- "type": "integer",
- "format": "int32"
- },
- "rating": {
- "type": "integer",
- "format": "int32"
- },
- "views": {
- "description": "Total number of times players have opened this thread.",
- "type": "integer",
- "format": "int32"
- },
- "author": {
- "$ref": "#/components/schemas/ForumThreadAuthor"
- },
- "last_poster": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ForumThreadAuthor"
- },
- {
- "type": "null"
- }
- ]
- },
- "first_post_time": {
- "type": "integer",
- "format": "int32"
- },
- "last_post_time": {
- "oneOf": [
- {
+ "skimmers": {
+ "required": [
+ "active",
+ "most_lucrative",
+ "oldest_recovered",
+ "lost"
+ ],
+ "properties": {
+ "active": {
"type": "integer",
"format": "int32"
},
- {
- "type": "null"
+ "most_lucrative": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "oldest_recovered": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "lost": {
+ "type": "integer",
+ "format": "int32"
}
- ]
- },
- "has_poll": {
- "type": "boolean"
- },
- "is_locked": {
- "type": "boolean"
- },
- "is_sticky": {
- "type": "boolean"
+ },
+ "type": "object"
}
},
"type": "object"
},
- "ForumThreadExtended": {
- "allOf": [
- {
+ "UserCrimeDetailsHustling": {
+ "required": [
+ "total_audience_gathered",
+ "biggest_money_won",
+ "shill_money_collected",
+ "pickpocket_money_collected"
+ ],
+ "properties": {
+ "total_audience_gathered": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "biggest_money_won": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "shill_money_collected": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "pickpocket_money_collected": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeDetailsCracking": {
+ "required": [
+ "brute_force_cycles",
+ "encryption_layers_broken",
+ "highest_mips",
+ "chars_guessed",
+ "chars_guessed_total"
+ ],
+ "properties": {
+ "brute_force_cycles": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "encryption_layers_broken": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "highest_mips": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chars_guessed": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chars_guessed_total": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeDetailsScamming": {
+ "required": [
+ "most_responses",
+ "zones",
+ "concerns",
+ "payouts",
+ "emails"
+ ],
+ "properties": {
+ "most_responses": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "zones": {
"required": [
- "content",
- "content_raw",
- "poll"
+ "red",
+ "neutral",
+ "concern",
+ "sensitivity",
+ "temptation",
+ "hesitation",
+ "low_reward",
+ "medium_reward",
+ "high_reward"
],
"properties": {
- "content": {
- "type": "string"
+ "red": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
},
- "content_raw": {
- "type": "string"
+ "neutral": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
},
- "poll": {
- "description": "'poll' is null when 'has_poll' is false.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/ForumPoll"
- },
- {
- "type": "null"
- }
- ]
+ "concern": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "sensitivity": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "temptation": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "hesitation": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "low_reward": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "medium_reward": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "high_reward": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
}
},
"type": "object"
},
- {
- "$ref": "#/components/schemas/ForumThreadBase"
- }
- ]
- },
- "ForumPost": {
- "required": [
- "id",
- "thread_id",
- "author",
- "is_legacy",
- "is_topic",
- "is_edited",
- "is_pinned",
- "created_time",
- "edited_by",
- "has_quote",
- "quoted_post_id",
- "content",
- "likes",
- "dislikes"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ForumPostId"
- },
- "thread_id": {
- "$ref": "#/components/schemas/ForumThreadId"
- },
- "author": {
- "$ref": "#/components/schemas/ForumThreadAuthor"
- },
- "is_legacy": {
- "description": "Indicates whether post was made using the old formatting engine which doesn't use HTML.",
- "type": "boolean"
- },
- "is_topic": {
- "type": "boolean"
- },
- "is_edited": {
- "type": "boolean"
- },
- "is_pinned": {
- "type": "boolean"
- },
- "created_time": {
- "type": "integer",
- "format": "int32"
- },
- "edited_by": {
- "description": "'edited_by' is null when 'is_edited' is false.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserId"
- },
- {
- "type": "null"
- }
- ]
- },
- "has_quote": {
- "type": "boolean"
- },
- "quoted_post_id": {
- "description": "'quoted_post_id' is null when 'has_quote' is false.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "content": {
- "description": "depending on the input 'cat' parameter, this will either return raw value (with HTML) or plain text. Legacy posts are returned as is, they can't be stripped of tags.",
- "type": "string"
- },
- "likes": {
- "type": "integer",
- "format": "int32"
- },
- "dislikes": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "ForumThreadUserExtended": {
- "allOf": [
- {
+ "concerns": {
"required": [
- "new_posts"
+ "attempts",
+ "resolved"
],
"properties": {
- "new_posts": {
- "description": "Available only when requesting data for yourself (no id or your id) with at least 'Minimal' access type key.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
+ "attempts": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "resolved": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
}
},
"type": "object"
},
- {
- "$ref": "#/components/schemas/ForumThreadBase"
+ "payouts": {
+ "required": [
+ "low",
+ "medium",
+ "high"
+ ],
+ "properties": {
+ "low": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "medium": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "high": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ },
+ "type": "object"
+ },
+ "emails": {
+ "required": [
+ "scraper",
+ "phisher"
+ ],
+ "properties": {
+ "scraper": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ },
+ "phisher": {
+ "type": "integer",
+ "format": "int32",
+ "default": 0
+ }
+ },
+ "type": "object"
}
- ]
+ },
+ "type": "object"
},
- "ForumSubscribedThreadPostsCount": {
+ "UserSubcrime": {
"required": [
- "new",
- "total"
+ "id",
+ "total",
+ "success",
+ "fail"
],
"properties": {
- "new": {
+ "id": {
"type": "integer",
"format": "int32"
},
"total": {
"type": "integer",
"format": "int32"
- }
- },
- "type": "object"
- },
- "ForumSubscribedThread": {
- "required": [
- "id",
- "forum_id",
- "author",
- "title",
- "posts"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ForumThreadId"
},
- "forum_id": {
- "$ref": "#/components/schemas/ForumId"
- },
- "author": {
- "$ref": "#/components/schemas/ForumThreadAuthor"
- },
- "title": {
- "type": "string"
- },
- "posts": {
- "$ref": "#/components/schemas/ForumSubscribedThreadPostsCount"
- }
- },
- "type": "object"
- },
- "ForumFeed": {
- "required": [
- "thread_id",
- "post_id",
- "user",
- "title",
- "text",
- "timestamp",
- "is_seen",
- "type"
- ],
- "properties": {
- "thread_id": {
- "$ref": "#/components/schemas/ForumThreadId"
- },
- "post_id": {
- "$ref": "#/components/schemas/ForumPostId"
- },
- "user": {
- "$ref": "#/components/schemas/ForumThreadAuthor"
- },
- "title": {
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "timestamp": {
+ "success": {
"type": "integer",
"format": "int32"
},
- "is_seen": {
- "type": "boolean"
- },
- "type": {
- "$ref": "#/components/schemas/ForumFeedTypeEnum"
+ "fail": {
+ "type": "integer",
+ "format": "int32"
}
},
"type": "object"
},
- "ForumThreadsResponse": {
+ "UserCrimeRewardAmmo": {
"required": [
- "threads",
+ "standard",
+ "special"
+ ],
+ "properties": {
+ "standard": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "special": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeRewardItem": {
+ "required": [
+ "id",
+ "amount"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "amount": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeRewards": {
+ "required": [
+ "money",
+ "ammo",
+ "items"
+ ],
+ "properties": {
+ "money": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "ammo": {
+ "$ref": "#/components/schemas/UserCrimeRewardAmmo"
+ },
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserCrimeRewardItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeAttempts": {
+ "required": [
+ "total",
+ "success",
+ "fail",
+ "critical_fail",
+ "subcrimes"
+ ],
+ "properties": {
+ "total": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "success": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "fail": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "critical_fail": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "subcrimes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserSubcrime"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeUniquesRewardMoney": {
+ "required": [
+ "min",
+ "max"
+ ],
+ "properties": {
+ "min": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "max": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeUniquesRewardAmmo": {
+ "required": [
+ "amount",
+ "type"
+ ],
+ "properties": {
+ "amount": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "type": {
+ "$ref": "#/components/schemas/UserCrimeUniquesRewardAmmoEnum"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeUniquesReward": {
+ "required": [
+ "items",
+ "money",
+ "ammo"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserCrimeRewardItem"
+ }
+ },
+ "money": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserCrimeUniquesRewardMoney"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ammo": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserCrimeUniquesRewardAmmo"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimeUniques": {
+ "required": [
+ "id",
+ "rewards"
+ ],
+ "properties": {
+ "id": {
+ "description": "Unique result id.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "rewards": {
+ "$ref": "#/components/schemas/UserCrimeUniquesReward"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrimesResponse": {
+ "required": [
+ "crimes"
+ ],
+ "properties": {
+ "crimes": {
+ "$ref": "#/components/schemas/UserCrime"
+ }
+ },
+ "type": "object"
+ },
+ "UserCrime": {
+ "required": [
+ "nerve_spent",
+ "skill",
+ "progression_bonus",
+ "rewards",
+ "attempts",
+ "uniques",
+ "miscellaneous"
+ ],
+ "properties": {
+ "nerve_spent": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "skill": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "progression_bonus": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rewards": {
+ "$ref": "#/components/schemas/UserCrimeRewards"
+ },
+ "attempts": {
+ "$ref": "#/components/schemas/UserCrimeAttempts"
+ },
+ "uniques": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserCrimeUniques"
+ }
+ },
+ "miscellaneous": {
+ "description": " Miscellaneous stats for specific crime. Results differ based on the cat id.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsBootlegging"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsGraffiti"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsShoplifting"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsCardSkimming"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsHustling"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsCracking"
+ },
+ {
+ "$ref": "#/components/schemas/UserCrimeDetailsScamming"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UserRacesResponse": {
+ "required": [
+ "races",
"_metadata"
],
"properties": {
- "threads": {
+ "races": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/ForumThreadBase"
+ "$ref": "#/components/schemas/RacingRaceDetailsResponse"
}
},
"_metadata": {
@@ -14312,24 +12236,87 @@
},
"type": "object"
},
- "ForumThreadResponse": {
+ "UserRaceCarDetails": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/RaceCar"
+ },
+ {
+ "required": [
+ "id",
+ "name",
+ "worth",
+ "points_spent",
+ "races_entered",
+ "races_won",
+ "is_removed",
+ "parts"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RaceCarId"
+ },
+ "name": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "worth": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "points_spent": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "races_entered": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "races_won": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_removed": {
+ "type": "boolean"
+ },
+ "parts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RaceCarUpgradeId"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "UserEnlistedCarsResponse": {
"required": [
- "thread"
+ "enlistedcars"
],
"properties": {
- "thread": {
- "$ref": "#/components/schemas/ForumThreadExtended"
+ "enlistedcars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserRaceCarDetails"
+ }
}
},
"type": "object"
},
- "ForumPostsResponse": {
+ "UserForumPostsResponse": {
"required": [
- "posts",
+ "forumPosts",
"_metadata"
],
"properties": {
- "posts": {
+ "forumPosts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ForumPost"
@@ -14341,309 +12328,302 @@
},
"type": "object"
},
- "ForumSelectionName": {
- "type": "string",
- "enum": [
- "categories",
- "lookup",
- "posts",
- "thread",
- "threads",
- "timestamp"
- ]
- },
- "ForumLookupResponse": {
+ "UserForumThreadsResponse": {
"required": [
- "selections"
+ "forumThreads",
+ "_metadata"
],
"properties": {
- "selections": {
+ "forumThreads": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/ForumSelectionName"
+ "$ref": "#/components/schemas/ForumThreadUserExtended"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "UserForumSubscribedThreadsResponse": {
+ "required": [
+ "forumSbuscribedThreads"
+ ],
+ "properties": {
+ "forumSubscribedThreads": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumSubscribedThread"
}
}
},
"type": "object"
},
- "KeyLogResponse": {
+ "UserForumFeedResponse": {
"required": [
- "log"
+ "forumFeed"
],
"properties": {
- "log": {
+ "forumFeed": {
"type": "array",
"items": {
- "required": [
- "timestamp",
- "type",
- "selections",
- "id",
- "ip"
- ],
- "properties": {
- "timestamp": {
- "type": "integer",
- "format": "int32"
- },
- "type": {
- "type": "string"
- },
- "selections": {
- "type": "string"
- },
- "id": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int64"
- },
- {
- "type": "null"
- }
- ]
- },
- "comment": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "ip": {
- "type": "string"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/ForumFeed"
}
}
},
"type": "object"
},
- "KeyInfoResponse": {
+ "UserForumFriendsResponse": {
"required": [
- "info"
+ "forumFriends"
],
"properties": {
- "info": {
- "required": [
- "selections",
- "access"
- ],
- "properties": {
- "selections": {
- "required": [
- "company",
- "faction",
- "market",
- "property",
- "torn",
- "user",
- "racing",
- "forum",
- "key"
- ],
- "properties": {
- "company": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "faction": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionSelectionName"
- }
- },
- "market": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/MarketSelectionName"
- }
- },
- "property": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "torn": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornSelectionName"
- }
- },
- "user": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserSelectionName"
- }
- },
- "racing": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RacingSelectionName"
- }
- },
- "forum": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ForumSelectionName"
- }
- },
- "key": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/KeySelectionName"
- }
- }
- },
- "type": "object"
- },
- "access": {
- "required": [
- "level",
- "type",
- "faction",
- "company"
- ],
- "properties": {
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "type": {
- "$ref": "#/components/schemas/ApiKeyAccessTypeEnum"
- },
- "faction": {
- "type": "boolean"
- },
- "faction_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionId"
- },
- {
- "type": "null"
- }
- ]
- },
- "company": {
- "type": "boolean"
- },
- "company_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/CompanyId"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- }
- },
- "type": "object"
+ "forumFriends": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumFeed"
+ }
}
},
"type": "object"
},
- "KeySelectionName": {
- "type": "string",
- "enum": [
- "info",
- "log"
- ]
- },
- "ItemMarketListingItemBonus": {
+ "HofValue": {
"required": [
- "id",
- "title",
- "description",
- "value"
+ "value",
+ "rank"
],
"properties": {
- "id": {
- "type": "integer",
- "format": "int32"
- },
- "title": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
"value": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "rank": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
- "ItemMarketListingItemStats": {
+ "HofValueFloat": {
"required": [
- "damage",
- "accuracy",
- "armor",
- "quality"
+ "value",
+ "rank"
],
"properties": {
- "damage": {
- "oneOf": [
- {
- "type": "number",
- "format": "float"
- },
- {
- "type": "null"
- }
- ]
- },
- "accuracy": {
- "oneOf": [
- {
- "type": "number",
- "format": "float"
- },
- {
- "type": "null"
- }
- ]
- },
- "armor": {
- "oneOf": [
- {
- "type": "number",
- "format": "float"
- },
- {
- "type": "null"
- }
- ]
- },
- "quality": {
- "type": "number",
+ "value": {
+ "type": "integer",
"format": "float"
+ },
+ "rank": {
+ "type": "integer",
+ "format": "int32"
}
},
"type": "object"
},
- "ItemMarketItem": {
+ "HofValueString": {
+ "required": [
+ "value",
+ "rank"
+ ],
+ "properties": {
+ "value": {
+ "type": "string"
+ },
+ "rank": {
+ "oneOf": [
+ {
+ "type": "number",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UserHofStats": {
+ "required": [
+ "attacks",
+ "busts",
+ "defends",
+ "networth",
+ "offences",
+ "revives",
+ "level",
+ "rank",
+ "awards",
+ "racing_skill",
+ "racing_points",
+ "racing_wins",
+ "travel_time",
+ "working_stats",
+ "battle_stats"
+ ],
+ "properties": {
+ "attacks": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "busts": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "defends": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "networth": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "offences": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "revives": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "level": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "rank": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "awards": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "racing_skill": {
+ "$ref": "#/components/schemas/HofValueFloat"
+ },
+ "racing_points": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "racing_wins": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "travel_time": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "working_stats": {
+ "$ref": "#/components/schemas/HofValue"
+ },
+ "battle_stats": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/HofValue",
+ "description": "This field is null when requesting data for other players."
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UserHofResponse": {
+ "required": [
+ "hof"
+ ],
+ "properties": {
+ "hof": {
+ "$ref": "#/components/schemas/UserHofStats"
+ }
+ },
+ "type": "object"
+ },
+ "UserCalendar": {
+ "required": [
+ "start_time"
+ ],
+ "properties": {
+ "start_time": {
+ "description": "Event start time displayed in TCT.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "UserCalendarResponse": {
+ "required": [
+ "calendar"
+ ],
+ "properties": {
+ "calendar": {
+ "$ref": "#/components/schemas/UserCalendar"
+ }
+ },
+ "type": "object"
+ },
+ "UserBountiesResponse": {
+ "required": [
+ "bounties"
+ ],
+ "properties": {
+ "bounties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Bounty"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "UserJobRanks": {
+ "required": [
+ "army",
+ "grocer",
+ "casino",
+ "medical",
+ "law",
+ "education"
+ ],
+ "properties": {
+ "army": {
+ "$ref": "#/components/schemas/JobPositionArmyEnum"
+ },
+ "grocer": {
+ "$ref": "#/components/schemas/JobPositionGrocerEnum"
+ },
+ "casino": {
+ "$ref": "#/components/schemas/JobPositionCasinoEnum"
+ },
+ "medical": {
+ "$ref": "#/components/schemas/JobPositionMedicalEnum"
+ },
+ "law": {
+ "$ref": "#/components/schemas/JobPositionLawEnum"
+ },
+ "education": {
+ "$ref": "#/components/schemas/JobPositionEducationEnum"
+ }
+ },
+ "type": "object"
+ },
+ "UserJobRanksResponse": {
+ "required": [
+ "jobranks"
+ ],
+ "properties": {
+ "jobranks": {
+ "$ref": "#/components/schemas/UserJobRanks"
+ }
+ },
+ "type": "object"
+ },
+ "UserItemMarkeListingItemDetails": {
"required": [
"id",
"name",
"type",
- "average_price"
+ "rarity",
+ "uid",
+ "stats",
+ "bonuses"
],
"properties": {
"id": {
- "$ref": "#/components/schemas/ItemId"
+ "type": "integer",
+ "format": "int64"
},
"name": {
"type": "string"
@@ -14651,50 +12631,6 @@
"type": {
"type": "string"
},
- "average_price": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- },
- "ItemMarketListingStackable": {
- "required": [
- "price",
- "amount"
- ],
- "properties": {
- "price": {
- "type": "integer",
- "format": "int64"
- },
- "amount": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "ItemMarketListingItemDetails": {
- "required": [
- "uid",
- "stats",
- "bonuses",
- "rarity"
- ],
- "properties": {
- "uid": {
- "$ref": "#/components/schemas/ItemUid"
- },
- "stats": {
- "$ref": "#/components/schemas/ItemMarketListingItemStats"
- },
- "bonuses": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ItemMarketListingItemBonus"
- }
- },
"rarity": {
"oneOf": [
{
@@ -14709,313 +12645,87 @@
"type": "null"
}
]
+ },
+ "uid": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ItemUid"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "stats": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ItemMarketListingItemStats"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "bonuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ItemMarketListingItemBonus"
+ }
}
},
"type": "object"
},
- "ItemMarketListingNonstackable": {
+ "UserItemMarketListing": {
"required": [
+ "id",
"price",
+ "average_price",
"amount",
- "item_details"
+ "is_anonymous",
+ "available",
+ "item"
],
"properties": {
+ "id": {
+ "type": "integer",
+ "format": "int64"
+ },
"price": {
"type": "integer",
"format": "int64"
},
+ "average_price": {
+ "type": "integer",
+ "format": "int64"
+ },
"amount": {
"type": "integer",
"format": "int32"
},
- "item_details": {
- "$ref": "#/components/schemas/ItemMarketListingItemDetails"
- }
- },
- "type": "object"
- },
- "ItemMarket": {
- "required": [
- "item",
- "listings"
- ],
- "properties": {
- "item": {
- "$ref": "#/components/schemas/ItemMarketItem"
+ "is_anonymous": {
+ "type": "boolean"
},
- "listings": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ItemMarketListingNonstackable"
- },
- {
- "$ref": "#/components/schemas/ItemMarketListingStackable"
- }
- ]
- }
+ "available": {
+ "description": "Amount remaining in the inventory.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "item": {
+ "$ref": "#/components/schemas/UserItemMarkeListingItemDetails"
}
},
"type": "object"
},
- "MarketItemMarketResponse": {
+ "UserItemMarketResponse": {
"required": [
"itemmarket",
"_metadata"
],
"properties": {
"itemmarket": {
- "$ref": "#/components/schemas/ItemMarket"
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "MarketSelectionName": {
- "description": "The following selections will fallback to API v1 and may change at any time: 'pointsmarket'.",
- "type": "string",
- "enum": [
- "itemmarket",
- "lookup",
- "timestamp",
- "pointsmarket",
- "bazaar"
- ]
- },
- "MarketLookupResponse": {
- "required": [
- "selections"
- ],
- "properties": {
- "selections": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/MarketSelectionName"
- }
- }
- },
- "type": "object"
- },
- "RacingCarsResponse": {
- "required": [
- "cars"
- ],
- "properties": {
- "cars": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RaceCar"
- }
- }
- },
- "type": "object"
- },
- "RaceCar": {
- "required": [
- "car_item_id",
- "car_item_name",
- "top_speed",
- "acceleration",
- "braking",
- "dirt",
- "handling",
- "safety",
- "tarmac",
- "class"
- ],
- "properties": {
- "car_item_id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "car_item_name": {
- "type": "string"
- },
- "top_speed": {
- "type": "integer",
- "format": "int32"
- },
- "acceleration": {
- "type": "integer",
- "format": "int32"
- },
- "braking": {
- "type": "integer",
- "format": "int32"
- },
- "dirt": {
- "type": "integer",
- "format": "int32"
- },
- "handling": {
- "type": "integer",
- "format": "int32"
- },
- "safety": {
- "type": "integer",
- "format": "int32"
- },
- "tarmac": {
- "type": "integer",
- "format": "int32"
- },
- "class": {
- "$ref": "#/components/schemas/RaceClassEnum"
- }
- },
- "type": "object"
- },
- "RacingTracksResponse": {
- "required": [
- "tracks"
- ],
- "properties": {
- "tracks": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RaceTrack"
- }
- }
- },
- "type": "object"
- },
- "RaceTrack": {
- "required": [
- "id",
- "title",
- "description"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/RaceTrackId"
- },
- "title": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RacingCarUpgradesResponse": {
- "required": [
- "carupgrades"
- ],
- "properties": {
- "carupgrades": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RaceCarUpgrade"
- }
- }
- },
- "type": "object"
- },
- "RaceCarUpgrade": {
- "required": [
- "id",
- "class_required",
- "name",
- "description",
- "category",
- "subcategory",
- "effects",
- "cost"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/RaceCarUpgradeId"
- },
- "class_required": {
- "$ref": "#/components/schemas/RaceClassEnum"
- },
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "category": {
- "$ref": "#/components/schemas/RaceCarUpgradeCategory"
- },
- "subcategory": {
- "$ref": "#/components/schemas/RaceCarUpgradeSubCategory"
- },
- "effects": {
- "required": [
- "top_speed",
- "acceleration",
- "braking",
- "handling",
- "safety",
- "dirt",
- "tarmac"
- ],
- "properties": {
- "top_speed": {
- "type": "integer",
- "format": "int32"
- },
- "acceleration": {
- "type": "integer",
- "format": "int32"
- },
- "braking": {
- "type": "integer",
- "format": "int32"
- },
- "handling": {
- "type": "integer",
- "format": "int32"
- },
- "safety": {
- "type": "integer",
- "format": "int32"
- },
- "dirt": {
- "type": "integer",
- "format": "int32"
- },
- "tarmac": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "cost": {
- "required": [
- "points",
- "cash"
- ],
- "properties": {
- "points": {
- "type": "integer",
- "format": "int32"
- },
- "cash": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "RacingRacesResponse": {
- "required": [
- "races",
- "_metadata"
- ],
- "properties": {
- "races": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Race"
+ "$ref": "#/components/schemas/UserItemMarketListing"
}
},
"_metadata": {
@@ -15024,818 +12734,108 @@
},
"type": "object"
},
- "Race": {
+ "UserFactionBalance": {
"required": [
- "id",
- "title",
- "track_id",
- "creator_id",
- "status",
- "laps",
- "participants",
- "schedule",
- "requirements"
+ "money",
+ "points"
],
"properties": {
- "id": {
- "$ref": "#/components/schemas/RaceId"
- },
- "title": {
- "type": "string"
- },
- "track_id": {
- "$ref": "#/components/schemas/RaceTrackId"
- },
- "creator_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "status": {
- "$ref": "#/components/schemas/RaceStatusEnum"
- },
- "laps": {
+ "money": {
"type": "integer",
- "format": "int32"
+ "format": "int64"
},
- "participants": {
- "required": [
- "minimum",
- "maximum",
- "current"
- ],
- "properties": {
- "minimum": {
- "type": "integer",
- "format": "int32"
- },
- "maximum": {
- "type": "integer",
- "format": "int32"
- },
- "current": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "schedule": {
- "required": [
- "join_from",
- "join_until",
- "start",
- "end"
- ],
- "properties": {
- "join_from": {
- "type": "integer",
- "format": "int32"
- },
- "join_until": {
- "type": "integer",
- "format": "int32"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "requirements": {
- "required": [
- "car_class",
- "driver_class",
- "car_item_id",
- "requires_stock_car",
- "requires_password",
- "join_fee"
- ],
- "properties": {
- "car_class": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/RaceClassEnum"
- },
- {
- "type": "null"
- }
- ]
- },
- "driver_class": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/RaceClassEnum"
- },
- {
- "type": "null"
- }
- ]
- },
- "car_item_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ItemId"
- },
- {
- "type": "null"
- }
- ]
- },
- "requires_stock_car": {
- "type": "boolean"
- },
- "requires_password": {
- "type": "boolean"
- },
- "join_fee": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "RacingTrackRecordsResponse": {
- "required": [
- "records"
- ],
- "properties": {
- "records": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RaceRecord"
- }
- }
- },
- "type": "object"
- },
- "RaceRecord": {
- "required": [
- "driver_id",
- "driver_name",
- "car_item_id",
- "lap_time",
- "car_item_name"
- ],
- "properties": {
- "driver_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "driver_name": {
- "type": "string"
- },
- "car_item_id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "lap_time": {
- "type": "number",
- "format": "float"
- },
- "car_item_name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "RacerDetails": {
- "required": [
- "driver_id",
- "position",
- "car_id",
- "car_item_id",
- "car_item_name",
- "car_class",
- "has_crashed",
- "best_lap_time",
- "race_time",
- "time_ended"
- ],
- "properties": {
- "driver_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "position": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "car_id": {
- "$ref": "#/components/schemas/RaceCarId"
- },
- "car_item_id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "car_item_name": {
- "type": "string"
- },
- "car_class": {
- "$ref": "#/components/schemas/RaceClassEnum"
- },
- "has_crashed": {
- "oneOf": [
- {
- "type": "boolean"
- },
- {
- "type": "null"
- }
- ]
- },
- "best_lap_time": {
- "oneOf": [
- {
- "type": "number",
- "format": "float"
- },
- {
- "type": "null"
- }
- ]
- },
- "race_time": {
- "oneOf": [
- {
- "type": "number",
- "format": "float"
- },
- {
- "type": "null"
- }
- ]
- },
- "time_ended": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "RacingRaceDetailsResponse": {
- "properties": {
- "race": {
- "allOf": [
- {
- "required": [
- "results"
- ],
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RacerDetails"
- }
- }
- },
- "type": "object"
- },
- {
- "$ref": "#/components/schemas/Race"
- }
- ]
- }
- },
- "type": "object"
- },
- "RacingSelectionName": {
- "type": "string",
- "enum": [
- "cars",
- "carupgrades",
- "lookup",
- "race",
- "races",
- "records",
- "timestamp",
- "tracks"
- ]
- },
- "RacingLookupResponse": {
- "required": [
- "selections"
- ],
- "properties": {
- "selections": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RacingSelectionName"
- }
- }
- },
- "type": "object"
- },
- "TornEducationRewards": {
- "required": [
- "working_stats",
- "effect",
- "honor"
- ],
- "properties": {
- "working_stats": {
- "required": [
- "manual_labor",
- "intelligence",
- "endurance"
- ],
- "properties": {
- "manual_labor": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "intelligence": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "endurance": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "effect": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "honor": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "TornEducationPrerequisites": {
- "required": [
- "cost",
- "courses"
- ],
- "properties": {
- "cost": {
+ "points": {
"type": "integer",
- "format": "int32"
- },
- "courses": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "int32"
- }
+ "format": "int64"
}
},
"type": "object"
},
- "TornEducationCourses": {
+ "UserFactionBalanceResponse": {
"required": [
- "id",
- "code",
- "name",
- "description",
- "duration",
- "rewards",
- "prerequisites"
+ "factionBalance"
],
"properties": {
- "id": {
- "$ref": "#/components/schemas/EducationId"
- },
- "code": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "duration": {
- "type": "integer",
- "format": "int32"
- },
- "rewards": {
- "$ref": "#/components/schemas/TornEducationRewards"
- },
- "prerequisites": {
- "$ref": "#/components/schemas/TornEducationPrerequisites"
+ "factionBalance": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserFactionBalance"
+ },
+ {
+ "type": "null"
+ }
+ ]
}
},
"type": "object"
},
- "TornEducation": {
+ "UserOrganizedCrimeResponse": {
+ "required": [
+ "organizedCrime"
+ ],
+ "properties": {
+ "organizedCrime": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrime"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "UserList": {
"required": [
"id",
"name",
- "courses"
- ],
- "properties": {
- "id": {
- "type": "integer",
- "format": "int32"
- },
- "name": {
- "type": "string"
- },
- "courses": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornEducationCourses"
- }
- }
- },
- "type": "object"
- },
- "TornEducationResponse": {
- "required": [
- "education"
- ],
- "properties": {
- "education": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornEducation"
- }
- }
- },
- "type": "object"
- },
- "TornTerritoryCoordinates": {
- "required": [
- "x",
- "y"
- ],
- "properties": {
- "x": {
- "type": "number",
- "format": "float"
- },
- "y": {
- "type": "number",
- "format": "float"
- }
- },
- "type": "object"
- },
- "TornTerritory": {
- "required": [
- "id",
- "sector",
- "size",
- "density",
- "slots",
- "respect",
- "coordinates",
- "neighbors"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- },
- "sector": {
- "type": "integer",
- "format": "int32"
- },
- "size": {
- "type": "integer",
- "format": "int32"
- },
- "density": {
- "type": "integer",
- "format": "int32"
- },
- "slots": {
- "type": "integer",
- "format": "int32"
- },
- "respect": {
- "type": "integer",
- "format": "int32"
- },
- "coordinates": {
- "$ref": "#/components/schemas/TornTerritoryCoordinates"
- },
- "neighbors": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/FactionTerritoryEnum"
- }
- }
- },
- "type": "object"
- },
- "TornTerritoriesResponse": {
- "required": [
- "territory",
- "_metadata"
- ],
- "properties": {
- "territory": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornTerritory"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "TornTerritoriesNoLinksReponse": {
- "required": [
- "territory"
- ],
- "properties": {
- "territory": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornTerritory"
- }
- }
- },
- "type": "object"
- },
- "TornSubcrimesResponse": {
- "required": [
- "subcrimes"
- ],
- "properties": {
- "subcrimes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornSubcrime"
- }
- }
- },
- "type": "object"
- },
- "TornSubcrime": {
- "required": [
- "id",
- "name",
- "nerve_cost"
- ],
- "properties": {
- "id": {
- "type": "integer",
- "format": "int32"
- },
- "name": {
- "type": "string"
- },
- "nerve_cost": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "TornCrimesResponse": {
- "required": [
- "crimes"
- ],
- "properties": {
- "crimes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornCrime"
- }
- }
- },
- "type": "object"
- },
- "TornCrime": {
- "required": [
- "id",
- "name",
- "category_id",
- "enhancer_id",
- "enhancer_name",
- "unique_outcomes_count",
- "unique_outcomes_ids"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/TornCrimeId"
- },
- "name": {
- "type": "string"
- },
- "category_id": {
- "type": "integer",
- "format": "int32"
- },
- "category_name": {
- "type": "string"
- },
- "enhancer_id": {
- "type": "integer",
- "format": "int32"
- },
- "enhancer_name": {
- "type": "string"
- },
- "unique_outcomes_count": {
- "type": "integer",
- "format": "int32"
- },
- "unique_outcomes_ids": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "notes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "type": "object"
- },
- "TornCalendarActivity": {
- "required": [
- "title",
- "description",
- "start",
- "end"
- ],
- "properties": {
- "title": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "start": {
- "type": "integer",
- "format": "int32"
- },
- "end": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "TornCalendarResponse": {
- "required": [
- "calendar"
- ],
- "properties": {
- "calendar": {
- "required": [
- "competitions",
- "events"
- ],
- "properties": {
- "competitions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornCalendarActivity"
- }
- },
- "events": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornCalendarActivity"
- }
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- "TornHof": {
- "required": [
- "id",
- "username",
- "faction_id",
"level",
+ "faction_id",
"last_action",
- "rank_name",
- "rank_number",
- "position",
- "signed_up",
- "age_in_days",
- "value",
- "rank"
+ "status"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UserId"
},
- "username": {
+ "name": {
"type": "string"
},
- "faction_id": {
- "$ref": "#/components/schemas/FactionId"
- },
"level": {
"type": "integer",
"format": "int32"
},
+ "faction_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
"last_action": {
- "type": "integer",
- "format": "int32"
+ "$ref": "#/components/schemas/UserLastAction"
},
- "rank_name": {
- "type": "string"
- },
- "rank_number": {
- "type": "integer",
- "format": "int32"
- },
- "position": {
- "type": "integer",
- "format": "int32"
- },
- "signed_up": {
- "type": "integer",
- "format": "int32"
- },
- "age_in_days": {
- "type": "integer",
- "format": "int32"
- },
- "value": {
- "description": "Value representing the chosen category. Traveltime is shown in seconds. If the chosen category is 'rank', the value is of type string. If the chosen category is 'racingskill', the value is of type float. Otherwise it is an integer."
- },
- "rank": {
- "type": "string"
+ "status": {
+ "$ref": "#/components/schemas/UserStatus"
}
},
"type": "object"
},
- "TornHofResponse": {
+ "UserListResponse": {
"required": [
- "hof",
+ "list",
"_metadata"
],
"properties": {
- "hof": {
+ "list": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/TornHof"
+ "$ref": "#/components/schemas/UserList"
}
},
"_metadata": {
@@ -15844,963 +12844,73 @@
},
"type": "object"
},
- "FactionHofValues": {
- "required": [
- "chain",
- "chain_duration",
- "respect"
- ],
- "properties": {
- "chain": {
- "description": "Maximum chain achieved by the faction. Null if chosen category is 'rank' or 'respect'.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "chain_duration": {
- "description": "The duration of the chain. Null if chosen category is 'rank' or 'respect'.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- },
- "respect": {
- "description": "Null if chosen category is 'chain'.",
- "oneOf": [
- {
- "type": "integer",
- "format": "int32"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "TornFactionHof": {
- "required": [
- "id",
- "name",
- "members",
- "position",
- "rank",
- "values"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionId"
- },
- "name": {
- "type": "string"
- },
- "members": {
- "type": "integer",
- "format": "int32"
- },
- "position": {
- "type": "integer",
- "format": "int32"
- },
- "rank": {
- "description": "The full rank title & division of the faction.",
- "type": "string"
- },
- "values": {
- "$ref": "#/components/schemas/FactionHofValues"
- }
- },
- "type": "object"
- },
- "TornFactionHofResponse": {
- "required": [
- "factionhof",
- "_metadata"
- ],
- "properties": {
- "factionhof": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornFactionHof"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "TornLog": {
- "required": [
- "id",
- "title"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/LogId"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TornLogCategory": {
- "required": [
- "id",
- "title"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/LogCategoryId"
- },
- "title": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "TornLogTypesResponse": {
- "required": [
- "logtypes"
- ],
- "properties": {
- "logtypes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornLog"
- }
- }
- },
- "type": "object"
- },
- "TornLogCategoriesResponse": {
- "required": [
- "logcategories"
- ],
- "properties": {
- "logcategories": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornLogCategory"
- }
- }
- },
- "type": "object"
- },
- "Bounty": {
- "required": [
- "target_id",
- "target_name",
- "target_level",
- "lister_id",
- "lister_name",
- "reward",
- "reason",
- "quantity",
- "is_anonymous",
- "valid_until"
- ],
- "properties": {
- "target_id": {
- "$ref": "#/components/schemas/UserId"
- },
- "target_name": {
- "type": "string"
- },
- "target_level": {
- "type": "integer",
- "format": "int32"
- },
- "lister_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserId"
- },
- {
- "type": "null"
- }
- ]
- },
- "lister_name": {
- "description": "If the bounty is anonymous this field is null.",
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "reward": {
- "type": "integer",
- "format": "int64"
- },
- "reason": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- },
- "is_anonymous": {
- "type": "boolean"
- },
- "valid_until": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "AttackLogSummary": {
- "required": [
- "id",
- "name",
- "hits",
- "misses",
- "damage"
- ],
- "properties": {
- "id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserId"
- },
- {
- "type": "null"
- }
- ]
- },
- "name": {
- "oneOf": [
- {
- "description": "Name of the participant, could be null in stealthed attacks.",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "hits": {
- "type": "integer",
- "format": "int32"
- },
- "misses": {
- "type": "integer",
- "format": "int32"
- },
- "damage": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "AttackLog": {
- "required": [
- "text",
- "timestamp",
- "action",
- "icon",
- "attacker",
- "defender"
- ],
- "properties": {
- "text": {
- "type": "string"
- },
- "timestamp": {
- "type": "integer",
- "format": "int32"
- },
- "action": {
- "$ref": "#/components/schemas/AttackActionEnum"
- },
- "icon": {
- "type": "string"
- },
- "attacker": {
- "oneOf": [
- {
- "description": "This value could be null in stealthed attacks.",
- "required": [
- "id",
- "name",
- "item"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- },
- "item": {
- "oneOf": [
- {
- "description": "This object could be null if there was no item being used in this turn or during this effect.",
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "defender": {
- "oneOf": [
- {
- "description": "This value could be null in stealthed attacks.",
- "required": [
- "id",
- "name"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "AttackLogResponse": {
- "required": [
- "attacklog",
- "_metadata"
- ],
- "properties": {
- "attacklog": {
- "required": [
- "log",
- "summary"
- ],
- "properties": {
- "log": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AttackLog"
- }
- },
- "summary": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AttackLogSummary"
- }
- }
- },
- "type": "object"
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "TornBountiesResponse": {
- "required": [
- "bounties",
- "_metadata"
- ],
- "properties": {
- "bounties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Bounty"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "TornItemAmmo": {
- "required": [
- "id",
- "name",
- "price",
- "types"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/AmmoId"
- },
- "name": {
- "type": "string"
- },
- "price": {
- "type": "integer",
- "format": "int64"
- },
- "types": {
- "description": "Types of ammo",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItemAmmoTypeEnum"
- }
- }
- },
- "type": "object"
- },
- "TornItemAmmoResponse": {
- "required": [
- "itemammo"
- ],
- "properties": {
- "itemammo": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItemAmmo"
- }
- }
- },
- "type": "object"
- },
- "TornItemMods": {
- "required": [
- "id",
- "name",
- "description",
- "dual_fit",
- "weapons"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemModId"
- },
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "dual_fit": {
- "description": "Whether the upgrade fits on dual weapons.",
- "type": "boolean"
- },
- "weapons": {
- "description": "The weapon types this upgrade can be attached to.",
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItemWeaponTypeEnum"
- }
- }
- },
- "type": "object"
- },
- "TornItemModsResponse": {
- "required": [
- "itemmods"
- ],
- "properties": {
- "itemmods": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItemMods"
- }
- }
- },
- "type": "object"
- },
- "TornItemBaseStats": {
- "required": [
- "damage",
- "accuracy",
- "armor"
- ],
- "properties": {
- "damage": {
- "type": "integer",
- "format": "int32"
- },
- "accuracy": {
- "type": "integer",
- "format": "int32"
- },
- "armor": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "TornItemWeaponDetails": {
- "required": [
- "stealth_level",
- "base_stats",
- "category",
- "ammo",
- "mods"
- ],
- "properties": {
- "stealth_level": {
- "type": "number",
- "format": "float"
- },
- "base_stats": {
- "$ref": "#/components/schemas/TornItemBaseStats"
- },
- "category": {
- "$ref": "#/components/schemas/TornItemWeaponCategoryEnum"
- },
- "ammo": {
- "oneOf": [
- {
- "required": [
- "id",
- "name",
- "magazine_rounds",
- "rate_of_fire"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/AmmoId"
- },
- "name": {
- "type": "string"
- },
- "magazine_rounds": {
- "type": "integer",
- "format": "int32"
- },
- "rate_of_fire": {
- "required": [
- "minimum",
- "maximum"
- ],
- "properties": {
- "minimum": {
- "type": "integer",
- "format": "int32"
- },
- "maximum": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "mods": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ItemModId"
- }
- }
- },
- "type": "object"
- },
- "TornItemArmorCoverage": {
- "required": [
- "name",
- "value"
- ],
- "properties": {
- "name": {
- "$ref": "#/components/schemas/TornItemArmorCoveragePartEnum"
- },
- "value": {
- "type": "number",
- "format": "float"
- }
- },
- "type": "object"
- },
- "TornItemArmorDetails": {
- "required": [
- "coverage",
- "base_stats"
- ],
- "properties": {
- "coverage": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItemArmorCoverage"
- }
- },
- "base_stats": {
- "$ref": "#/components/schemas/TornItemBaseStats"
- }
- },
- "type": "object"
- },
- "TornItem": {
- "required": [
- "id",
- "name",
- "description",
- "effect",
- "requirement",
- "image",
- "type",
- "sub_type",
- "is_masked",
- "is_tradable",
- "is_found_in_city",
- "value",
- "circulation",
- "details"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/ItemId"
- },
- "name": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "effect": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "requirement": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "image": {
- "type": "string"
- },
- "type": {
- "$ref": "#/components/schemas/TornItemTypeEnum"
- },
- "sub_type": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/TornItemWeaponTypeEnum"
- },
- {
- "type": "null"
- }
- ]
- },
- "is_masked": {
- "type": "boolean"
- },
- "is_tradable": {
- "type": "boolean"
- },
- "is_found_in_city": {
- "type": "boolean"
- },
- "value": {
- "required": [
- "vendor",
- "buy_price",
- "sell_price",
- "market_price"
- ],
- "properties": {
- "vendor": {
- "oneOf": [
- {
- "required": [
- "country",
- "name"
- ],
- "properties": {
- "country": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "buy_price": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int64"
- },
- {
- "type": "null"
- }
- ]
- },
- "sell_price": {
- "oneOf": [
- {
- "type": "integer",
- "format": "int64"
- },
- {
- "type": "null"
- }
- ]
- },
- "market_price": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- },
- "circulation": {
- "type": "integer",
- "format": "int64"
- },
- "details": {
- "description": "If the item 'type' is 'Armor' then TornItemArmorDetails is returned.
If the item 'type' is 'Weapon' then TornItemWeaponDetails is returned.
Otherwise, null is returned.",
- "oneOf": [
- {
- "$ref": "#/components/schemas/TornItemWeaponDetails"
- },
- {
- "$ref": "#/components/schemas/TornItemArmorDetails"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "TornItemsResponse": {
- "required": [
- "items"
- ],
- "properties": {
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornItem"
- }
- }
- },
- "type": "object"
- },
- "TornFactionTreeBranch": {
- "required": [
- "id",
- "name",
- "upgrades"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/FactionBranchId"
- },
- "name": {
- "type": "string"
- },
- "upgrades": {
- "type": "array",
- "items": {
- "required": [
- "name",
- "level",
- "ability",
- "challenge",
- "cost"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "ability": {
- "type": "string"
- },
- "cost": {
- "type": "integer",
- "format": "int32"
- },
- "challenge": {
- "oneOf": [
- {
- "required": [
- "description",
- "amount_required",
- "stat"
- ],
- "properties": {
- "description": {
- "type": "string"
- },
- "amount_required": {
- "type": "integer",
- "format": "int64"
- },
- "stat": {
- "$ref": "#/components/schemas/FactionStatEnum"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- }
- }
- },
- "type": "object"
- },
- "TornFactionTree": {
- "required": [
- "name",
- "branches"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "branches": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornFactionTreeBranch"
- }
- }
- },
- "type": "object"
- },
- "TornFactionTreeResponse": {
- "required": [
- "factionTree"
- ],
- "properties": {
- "factionTree": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TornFactionTree"
- }
- }
- },
- "type": "object"
- },
- "TornSelectionName": {
- "description": "The following selections will fallback to API v1 and may change at any time: 'bank','cards','cityshops','companies','competition','dirtybombs','gyms','honors','itemdetails','itemstats','medals','organisedcrimes','pawnshop','pokertables','properties','raidreport','raids','rockpaperscissors','searchforcash','shoplifting','stats','stocks'.\n * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.",
+ "UserSelectionName": {
+ "description": "The following selections will fallback to API v1 and may change at any time: 'ammo','bars','basic','battlestats','bazaar','cooldowns','criminalrecord','discord','display','education','equipment','events','gym','honors','icons','inventory','jobpoints','log','medals','merits','messages','missions','money','networth','newevents','newmessages','notifications','perks','profile','properties','refills','reports','skills','stocks','travel','weaponexp','workstats'.",
"type": "string",
"enum": [
- "attacklog",
+ "attacks",
+ "attacksfull",
"bounties",
"calendar",
"crimes",
- "education",
- "factionhof",
- "factiontree",
+ "enlistedcars",
+ "factionbalance",
+ "forumfeed",
+ "forumfriends",
+ "forumposts",
+ "forumsubscribedthreads",
+ "forumthreads",
"hof",
- "itemammo",
- "itemmods",
- "items",
- "logcategories",
- "logtypes",
+ "itemmarket",
+ "jobranks",
+ "list",
"lookup",
- "subcrimes",
- "territory",
+ "organizedcrime",
+ "personalstats",
+ "races",
+ "revives",
+ "revivesfull",
"timestamp",
- "bank",
- "cards",
- "cityshops",
- "companies",
- "competition",
- "dirtybombs",
- "gyms",
+ "ammo",
+ "bars",
+ "basic",
+ "battlestats",
+ "bazaar",
+ "cooldowns",
+ "criminalrecord",
+ "discord",
+ "display",
+ "education",
+ "equipment",
+ "events",
+ "gym",
"honors",
- "itemdetails",
- "itemstats",
+ "icons",
+ "inventory",
+ "jobpoints",
+ "log",
"medals",
- "organisedcrimes",
- "pawnshop",
- "pokertables",
+ "merits",
+ "messages",
+ "missions",
+ "money",
+ "networth",
+ "newevents",
+ "newmessages",
+ "notifications",
+ "perks",
+ "profile",
"properties",
- "raidreport",
- "raids",
- "rockpaperscissors",
- "searchforcash",
- "shoplifting",
- "stats",
+ "refills",
+ "reports",
+ "skills",
"stocks",
- "chainreport",
- "rackets",
- "rankedwarreport",
- "rankedwars",
- "territorynames",
- "territorywarreport",
- "territorywars"
+ "travel",
+ "weaponexp",
+ "workstats"
]
},
- "TornLookupResponse": {
+ "UserLookupResponse": {
"required": [
"selections"
],
@@ -16808,7 +12918,7 @@
"selections": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/TornSelectionName"
+ "$ref": "#/components/schemas/UserSelectionName"
}
}
},
@@ -19853,38 +15963,339 @@
"scammingskill"
]
},
- "UserCurrentEducation": {
+ "FactionTerritoryWarFinishedFaction": {
"required": [
"id",
- "until"
+ "name",
+ "score",
+ "is_aggressor"
],
"properties": {
"id": {
- "$ref": "#/components/schemas/EducationId"
+ "$ref": "#/components/schemas/FactionId"
},
- "until": {
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_aggressor": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarFinished": {
+ "required": [
+ "id",
+ "territory",
+ "start",
+ "end",
+ "target",
+ "result",
+ "factions"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/TerritoryWarId"
+ },
+ "territory": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "target": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "result": {
+ "$ref": "#/components/schemas/FactionTerritoryWarResultEnum"
+ },
+ "factions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarFinishedFaction"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarOngoingFaction": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "is_aggressor",
+ "chain",
+ "playerIds"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_aggressor": {
+ "type": "boolean"
+ },
+ "chain": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "playerIds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarOngoing": {
+ "required": [
+ "id",
+ "territory",
+ "start",
+ "end",
+ "target",
+ "factions"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/TerritoryWarId"
+ },
+ "territory": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "target": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "factions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarOngoingFaction"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarsResponse": {
+ "required": [
+ "territorywars"
+ ],
+ "properties": {
+ "territorywars": {
+ "description": "If the chosen category is 'ongoing' the response will be of 'FactionTerritoryWarOngoing' type, otherwise, the type will be 'FactionTerritoryWarFinished'.",
+ "oneOf": [
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarOngoing"
+ }
+ },
+ {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarFinished"
+ }
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarsHistoryResponse": {
+ "required": [
+ "territorywars"
+ ],
+ "properties": {
+ "territorywars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarFinished"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarReportMembers": {
+ "required": [
+ "id",
+ "username",
+ "level",
+ "score",
+ "joins",
+ "clears"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "username": {
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "joins": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "clears": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
- "UserEducation": {
+ "FactionTerritoryWarReportFaction": {
"required": [
- "complete",
- "current"
+ "id",
+ "name",
+ "score",
+ "joins",
+ "clears",
+ "is_aggressor",
+ "members"
],
"properties": {
- "complete": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "joins": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "clears": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_aggressor": {
+ "type": "boolean"
+ },
+ "members": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/EducationId"
+ "$ref": "#/components/schemas/FactionTerritoryWarReportMembers"
}
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarReport": {
+ "required": [
+ "id",
+ "territory",
+ "started_at",
+ "ended_at",
+ "winner",
+ "result",
+ "factions"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/TerritoryWarId"
},
- "current": {
+ "territory": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ },
+ "started_at": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "ended_at": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "winner": {
+ "$ref": "#/components/schemas/FactionId",
+ "description": "Winning faction id."
+ },
+ "result": {
+ "type": "string"
+ },
+ "factions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarReportFaction"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarReportResponse": {
+ "required": [
+ "territorywarreport"
+ ],
+ "properties": {
+ "territorywarreport": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarReport"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryOwnership": {
+ "required": [
+ "id",
+ "owned_by",
+ "acquired_at"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "owned_by": {
"oneOf": [
{
- "$ref": "#/components/schemas/UserCurrentEducation"
+ "$ref": "#/components/schemas/FactionId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "acquired_at": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
},
{
"type": "null"
@@ -19894,724 +16305,522 @@
},
"type": "object"
},
- "UserEducationResponse": {
+ "FactionTerritoriesOwnershipResponse": {
"required": [
- "education"
+ "territoryownership"
],
"properties": {
- "education": {
- "$ref": "#/components/schemas/UserEducation"
+ "territoryownership": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryOwnership"
+ }
}
},
"type": "object"
},
- "UserCrimeDetailsBootlegging": {
+ "TornRacketReward": {
"required": [
- "online_store",
- "dvd_sales",
- "dvd_copies"
+ "type",
+ "quantity",
+ "id"
],
"properties": {
- "online_store": {
- "description": "Online store statistics.",
- "required": [
- "earnings",
- "visits",
- "customers",
- "sales"
- ],
- "properties": {
- "earnings": {
- "type": "integer",
- "format": "int32"
+ "type": {
+ "$ref": "#/components/schemas/TornRacketType"
+ },
+ "quantity": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ItemId"
},
- "visits": {
- "type": "integer",
- "format": "int32"
- },
- "customers": {
- "type": "integer",
- "format": "int32"
- },
- "sales": {
- "type": "integer",
- "format": "int32"
+ {
+ "type": "null"
}
- },
- "type": "object"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TornRacket": {
+ "required": [
+ "name",
+ "level",
+ "description",
+ "reward",
+ "created_at",
+ "changed_at"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
},
- "dvd_sales": {
- "description": "DVD sales statistics.",
- "required": [
- "action",
- "comedy",
- "drama",
- "fantasy",
- "horror",
- "romance",
- "thriller",
- "sci_fi",
- "total",
- "earnings"
- ],
- "properties": {
- "action": {
- "type": "integer",
- "format": "int32"
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "description": {
+ "type": "string"
+ },
+ "reward": {
+ "$ref": "#/components/schemas/TornRacketReward"
+ },
+ "created_at": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "changed_at": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionRacketsReponse": {
+ "required": [
+ "rackets"
+ ],
+ "properties": {
+ "rackets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornRacket"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritory": {
+ "required": [
+ "id",
+ "acquired_at",
+ "sector",
+ "size",
+ "density",
+ "slots",
+ "respect",
+ "coordinates",
+ "racket"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ },
+ "acquired_at": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "sector": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "density": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "slots": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "coordinates": {
+ "$ref": "#/components/schemas/TornTerritoryCoordinates"
+ },
+ "racket": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/TornRacket"
},
- "comedy": {
- "type": "integer",
- "format": "int32"
- },
- "drama": {
- "type": "integer",
- "format": "int32"
- },
- "fantasy": {
- "type": "integer",
- "format": "int32"
- },
- "horror": {
- "type": "integer",
- "format": "int32"
- },
- "romance": {
- "type": "integer",
- "format": "int32"
- },
- "thriller": {
- "type": "integer",
- "format": "int32"
- },
- "sci-fi": {
- "description": "This is replaced with 'sci_fi' field and will be removed on 1st June 2025.",
- "type": "integer",
- "format": "int32",
- "deprecated": true
- },
- "sci_fi": {
- "type": "integer",
- "format": "int32"
- },
- "total": {
- "type": "integer",
- "format": "int32"
- },
- "earnings": {
- "type": "integer",
- "format": "int32"
+ {
+ "type": "null"
}
- },
- "type": "object"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoriesReponse": {
+ "required": [
+ "territory"
+ ],
+ "properties": {
+ "territory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritory"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionPosition": {
+ "required": [
+ "name",
+ "is_default",
+ "abilities"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
},
- "dvds_copied": {
+ "is_default": {
+ "type": "boolean"
+ },
+ "abilities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionPositionAbilityEnum"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionPositionsResponse": {
+ "required": [
+ "positions"
+ ],
+ "properties": {
+ "positions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionPosition"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionUpgradeDetails": {
+ "required": [
+ "id",
+ "name",
+ "ability",
+ "level",
+ "cost",
+ "unlockedAt"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionBranchId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "ability": {
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "cost": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "unlocked_at": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
- "UserCrimeDetailsGraffiti": {
+ "FactionBranchDetails": {
"required": [
- "cans_used",
- "most_graffiti_in_one_area",
- "most_graffiti_simultaneously",
- "graffiti_removed",
- "cost_to_city"
+ "name",
+ "order",
+ "multiplier",
+ "upgrades"
],
"properties": {
- "cans_used": {
+ "name": {
+ "type": "string"
+ },
+ "order": {
"type": "integer",
"format": "int32"
},
- "most_graffiti_in_one_area": {
+ "multiplier": {
+ "description": "Respect cost multiplier.",
"type": "integer",
"format": "int32"
},
- "most_graffiti_simultaneously": {
- "type": "integer",
- "format": "int32"
- },
- "graffiti_removed": {
- "type": "integer",
- "format": "int32"
- },
- "cost_to_city": {
- "type": "integer",
- "format": "int32"
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionUpgradeDetails"
+ }
}
},
"type": "object"
},
- "UserCrimeDetailsShoplifting": {
+ "FactionUpgrades": {
"required": [
- "average_notoriety"
+ "core",
+ "peace",
+ "war"
],
"properties": {
- "average_notoriety": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "UserCrimeDetailsCardSkimming": {
- "required": [
- "card_details",
- "skimmers"
- ],
- "properties": {
- "card_details": {
- "required": [
- "recoverable",
- "recovered",
- "sold",
- "lost",
- "areas"
- ],
+ "core": {
"properties": {
- "recoverable": {
- "type": "integer",
- "format": "int32"
- },
- "recovered": {
- "type": "integer",
- "format": "int32"
- },
- "sold": {
- "type": "integer",
- "format": "int32"
- },
- "lost": {
- "type": "integer",
- "format": "int32"
- },
- "areas": {
+ "upgrades": {
"type": "array",
"items": {
- "required": [
- "id",
- "amount"
- ],
- "properties": {
- "id": {
- "type": "integer",
- "format": "int32"
- },
- "amount": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
+ "$ref": "#/components/schemas/FactionUpgradeDetails"
}
}
},
"type": "object"
},
- "skimmers": {
- "required": [
- "active",
- "most_lucrative",
- "oldest_recovered",
- "lost"
- ],
- "properties": {
- "active": {
- "type": "integer",
- "format": "int32"
- },
- "most_lucrative": {
- "type": "integer",
- "format": "int32"
- },
- "oldest_recovered": {
- "type": "integer",
- "format": "int32"
- },
- "lost": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
+ "peace": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionBranchDetails"
+ }
+ },
+ "war": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionBranchDetails"
+ }
}
},
"type": "object"
},
- "UserCrimeDetailsHustling": {
+ "FactionUpgradesResponse": {
"required": [
- "total_audience_gathered",
- "biggest_money_won",
- "shill_money_collected",
- "pickpocket_money_collected"
+ "upgrades",
+ "state"
],
"properties": {
- "total_audience_gathered": {
- "type": "integer",
- "format": "int32"
+ "upgrades": {
+ "$ref": "#/components/schemas/FactionUpgrades"
},
- "biggest_money_won": {
- "type": "integer",
- "format": "int32"
- },
- "shill_money_collected": {
- "type": "integer",
- "format": "int32"
- },
- "pickpocket_money_collected": {
- "type": "integer",
- "format": "int32"
+ "state": {
+ "$ref": "#/components/schemas/FactionBranchStateEnum"
}
},
"type": "object"
},
- "UserCrimeDetailsCracking": {
+ "FactionStat": {
"required": [
- "brute_force_cycles",
- "encryption_layers_broken",
- "highest_mips",
- "chars_guessed",
- "chars_guessed_total"
+ "name",
+ "value"
],
"properties": {
- "brute_force_cycles": {
- "type": "integer",
- "format": "int32"
+ "name": {
+ "$ref": "#/components/schemas/FactionStatEnum"
},
- "encryption_layers_broken": {
+ "value": {
"type": "integer",
- "format": "int32"
- },
- "highest_mips": {
- "type": "integer",
- "format": "int32"
- },
- "chars_guessed": {
- "type": "integer",
- "format": "int32"
- },
- "chars_guessed_total": {
- "type": "integer",
- "format": "int32"
+ "format": "int64"
}
},
"type": "object"
},
- "UserCrimeDetailsScamming": {
+ "FactionStatsResponse": {
"required": [
- "most_responses",
- "zones",
- "concerns",
- "payouts",
- "emails"
+ "stats"
],
"properties": {
- "most_responses": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "zones": {
- "required": [
- "red",
- "neutral",
- "concern",
- "sensitivity",
- "temptation",
- "hesitation",
- "low_reward",
- "medium_reward",
- "high_reward"
- ],
- "properties": {
- "red": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "neutral": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "concern": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "sensitivity": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "temptation": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "hesitation": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "low_reward": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "medium_reward": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "high_reward": {
- "type": "integer",
- "format": "int32",
- "default": 0
- }
- },
- "type": "object"
- },
- "concerns": {
- "required": [
- "attempts",
- "resolved"
- ],
- "properties": {
- "attempts": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "resolved": {
- "type": "integer",
- "format": "int32",
- "default": 0
- }
- },
- "type": "object"
- },
- "payouts": {
- "required": [
- "low",
- "medium",
- "high"
- ],
- "properties": {
- "low": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "medium": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "high": {
- "type": "integer",
- "format": "int32",
- "default": 0
- }
- },
- "type": "object"
- },
- "emails": {
- "required": [
- "scraper",
- "phisher"
- ],
- "properties": {
- "scraper": {
- "type": "integer",
- "format": "int32",
- "default": 0
- },
- "phisher": {
- "type": "integer",
- "format": "int32",
- "default": 0
- }
- },
- "type": "object"
+ "stats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionStat"
+ }
}
},
"type": "object"
},
- "UserSubcrime": {
+ "FactionContributor": {
"required": [
"id",
- "total",
- "success",
- "fail"
+ "username",
+ "value",
+ "in_faction"
],
"properties": {
"id": {
- "type": "integer",
- "format": "int32"
+ "$ref": "#/components/schemas/UserId"
},
- "total": {
- "type": "integer",
- "format": "int32"
+ "username": {
+ "type": "string"
},
- "success": {
- "type": "integer",
- "format": "int32"
- },
- "fail": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "UserCrimeRewardAmmo": {
- "required": [
- "standard",
- "special"
- ],
- "properties": {
- "standard": {
- "type": "integer",
- "format": "int32"
- },
- "special": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "UserCrimeRewardItem": {
- "required": [
- "id",
- "amount"
- ],
- "properties": {
- "id": {
- "type": "integer",
- "format": "int32"
- },
- "amount": {
- "type": "integer",
- "format": "int32"
- }
- },
- "type": "object"
- },
- "UserCrimeRewards": {
- "required": [
- "money",
- "ammo",
- "items"
- ],
- "properties": {
- "money": {
+ "value": {
"type": "integer",
"format": "int64"
},
- "ammo": {
- "$ref": "#/components/schemas/UserCrimeRewardAmmo"
- },
- "items": {
+ "in_faction": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "FactionContributorsResponse": {
+ "required": [
+ "contributors"
+ ],
+ "properties": {
+ "contributors": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/UserCrimeRewardItem"
+ "$ref": "#/components/schemas/FactionContributor"
}
}
},
"type": "object"
},
- "UserCrimeAttempts": {
+ "FactionHofStats": {
"required": [
- "total",
- "success",
- "fail",
- "critical_fail",
- "subcrimes"
+ "rank",
+ "respect",
+ "chain"
],
"properties": {
- "total": {
- "type": "integer",
- "format": "int32"
+ "rank": {
+ "$ref": "#/components/schemas/HofValueString"
},
- "success": {
- "type": "integer",
- "format": "int32"
+ "respect": {
+ "$ref": "#/components/schemas/HofValue"
},
- "fail": {
- "type": "integer",
- "format": "int32"
- },
- "critical_fail": {
- "type": "integer",
- "format": "int32"
- },
- "subcrimes": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserSubcrime"
- }
+ "chain": {
+ "$ref": "#/components/schemas/HofValue"
}
},
"type": "object"
},
- "UserCrimeUniquesRewardMoney": {
+ "FactionHofResponse": {
"required": [
- "min",
- "max"
+ "hof"
],
"properties": {
- "min": {
- "type": "integer",
- "format": "int32"
- },
- "max": {
- "type": "integer",
- "format": "int32"
+ "hof": {
+ "$ref": "#/components/schemas/FactionHofStats"
}
},
"type": "object"
},
- "UserCrimeUniquesRewardAmmo": {
- "required": [
- "amount",
- "type"
- ],
- "properties": {
- "amount": {
- "type": "integer",
- "format": "int32"
- },
- "type": {
- "$ref": "#/components/schemas/UserCrimeUniquesRewardAmmoEnum"
- }
- },
- "type": "object"
- },
- "UserCrimeUniquesReward": {
- "required": [
- "items",
- "money",
- "ammo"
- ],
- "properties": {
- "items": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserCrimeRewardItem"
- }
- },
- "money": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserCrimeUniquesRewardMoney"
- },
- {
- "type": "null"
- }
- ]
- },
- "ammo": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserCrimeUniquesRewardAmmo"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "UserCrimeUniques": {
+ "FactionMember": {
+ "description": "Details about a faction member.",
"required": [
"id",
- "rewards"
+ "name",
+ "position",
+ "level",
+ "days_in_faction",
+ "is_revivable",
+ "is_on_wall",
+ "is_in_oc",
+ "has_early_discharge",
+ "last_action",
+ "status",
+ "revive_setting"
],
"properties": {
"id": {
- "description": "Unique result id.",
- "type": "integer",
- "format": "int64"
+ "$ref": "#/components/schemas/UserId"
},
- "rewards": {
- "$ref": "#/components/schemas/UserCrimeUniquesReward"
+ "name": {
+ "type": "string"
+ },
+ "position": {
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "days_in_faction": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_revivable": {
+ "type": "boolean"
+ },
+ "is_on_wall": {
+ "description": "Shows if the member is currently defending territory wall.",
+ "type": "boolean"
+ },
+ "is_in_oc": {
+ "description": "Shows if the member is currently participating in an organized crime. Show false for members of other factions.",
+ "type": "boolean"
+ },
+ "has_early_discharge": {
+ "description": "Shows if the member is eligible for an early discharge from the hospital.",
+ "type": "boolean"
+ },
+ "last_action": {
+ "$ref": "#/components/schemas/UserLastAction"
+ },
+ "status": {
+ "$ref": "#/components/schemas/UserStatus"
+ },
+ "revive_setting": {
+ "$ref": "#/components/schemas/ReviveSetting"
}
},
"type": "object"
},
- "UserCrimesResponse": {
+ "UserLastAction": {
+ "description": "Details about a user's last action.",
"required": [
- "crimes"
+ "status",
+ "timestamp",
+ "relative"
],
"properties": {
- "crimes": {
- "$ref": "#/components/schemas/UserCrime"
+ "status": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "relative": {
+ "type": "string"
}
},
"type": "object"
},
- "UserCrime": {
+ "UserStatus": {
+ "description": "Details about a user's status.",
"required": [
- "nerve_spent",
- "skill",
- "progression_bonus",
- "rewards",
- "attempts",
- "uniques",
- "miscellaneous"
+ "description",
+ "details",
+ "state",
+ "until"
],
"properties": {
- "nerve_spent": {
- "type": "integer",
- "format": "int32"
+ "description": {
+ "type": "string"
},
- "skill": {
- "type": "integer",
- "format": "int32"
- },
- "progression_bonus": {
- "type": "integer",
- "format": "int32"
- },
- "rewards": {
- "$ref": "#/components/schemas/UserCrimeRewards"
- },
- "attempts": {
- "$ref": "#/components/schemas/UserCrimeAttempts"
- },
- "uniques": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserCrimeUniques"
- }
- },
- "miscellaneous": {
- "description": " Miscellaneous stats for specific crime. Results differ based on the cat id.",
+ "details": {
"oneOf": [
{
- "$ref": "#/components/schemas/UserCrimeDetailsBootlegging"
+ "type": "string"
},
{
- "$ref": "#/components/schemas/UserCrimeDetailsGraffiti"
- },
+ "type": "null"
+ }
+ ]
+ },
+ "state": {
+ "type": "string"
+ },
+ "until": {
+ "oneOf": [
{
- "$ref": "#/components/schemas/UserCrimeDetailsShoplifting"
- },
- {
- "$ref": "#/components/schemas/UserCrimeDetailsCardSkimming"
- },
- {
- "$ref": "#/components/schemas/UserCrimeDetailsHustling"
- },
- {
- "$ref": "#/components/schemas/UserCrimeDetailsCracking"
- },
- {
- "$ref": "#/components/schemas/UserCrimeDetailsScamming"
+ "type": "integer",
+ "format": "int32"
},
{
"type": "null"
@@ -20621,16 +16830,481 @@
},
"type": "object"
},
- "UserRacesResponse": {
+ "FactionMembersResponse": {
"required": [
- "races",
+ "members"
+ ],
+ "properties": {
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionMember"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionRank": {
+ "required": [
+ "level",
+ "name",
+ "division",
+ "position",
+ "wins"
+ ],
+ "properties": {
+ "level": {
+ "description": "/**",
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {
+ "type": "string"
+ },
+ "division": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "position": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "wins": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionBasic": {
+ "required": [
+ "id",
+ "name",
+ "tag",
+ "tag_image",
+ "leader_id",
+ "co_leader_id",
+ "respect",
+ "days_old",
+ "capacity",
+ "members",
+ "is_enlisted",
+ "rank",
+ "best_chain"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "tag": {
+ "type": "string"
+ },
+ "tag_image": {
+ "type": "string"
+ },
+ "leader_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "co-leader_id": {
+ "$ref": "#/components/schemas/UserId",
+ "description": "This is replaced with 'co_leader_id' field and will be removed on 1st June 2025."
+ },
+ "co_leader_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "days_old": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "members": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_enlisted": {
+ "description": "Indicates if the faction is enlisted for ranked wars. Available only with faction AA permissions for your own faction.",
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "rank": {
+ "$ref": "#/components/schemas/FactionRank"
+ },
+ "best_chain": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionBasicResponse": {
+ "required": [
+ "basic"
+ ],
+ "properties": {
+ "basic": {
+ "$ref": "#/components/schemas/FactionBasic"
+ }
+ },
+ "type": "object"
+ },
+ "FactionPact": {
+ "required": [
+ "faction_id",
+ "faction_name",
+ "until"
+ ],
+ "properties": {
+ "faction_id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "faction_name": {
+ "type": "string"
+ },
+ "until": {
+ "description": "The duration until when is the non-aggression pact valid.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "FactionRankedWarParticipant": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "chain"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chain": {
+ "description": "Faction's current chain.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionRankedWar": {
+ "required": [
+ "war_id",
+ "start",
+ "end",
+ "target",
+ "winner",
+ "factions"
+ ],
+ "properties": {
+ "war_id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "target": {
+ "description": "The score target of the war.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "winner": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "factions": {
+ "description": "The factions involved in the ranked war.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionRankedWarParticipant"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionRaidWarParticipant": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "chain",
+ "is_aggressor"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chain": {
+ "description": "Faction's current chain.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_aggressor": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "FactionRaidWar": {
+ "required": [
+ "war_id",
+ "start",
+ "end",
+ "factions"
+ ],
+ "properties": {
+ "war_id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "factions": {
+ "description": "The factions involved in the raid war.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionRaidWarParticipant"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWarParticipant": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "chain",
+ "is_aggressor",
+ "playerIds"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chain": {
+ "description": "Faction's current chain.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_aggressor": {
+ "type": "boolean"
+ },
+ "playerIds": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionTerritoryWar": {
+ "required": [
+ "war_id",
+ "territory",
+ "start",
+ "end",
+ "target",
+ "factions"
+ ],
+ "properties": {
+ "war_id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "territory": {
+ "type": "string"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "target": {
+ "description": "The score target of the war.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "winner": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "factions": {
+ "description": "The factions involved in the territory war.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWarParticipant"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionWars": {
+ "required": [
+ "ranked",
+ "raids",
+ "territory"
+ ],
+ "properties": {
+ "ranked": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionRankedWar"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "raids": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionRaidWar"
+ }
+ },
+ "territory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryWar"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionWarsResponse": {
+ "required": [
+ "pacts",
+ "wars"
+ ],
+ "properties": {
+ "pacts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionPact"
+ }
+ },
+ "wars": {
+ "$ref": "#/components/schemas/FactionWars"
+ }
+ },
+ "type": "object"
+ },
+ "FactionNews": {
+ "required": [
+ "id",
+ "text",
+ "timestamp"
+ ],
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionNewsResponse": {
+ "required": [
+ "news",
"_metadata"
],
"properties": {
- "races": {
+ "news": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/RacingRaceDetailsResponse"
+ "$ref": "#/components/schemas/FactionNews"
}
},
"_metadata": {
@@ -20639,87 +17313,1657 @@
},
"type": "object"
},
- "UserRaceCarDetails": {
- "allOf": [
- {
+ "FactionAttacksResponse": {
+ "required": [
+ "attacks",
+ "_metadata"
+ ],
+ "properties": {
+ "attacks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Attack"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionAttacksFullResponse": {
+ "required": [
+ "attacks",
+ "_metadata"
+ ],
+ "properties": {
+ "attacks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AttackSimplified"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionApplication": {
+ "required": [
+ "id",
+ "user",
+ "message",
+ "valid_until",
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "description": "application id",
+ "type": "integer",
+ "format": "int32"
+ },
+ "user": {
"required": [
"id",
"name",
- "worth",
- "points_spent",
- "races_entered",
- "races_won",
- "is_removed",
- "parts"
+ "level",
+ "stats"
],
"properties": {
"id": {
- "$ref": "#/components/schemas/RaceCarId"
+ "$ref": "#/components/schemas/UserId"
},
"name": {
- "oneOf": [
- {
- "type": "string"
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "stats": {
+ "required": [
+ "strength",
+ "speed",
+ "dexterity",
+ "defense"
+ ],
+ "properties": {
+ "strength": {
+ "type": "integer",
+ "format": "int64"
},
- {
- "type": "null"
+ "speed": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "dexterity": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "defense": {
+ "type": "integer",
+ "format": "int64"
}
- ]
- },
- "worth": {
- "type": "integer",
- "format": "int64"
- },
- "points_spent": {
- "type": "integer",
- "format": "int32"
- },
- "races_entered": {
- "type": "integer",
- "format": "int32"
- },
- "races_won": {
- "type": "integer",
- "format": "int32"
- },
- "is_removed": {
- "type": "boolean"
- },
- "parts": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/RaceCarUpgradeId"
- }
+ },
+ "type": "object"
}
},
"type": "object"
},
- {
- "$ref": "#/components/schemas/RaceCar"
+ "message": {
+ "type": "string"
+ },
+ "valid_until": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "status": {
+ "$ref": "#/components/schemas/FactionApplicationStatusEnum"
}
- ]
+ },
+ "type": "object"
},
- "UserEnlistedCarsResponse": {
+ "FactionApplicationsResponse": {
"required": [
- "enlistedcars"
+ "applications"
],
"properties": {
- "enlistedcars": {
+ "applications": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/UserRaceCarDetails"
+ "$ref": "#/components/schemas/FactionApplication"
}
}
},
"type": "object"
},
- "UserForumPostsResponse": {
+ "FactionOngoingChain": {
"required": [
- "forumPosts",
+ "id",
+ "current",
+ "max",
+ "timeout",
+ "modifier",
+ "cooldown",
+ "start",
+ "end"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ChainId"
+ },
+ "current": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "max": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "timeout": {
+ "description": "Seconds until chain breaks.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "modifier": {
+ "type": "number",
+ "format": "float"
+ },
+ "cooldown": {
+ "description": "Timestamp until when chain is on cooldown.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionOngoingChainResponse": {
+ "required": [
+ "chain"
+ ],
+ "properties": {
+ "chain": {
+ "$ref": "#/components/schemas/FactionOngoingChain"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChain": {
+ "required": [
+ "id",
+ "chain",
+ "respect",
+ "start",
+ "end"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ChainId"
+ },
+ "chain": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "respect": {
+ "type": "number",
+ "format": "float"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainsResponse": {
+ "required": [
+ "chains",
"_metadata"
],
"properties": {
- "forumPosts": {
+ "chains": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionChain"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportResponse": {
+ "required": [
+ "chainreport"
+ ],
+ "properties": {
+ "chainreport": {
+ "$ref": "#/components/schemas/FactionChainReport"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReport": {
+ "required": [
+ "id",
+ "faction_id",
+ "start",
+ "end",
+ "details",
+ "bonuses",
+ "attackers",
+ "non_attackers"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ChainId"
+ },
+ "faction_id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "details": {
+ "$ref": "#/components/schemas/FactionChainReportDetails"
+ },
+ "bonuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionChainReportBonus"
+ }
+ },
+ "attackers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionChainReportAttacker"
+ }
+ },
+ "non-attackers": {
+ "description": "This is replaced with 'non_attackers' field and will be removed on 1st June 2025.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "deprecated": true
+ },
+ "non_attackers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserId"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportDetails": {
+ "required": [
+ "chain",
+ "respect",
+ "members",
+ "targets",
+ "war",
+ "best",
+ "leave",
+ "mug",
+ "hospitalize",
+ "assists",
+ "retaliations",
+ "overseas",
+ "draws",
+ "escapes",
+ "losses"
+ ],
+ "properties": {
+ "chain": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "respect": {
+ "type": "number",
+ "format": "float"
+ },
+ "members": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "targets": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "war": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "best": {
+ "type": "number",
+ "format": "float"
+ },
+ "leave": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "mug": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hospitalize": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "assists": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "retaliations": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "overseas": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "draws": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "escapes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "losses": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportBonus": {
+ "required": [
+ "attacker_id",
+ "defender_id",
+ "chain",
+ "respect"
+ ],
+ "properties": {
+ "attacker_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "defender_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "chain": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportAttacker": {
+ "required": [
+ "id",
+ "respect",
+ "attacks"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "respect": {
+ "$ref": "#/components/schemas/FactionChainReportAttackerRespect"
+ },
+ "attacks": {
+ "$ref": "#/components/schemas/FactionChainReportAttackerAttacks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportAttackerRespect": {
+ "required": [
+ "total",
+ "average",
+ "best"
+ ],
+ "properties": {
+ "total": {
+ "type": "number",
+ "format": "float"
+ },
+ "average": {
+ "type": "number",
+ "format": "float"
+ },
+ "best": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "type": "object"
+ },
+ "FactionChainReportAttackerAttacks": {
+ "required": [
+ "total",
+ "leave",
+ "mug",
+ "hospitalize",
+ "assists",
+ "retaliations",
+ "overseas",
+ "draws",
+ "escpaces",
+ "losses",
+ "war",
+ "bonuses"
+ ],
+ "properties": {
+ "total": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "leave": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "mug": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hospitalize": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "assists": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "retaliations": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "overseas": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "draws": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "escapes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "losses": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "war": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "bonuses": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeUser": {
+ "required": [
+ "id",
+ "outcome",
+ "joined_at",
+ "progress"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "outcome": {
+ "description": "This field will be null for old crimes.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrimeUserOutcome"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "joined_at": {
+ "description": "The timestamp at which the user joined the slot.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "progress": {
+ "description": "Current planning progress on the slot.",
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeRewardItem": {
+ "required": [
+ "id",
+ "quantity"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "quantity": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeRewardPayout": {
+ "required": [
+ "type",
+ "percentage",
+ "paid_by",
+ "paid_at"
+ ],
+ "properties": {
+ "type": {
+ "$ref": "#/components/schemas/FactionOrganizedCrimePayoutType"
+ },
+ "percentage": {
+ "description": "Total percentage split between all participants.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "paid_by": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "paid_at": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeReward": {
+ "required": [
+ "money",
+ "items",
+ "respect",
+ "payout",
+ "scope"
+ ],
+ "properties": {
+ "money": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionCrimeRewardItem"
+ }
+ },
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "scope": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "payout": {
+ "description": "Details about the crime payouts. This field is null if the crime has not been paid via the automatic payouts system.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrimeRewardPayout"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeSlot": {
+ "required": [
+ "position",
+ "item_requirement",
+ "user",
+ "checkpoint_pass_rate"
+ ],
+ "properties": {
+ "position": {
+ "type": "string"
+ },
+ "item_requirement": {
+ "description": "Details of item required for the slot, if applicable.",
+ "oneOf": [
+ {
+ "required": [
+ "id",
+ "is_reusable",
+ "is_available"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "is_reusable": {
+ "description": "Shows if the item is reusable or consumed during the crime.",
+ "type": "boolean"
+ },
+ "is_available": {
+ "description": "Shows if user has the required item.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "user": {
+ "description": "Details about the user joined the slot, if any.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrimeUser"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "checkpoint_pass_rate": {
+ "description": "Returns CPR for the player who joined the slot. If the slot is empty (availalbe), it shows your CPR for that slot. This value is 0 for expired crimes.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrime": {
+ "required": [
+ "id",
+ "name",
+ "previous_crime_id",
+ "difficulty",
+ "status",
+ "created_at",
+ "planning_at",
+ "ready_at",
+ "expired_at",
+ "executed_at",
+ "slots",
+ "rewards"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionCrimeId"
+ },
+ "previous_crime_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrimeId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "difficulty": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "status": {
+ "$ref": "#/components/schemas/FactionCrimeStatusEnum"
+ },
+ "created_at": {
+ "description": "The timestamp at which the crime was created.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "planning_at": {
+ "description": "The timestamp at which the planning phase for the crime has begun.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ready_at": {
+ "description": "The timestamp at which the crime will be ready.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "expired_at": {
+ "description": "The timestamp at which the crime will expire.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "executed_at": {
+ "description": "The timestamp at which the crime was executed.
Note: this value is null for all crimes executed before January 15th, 2025.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "slots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionCrimeSlot"
+ }
+ },
+ "rewards": {
+ "description": "Details about the crime rewards. Available only for crimes with 'Successful' status.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionCrimeReward"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimesResponse": {
+ "required": [
+ "crimes",
+ "_metadata"
+ ],
+ "properties": {
+ "crimes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionCrime"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionCrimeResponse": {
+ "required": [
+ "crime"
+ ],
+ "properties": {
+ "crime": {
+ "$ref": "#/components/schemas/FactionCrime"
+ }
+ },
+ "type": "object"
+ },
+ "FactionBalance": {
+ "required": [
+ "faction",
+ "members"
+ ],
+ "properties": {
+ "faction": {
+ "required": [
+ "money",
+ "points",
+ "scope"
+ ],
+ "properties": {
+ "money": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "points": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "scope": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "username",
+ "money",
+ "points"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "username": {
+ "type": "string"
+ },
+ "money": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "points": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionBalanceResponse": {
+ "required": [
+ "balance"
+ ],
+ "properties": {
+ "balance": {
+ "$ref": "#/components/schemas/FactionBalance"
+ }
+ },
+ "type": "object"
+ },
+ "FactionSelectionName": {
+ "description": "The following selections will fallback to API v1 and may change at any time: 'armor', 'boosters', 'caches', 'cesium', 'crimeexp', 'drugs', 'medical', 'positions', 'reports', 'temporary', 'weapons'.\n * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.",
+ "type": "string",
+ "enum": [
+ "applications",
+ "attacks",
+ "attacksfull",
+ "balance",
+ "basic",
+ "chain",
+ "chainreport",
+ "chains",
+ "contributors",
+ "crime",
+ "crimes",
+ "hof",
+ "lookup",
+ "members",
+ "news",
+ "rackets",
+ "rankedwars",
+ "rankedwarreport",
+ "revives",
+ "revivesfull",
+ "stats",
+ "territory",
+ "territoryownership",
+ "territorywarreport",
+ "territorywars",
+ "timestamp",
+ "upgrades",
+ "wars",
+ "armor",
+ "boosters",
+ "caches",
+ "cesium",
+ "crimeexp",
+ "drugs",
+ "medical",
+ "positions",
+ "reports",
+ "temporary",
+ "weapons",
+ "armorynews",
+ "attacknews",
+ "crimenews",
+ "currency",
+ "donations",
+ "fundsnews",
+ "mainnews",
+ "membershipnews",
+ "territorynews"
+ ]
+ },
+ "FactionLookupResponse": {
+ "required": [
+ "selections"
+ ],
+ "properties": {
+ "selections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionSelectionName"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionRankedWarDetails": {
+ "required": [
+ "id",
+ "start",
+ "end",
+ "target",
+ "winner",
+ "factions"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RankedWarId"
+ },
+ "start": {
+ "description": "Timestamp the war started at.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "description": "Timestamp the war ended at.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "target": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "winner": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "factions": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "chain"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "chain": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "FactionRankedWarResponse": {
+ "required": [
+ "rankedwars",
+ "_metadata"
+ ],
+ "properties": {
+ "rankedwars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionRankedWarDetails"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionRankedWarReportResponse": {
+ "required": [
+ "rankedwarreport"
+ ],
+ "properties": {
+ "rankedwarreport": {
+ "required": [
+ "id",
+ "start",
+ "end",
+ "winner",
+ "forfeit",
+ "factions"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RankedWarId"
+ },
+ "start": {
+ "description": "Timestamp the war started at.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "description": "Timestamp the war ended at.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "winner": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "forfeit": {
+ "type": "boolean"
+ },
+ "factions": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "name",
+ "score",
+ "attacks",
+ "rank",
+ "rewards",
+ "members"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "attacks": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rank": {
+ "required": [
+ "before",
+ "after"
+ ],
+ "properties": {
+ "before": {
+ "type": "string"
+ },
+ "after": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "rewards": {
+ "required": [
+ "respect",
+ "points",
+ "items"
+ ],
+ "properties": {
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "points": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "items": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "name",
+ "quantity"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "quantity": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "name",
+ "level",
+ "attacks",
+ "score"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "attacks": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "score": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "ForumCategoriesResponse": {
+ "required": [
+ "categories"
+ ],
+ "properties": {
+ "categories": {
+ "type": "array",
+ "items": {
+ "required": [
+ "id",
+ "title",
+ "acronym",
+ "threads"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ForumId"
+ },
+ "title": {
+ "type": "string"
+ },
+ "acronym": {
+ "type": "string"
+ },
+ "threads": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadAuthor": {
+ "required": [
+ "id",
+ "username",
+ "karma"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "username": {
+ "type": "string"
+ },
+ "karma": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "ForumPollVote": {
+ "required": [
+ "answer",
+ "votes"
+ ],
+ "properties": {
+ "answer": {
+ "type": "string"
+ },
+ "votes": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "ForumPoll": {
+ "required": [
+ "question",
+ "answers_count",
+ "answers"
+ ],
+ "properties": {
+ "question": {
+ "type": "string"
+ },
+ "answers_count": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "answers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumPollVote"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadBase": {
+ "required": [
+ "id",
+ "title",
+ "forum_id",
+ "posts",
+ "rating",
+ "views",
+ "author",
+ "last_poster",
+ "first_post_time",
+ "last_post_time",
+ "has_poll",
+ "is_locked",
+ "is_sticky"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ForumThreadId"
+ },
+ "title": {
+ "type": "string"
+ },
+ "forum_id": {
+ "$ref": "#/components/schemas/ForumId"
+ },
+ "posts": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rating": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "views": {
+ "description": "Total number of times players have opened this thread.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "author": {
+ "$ref": "#/components/schemas/ForumThreadAuthor"
+ },
+ "last_poster": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ForumThreadAuthor"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "first_post_time": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "last_post_time": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "has_poll": {
+ "type": "boolean"
+ },
+ "is_locked": {
+ "type": "boolean"
+ },
+ "is_sticky": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadExtended": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ForumThreadBase"
+ },
+ {
+ "required": [
+ "content",
+ "content_raw",
+ "poll"
+ ],
+ "properties": {
+ "content": {
+ "type": "string"
+ },
+ "content_raw": {
+ "type": "string"
+ },
+ "poll": {
+ "description": "'poll' is null when 'has_poll' is false.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ForumPoll"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ForumPost": {
+ "required": [
+ "id",
+ "thread_id",
+ "author",
+ "is_legacy",
+ "is_topic",
+ "is_edited",
+ "is_pinned",
+ "created_time",
+ "edited_by",
+ "has_quote",
+ "quoted_post_id",
+ "content",
+ "likes",
+ "dislikes"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ForumPostId"
+ },
+ "thread_id": {
+ "$ref": "#/components/schemas/ForumThreadId"
+ },
+ "author": {
+ "$ref": "#/components/schemas/ForumThreadAuthor"
+ },
+ "is_legacy": {
+ "description": "Indicates whether post was made using the old formatting engine which doesn't use HTML.",
+ "type": "boolean"
+ },
+ "is_topic": {
+ "type": "boolean"
+ },
+ "is_edited": {
+ "type": "boolean"
+ },
+ "is_pinned": {
+ "type": "boolean"
+ },
+ "created_time": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "edited_by": {
+ "description": "'edited_by' is null when 'is_edited' is false.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "has_quote": {
+ "type": "boolean"
+ },
+ "quoted_post_id": {
+ "description": "'quoted_post_id' is null when 'has_quote' is false.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "content": {
+ "description": "depending on the input 'cat' parameter, this will either return raw value (with HTML) or plain text. Legacy posts are returned as is, they can't be stripped of tags.",
+ "type": "string"
+ },
+ "likes": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "dislikes": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadUserExtended": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/ForumThreadBase"
+ },
+ {
+ "required": [
+ "new_posts"
+ ],
+ "properties": {
+ "new_posts": {
+ "description": "Available only when requesting data for yourself (no id or your id) with at least 'Minimal' access type key.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ ]
+ },
+ "ForumSubscribedThreadPostsCount": {
+ "required": [
+ "new",
+ "total"
+ ],
+ "properties": {
+ "new": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "total": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "ForumSubscribedThread": {
+ "required": [
+ "id",
+ "forum_id",
+ "author",
+ "title",
+ "posts"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ForumThreadId"
+ },
+ "forum_id": {
+ "$ref": "#/components/schemas/ForumId"
+ },
+ "author": {
+ "$ref": "#/components/schemas/ForumThreadAuthor"
+ },
+ "title": {
+ "type": "string"
+ },
+ "posts": {
+ "$ref": "#/components/schemas/ForumSubscribedThreadPostsCount"
+ }
+ },
+ "type": "object"
+ },
+ "ForumFeed": {
+ "required": [
+ "thread_id",
+ "post_id",
+ "user",
+ "title",
+ "text",
+ "timestamp",
+ "is_seen",
+ "type"
+ ],
+ "properties": {
+ "thread_id": {
+ "$ref": "#/components/schemas/ForumThreadId"
+ },
+ "post_id": {
+ "$ref": "#/components/schemas/ForumPostId"
+ },
+ "user": {
+ "$ref": "#/components/schemas/ForumThreadAuthor"
+ },
+ "title": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_seen": {
+ "type": "boolean"
+ },
+ "type": {
+ "$ref": "#/components/schemas/ForumFeedTypeEnum"
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadsResponse": {
+ "required": [
+ "threads",
+ "_metadata"
+ ],
+ "properties": {
+ "threads": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumThreadBase"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "ForumThreadResponse": {
+ "required": [
+ "thread"
+ ],
+ "properties": {
+ "thread": {
+ "$ref": "#/components/schemas/ForumThreadExtended"
+ }
+ },
+ "type": "object"
+ },
+ "ForumPostsResponse": {
+ "required": [
+ "posts",
+ "_metadata"
+ ],
+ "properties": {
+ "posts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ForumPost"
@@ -20731,284 +18975,309 @@
},
"type": "object"
},
- "UserForumThreadsResponse": {
- "required": [
- "forumThreads",
- "_metadata"
- ],
- "properties": {
- "forumThreads": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ForumThreadUserExtended"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
+ "ForumSelectionName": {
+ "type": "string",
+ "enum": [
+ "categories",
+ "lookup",
+ "posts",
+ "thread",
+ "threads",
+ "timestamp"
+ ]
},
- "UserForumSubscribedThreadsResponse": {
+ "ForumLookupResponse": {
"required": [
- "forumSbuscribedThreads"
+ "selections"
],
"properties": {
- "forumSubscribedThreads": {
+ "selections": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/ForumSubscribedThread"
+ "$ref": "#/components/schemas/ForumSelectionName"
}
}
},
"type": "object"
},
- "UserForumFeedResponse": {
+ "KeyLogResponse": {
"required": [
- "forumFeed"
+ "log"
],
"properties": {
- "forumFeed": {
+ "log": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/ForumFeed"
+ "required": [
+ "timestamp",
+ "type",
+ "selections",
+ "id",
+ "ip"
+ ],
+ "properties": {
+ "timestamp": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "type": {
+ "type": "string"
+ },
+ "selections": {
+ "type": "string"
+ },
+ "id": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "comment": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "ip": {
+ "type": "string"
+ }
+ },
+ "type": "object"
}
}
},
"type": "object"
},
- "UserForumFriendsResponse": {
+ "KeyInfoResponse": {
"required": [
- "forumFriends"
+ "info"
],
"properties": {
- "forumFriends": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ForumFeed"
- }
+ "info": {
+ "required": [
+ "selections",
+ "access"
+ ],
+ "properties": {
+ "selections": {
+ "required": [
+ "company",
+ "faction",
+ "market",
+ "property",
+ "torn",
+ "user",
+ "racing",
+ "forum",
+ "key"
+ ],
+ "properties": {
+ "company": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "faction": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionSelectionName"
+ }
+ },
+ "market": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/MarketSelectionName"
+ }
+ },
+ "property": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "torn": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornSelectionName"
+ }
+ },
+ "user": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/UserSelectionName"
+ }
+ },
+ "racing": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RacingSelectionName"
+ }
+ },
+ "forum": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ForumSelectionName"
+ }
+ },
+ "key": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/KeySelectionName"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "access": {
+ "required": [
+ "level",
+ "type",
+ "faction",
+ "company"
+ ],
+ "properties": {
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "type": {
+ "$ref": "#/components/schemas/ApiKeyAccessTypeEnum"
+ },
+ "faction": {
+ "type": "boolean"
+ },
+ "faction_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "company": {
+ "type": "boolean"
+ },
+ "company_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/CompanyId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
}
},
"type": "object"
},
- "HofValue": {
+ "KeySelectionName": {
+ "type": "string",
+ "enum": [
+ "info",
+ "log"
+ ]
+ },
+ "ItemMarketListingItemBonus": {
"required": [
- "value",
- "rank"
+ "id",
+ "title",
+ "description",
+ "value"
],
"properties": {
- "value": {
+ "id": {
"type": "integer",
- "format": "int64"
+ "format": "int32"
},
- "rank": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "value": {
"type": "integer",
"format": "int32"
}
},
"type": "object"
},
- "HofValueString": {
+ "ItemMarketListingItemStats": {
"required": [
- "value",
- "rank"
+ "damage",
+ "accuracy",
+ "armor",
+ "quality"
],
"properties": {
- "value": {
- "type": "string"
- },
- "rank": {
+ "damage": {
"oneOf": [
{
"type": "number",
- "format": "int32"
+ "format": "float"
},
{
"type": "null"
}
]
- }
- },
- "type": "object"
- },
- "UserHofStats": {
- "required": [
- "attacks",
- "busts",
- "defends",
- "networth",
- "offences",
- "revives",
- "level",
- "rank",
- "awards",
- "racing_skill",
- "racing_points",
- "racing_wins",
- "travel_time",
- "working_stats",
- "battle_stats"
- ],
- "properties": {
- "attacks": {
- "$ref": "#/components/schemas/HofValue"
},
- "busts": {
- "$ref": "#/components/schemas/HofValue"
- },
- "defends": {
- "$ref": "#/components/schemas/HofValue"
- },
- "networth": {
- "$ref": "#/components/schemas/HofValue"
- },
- "offences": {
- "$ref": "#/components/schemas/HofValue"
- },
- "revives": {
- "$ref": "#/components/schemas/HofValue"
- },
- "level": {
- "$ref": "#/components/schemas/HofValue"
- },
- "rank": {
- "$ref": "#/components/schemas/HofValue"
- },
- "awards": {
- "$ref": "#/components/schemas/HofValue"
- },
- "racing_skill": {
- "$ref": "#/components/schemas/HofValue"
- },
- "racing_points": {
- "$ref": "#/components/schemas/HofValue"
- },
- "racing_wins": {
- "$ref": "#/components/schemas/HofValue"
- },
- "travel_time": {
- "$ref": "#/components/schemas/HofValue"
- },
- "working_stats": {
- "$ref": "#/components/schemas/HofValue"
- },
- "battle_stats": {
+ "accuracy": {
"oneOf": [
{
- "$ref": "#/components/schemas/HofValue"
+ "type": "number",
+ "format": "float"
},
{
"type": "null"
}
]
- }
- },
- "type": "object"
- },
- "UserHofResponse": {
- "required": [
- "hof"
- ],
- "properties": {
- "hof": {
- "$ref": "#/components/schemas/UserHofStats"
- }
- },
- "type": "object"
- },
- "UserCalendar": {
- "required": [
- "start_time"
- ],
- "properties": {
- "start_time": {
- "description": "Event start time displayed in TCT.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "UserCalendarResponse": {
- "required": [
- "calendar"
- ],
- "properties": {
- "calendar": {
- "$ref": "#/components/schemas/UserCalendar"
- }
- },
- "type": "object"
- },
- "UserBountiesResponse": {
- "required": [
- "bounties"
- ],
- "properties": {
- "bounties": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Bounty"
- }
- }
- },
- "type": "object"
- },
- "UserJobRanks": {
- "required": [
- "army",
- "grocer",
- "casino",
- "medical",
- "law",
- "education"
- ],
- "properties": {
- "army": {
- "$ref": "#/components/schemas/JobPositionArmyEnum"
},
- "grocer": {
- "$ref": "#/components/schemas/JobPositionGrocerEnum"
+ "armor": {
+ "oneOf": [
+ {
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "type": "null"
+ }
+ ]
},
- "casino": {
- "$ref": "#/components/schemas/JobPositionCasinoEnum"
- },
- "medical": {
- "$ref": "#/components/schemas/JobPositionMedicalEnum"
- },
- "law": {
- "$ref": "#/components/schemas/JobPositionLawEnum"
- },
- "education": {
- "$ref": "#/components/schemas/JobPositionEducationEnum"
+ "quality": {
+ "type": "number",
+ "format": "float"
}
},
"type": "object"
},
- "UserJobRanksResponse": {
- "required": [
- "jobranks"
- ],
- "properties": {
- "jobranks": {
- "$ref": "#/components/schemas/UserJobRanks"
- }
- },
- "type": "object"
- },
- "UserItemMarkeListingItemDetails": {
+ "ItemMarketItem": {
"required": [
"id",
"name",
"type",
- "rarity",
- "uid",
- "stats",
- "bonuses"
+ "average_price"
],
"properties": {
"id": {
- "type": "integer",
- "format": "int64"
+ "$ref": "#/components/schemas/ItemId"
},
"name": {
"type": "string"
@@ -21016,6 +19285,50 @@
"type": {
"type": "string"
},
+ "average_price": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "type": "object"
+ },
+ "ItemMarketListingStackable": {
+ "required": [
+ "price",
+ "amount"
+ ],
+ "properties": {
+ "price": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "amount": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "ItemMarketListingItemDetails": {
+ "required": [
+ "uid",
+ "stats",
+ "bonuses",
+ "rarity"
+ ],
+ "properties": {
+ "uid": {
+ "$ref": "#/components/schemas/ItemUid"
+ },
+ "stats": {
+ "$ref": "#/components/schemas/ItemMarketListingItemStats"
+ },
+ "bonuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ItemMarketListingItemBonus"
+ }
+ },
"rarity": {
"oneOf": [
{
@@ -21030,88 +19343,64 @@
"type": "null"
}
]
- },
- "uid": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ItemUid"
- },
- {
- "type": "null"
- }
- ]
- },
- "stats": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/ItemMarketListingItemStats"
- },
- {
- "type": "null"
- }
- ]
- },
- "bonuses": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ItemMarketListingItemBonus"
- }
}
},
"type": "object"
},
- "UserItemMarketListing": {
+ "ItemMarketListingNonstackable": {
"required": [
- "id",
"price",
- "average_price",
"amount",
- "is_anonymous",
- "available",
- "item"
+ "item_details"
],
"properties": {
- "id": {
- "type": "integer",
- "format": "int64"
- },
"price": {
"type": "integer",
"format": "int64"
},
- "average_price": {
- "type": "integer",
- "format": "int64"
- },
"amount": {
"type": "integer",
"format": "int32"
},
- "is_anonymous": {
- "type": "boolean"
- },
- "available": {
- "description": "Amount remaining in the inventory.",
- "type": "integer",
- "format": "int32"
- },
- "item": {
- "$ref": "#/components/schemas/UserItemMarkeListingItemDetails"
+ "item_details": {
+ "$ref": "#/components/schemas/ItemMarketListingItemDetails"
}
},
"type": "object"
},
- "UserItemMarketResponse": {
+ "ItemMarket": {
+ "required": [
+ "item",
+ "listings"
+ ],
+ "properties": {
+ "item": {
+ "$ref": "#/components/schemas/ItemMarketItem"
+ },
+ "listings": {
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ItemMarketListingNonstackable"
+ },
+ {
+ "$ref": "#/components/schemas/ItemMarketListingStackable"
+ }
+ ]
+ }
+ }
+ },
+ "type": "object"
+ },
+ "MarketItemMarketResponse": {
"required": [
"itemmarket",
"_metadata"
],
"properties": {
"itemmarket": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserItemMarketListing"
- }
+ "$ref": "#/components/schemas/ItemMarket"
},
"_metadata": {
"$ref": "#/components/schemas/RequestMetadataWithLinks"
@@ -21119,183 +19408,18 @@
},
"type": "object"
},
- "UserFactionBalance": {
- "required": [
- "money",
- "points"
- ],
- "properties": {
- "money": {
- "type": "integer",
- "format": "int64"
- },
- "points": {
- "type": "integer",
- "format": "int64"
- }
- },
- "type": "object"
- },
- "UserFactionBalanceResponse": {
- "required": [
- "factionBalance"
- ],
- "properties": {
- "factionBalance": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/UserFactionBalance"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "UserOrganizedCrimeResponse": {
- "required": [
- "organizedCrime"
- ],
- "properties": {
- "organizedCrime": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionCrime"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "UserList": {
- "required": [
- "id",
- "name",
- "level",
- "faction_id",
- "last_action",
- "status"
- ],
- "properties": {
- "id": {
- "$ref": "#/components/schemas/UserId"
- },
- "name": {
- "type": "string"
- },
- "level": {
- "type": "integer",
- "format": "int32"
- },
- "faction_id": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/FactionId"
- },
- {
- "type": "null"
- }
- ]
- },
- "last_action": {
- "$ref": "#/components/schemas/UserLastAction"
- },
- "status": {
- "$ref": "#/components/schemas/UserStatus"
- }
- },
- "type": "object"
- },
- "UserListResponse": {
- "required": [
- "list",
- "_metadata"
- ],
- "properties": {
- "list": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/UserList"
- }
- },
- "_metadata": {
- "$ref": "#/components/schemas/RequestMetadataWithLinks"
- }
- },
- "type": "object"
- },
- "UserSelectionName": {
- "description": "The following selections will fallback to API v1 and may change at any time: 'ammo','bars','basic','battlestats','bazaar','cooldowns','criminalrecord','discord','display','education','equipment','events','gym','honors','icons','inventory','jobpoints','log','medals','merits','messages','missions','money','networth','newevents','newmessages','notifications','perks','profile','properties','refills','reports','skills','stocks','travel','weaponexp','workstats'.",
+ "MarketSelectionName": {
+ "description": "The following selections will fallback to API v1 and may change at any time: 'pointsmarket'.",
"type": "string",
"enum": [
- "attacks",
- "attacksfull",
- "bounties",
- "calendar",
- "crimes",
- "enlistedcars",
- "factionbalance",
- "forumfeed",
- "forumfriends",
- "forumposts",
- "forumsubscribedthreads",
- "forumthreads",
- "hof",
"itemmarket",
- "jobranks",
- "list",
"lookup",
- "organizedcrime",
- "personalstats",
- "races",
- "revives",
- "revivesfull",
"timestamp",
- "ammo",
- "bars",
- "basic",
- "battlestats",
- "bazaar",
- "cooldowns",
- "criminalrecord",
- "discord",
- "display",
- "education",
- "equipment",
- "events",
- "gym",
- "honors",
- "icons",
- "inventory",
- "jobpoints",
- "log",
- "medals",
- "merits",
- "messages",
- "missions",
- "money",
- "networth",
- "newevents",
- "newmessages",
- "notifications",
- "perks",
- "profile",
- "properties",
- "refills",
- "reports",
- "skills",
- "stocks",
- "travel",
- "weaponexp",
- "workstats"
+ "pointsmarket",
+ "bazaar"
]
},
- "UserLookupResponse": {
+ "MarketLookupResponse": {
"required": [
"selections"
],
@@ -21303,7 +19427,2024 @@
"selections": {
"type": "array",
"items": {
- "$ref": "#/components/schemas/UserSelectionName"
+ "$ref": "#/components/schemas/MarketSelectionName"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "RacingCarsResponse": {
+ "required": [
+ "cars"
+ ],
+ "properties": {
+ "cars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RaceCar"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "RaceCar": {
+ "required": [
+ "car_item_id",
+ "car_item_name",
+ "top_speed",
+ "acceleration",
+ "braking",
+ "dirt",
+ "handling",
+ "safety",
+ "tarmac",
+ "class"
+ ],
+ "properties": {
+ "car_item_id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "car_item_name": {
+ "type": "string"
+ },
+ "top_speed": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "acceleration": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "braking": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "dirt": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "handling": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "safety": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "tarmac": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "class": {
+ "$ref": "#/components/schemas/RaceClassEnum"
+ }
+ },
+ "type": "object"
+ },
+ "RacingTracksResponse": {
+ "required": [
+ "tracks"
+ ],
+ "properties": {
+ "tracks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RaceTrack"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "RaceTrack": {
+ "required": [
+ "id",
+ "title",
+ "description"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RaceTrackId"
+ },
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RacingCarUpgradesResponse": {
+ "required": [
+ "carupgrades"
+ ],
+ "properties": {
+ "carupgrades": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RaceCarUpgrade"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "RaceCarUpgrade": {
+ "required": [
+ "id",
+ "class_required",
+ "name",
+ "description",
+ "category",
+ "subcategory",
+ "effects",
+ "cost"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RaceCarUpgradeId"
+ },
+ "class_required": {
+ "$ref": "#/components/schemas/RaceClassEnum"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "category": {
+ "$ref": "#/components/schemas/RaceCarUpgradeCategory"
+ },
+ "subcategory": {
+ "$ref": "#/components/schemas/RaceCarUpgradeSubCategory"
+ },
+ "effects": {
+ "required": [
+ "top_speed",
+ "acceleration",
+ "braking",
+ "handling",
+ "safety",
+ "dirt",
+ "tarmac"
+ ],
+ "properties": {
+ "top_speed": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "acceleration": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "braking": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "handling": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "safety": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "dirt": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "tarmac": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "cost": {
+ "required": [
+ "points",
+ "cash"
+ ],
+ "properties": {
+ "points": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "cash": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RacingRacesResponse": {
+ "required": [
+ "races",
+ "_metadata"
+ ],
+ "properties": {
+ "races": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Race"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "Race": {
+ "required": [
+ "id",
+ "title",
+ "track_id",
+ "creator_id",
+ "status",
+ "laps",
+ "participants",
+ "schedule",
+ "requirements"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/RaceId"
+ },
+ "title": {
+ "type": "string"
+ },
+ "track_id": {
+ "$ref": "#/components/schemas/RaceTrackId"
+ },
+ "creator_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "status": {
+ "$ref": "#/components/schemas/RaceStatusEnum"
+ },
+ "laps": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "participants": {
+ "required": [
+ "minimum",
+ "maximum",
+ "current"
+ ],
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "maximum": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "current": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "schedule": {
+ "required": [
+ "join_from",
+ "join_until",
+ "start",
+ "end"
+ ],
+ "properties": {
+ "join_from": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "join_until": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "requirements": {
+ "required": [
+ "car_class",
+ "driver_class",
+ "car_item_id",
+ "requires_stock_car",
+ "requires_password",
+ "join_fee"
+ ],
+ "properties": {
+ "car_class": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RaceClassEnum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "driver_class": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/RaceClassEnum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "car_item_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "requires_stock_car": {
+ "type": "boolean"
+ },
+ "requires_password": {
+ "type": "boolean"
+ },
+ "join_fee": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "RacingTrackRecordsResponse": {
+ "required": [
+ "records"
+ ],
+ "properties": {
+ "records": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RaceRecord"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "RaceRecord": {
+ "required": [
+ "driver_id",
+ "driver_name",
+ "car_item_id",
+ "lap_time",
+ "car_item_name"
+ ],
+ "properties": {
+ "driver_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "driver_name": {
+ "type": "string"
+ },
+ "car_item_id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "lap_time": {
+ "type": "number",
+ "format": "float"
+ },
+ "car_item_name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "RacerDetails": {
+ "required": [
+ "driver_id",
+ "position",
+ "car_id",
+ "car_item_id",
+ "car_item_name",
+ "car_class",
+ "has_crashed",
+ "best_lap_time",
+ "race_time",
+ "time_ended"
+ ],
+ "properties": {
+ "driver_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "position": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "car_id": {
+ "$ref": "#/components/schemas/RaceCarId"
+ },
+ "car_item_id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "car_item_name": {
+ "type": "string"
+ },
+ "car_class": {
+ "$ref": "#/components/schemas/RaceClassEnum"
+ },
+ "has_crashed": {
+ "oneOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "best_lap_time": {
+ "oneOf": [
+ {
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "race_time": {
+ "oneOf": [
+ {
+ "type": "number",
+ "format": "float"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "time_ended": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RacingRaceDetailsResponse": {
+ "properties": {
+ "race": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/Race"
+ },
+ {
+ "required": [
+ "results"
+ ],
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RacerDetails"
+ }
+ }
+ },
+ "type": "object"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "RacingSelectionName": {
+ "type": "string",
+ "enum": [
+ "cars",
+ "carupgrades",
+ "lookup",
+ "race",
+ "races",
+ "records",
+ "timestamp",
+ "tracks"
+ ]
+ },
+ "RacingLookupResponse": {
+ "required": [
+ "selections"
+ ],
+ "properties": {
+ "selections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/RacingSelectionName"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornEducationRewards": {
+ "required": [
+ "working_stats",
+ "effect",
+ "honor"
+ ],
+ "properties": {
+ "working_stats": {
+ "required": [
+ "manual_labor",
+ "intelligence",
+ "endurance"
+ ],
+ "properties": {
+ "manual_labor": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "intelligence": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "endurance": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "effect": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "honor": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TornEducationPrerequisites": {
+ "required": [
+ "cost",
+ "courses"
+ ],
+ "properties": {
+ "cost": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "courses": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornEducationCourses": {
+ "required": [
+ "id",
+ "code",
+ "name",
+ "description",
+ "duration",
+ "rewards",
+ "prerequisites"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/EducationId"
+ },
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "duration": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rewards": {
+ "$ref": "#/components/schemas/TornEducationRewards"
+ },
+ "prerequisites": {
+ "$ref": "#/components/schemas/TornEducationPrerequisites"
+ }
+ },
+ "type": "object"
+ },
+ "TornEducation": {
+ "required": [
+ "id",
+ "name",
+ "courses"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {
+ "type": "string"
+ },
+ "courses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornEducationCourses"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornEducationResponse": {
+ "required": [
+ "education"
+ ],
+ "properties": {
+ "education": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornEducation"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornTerritoryCoordinates": {
+ "required": [
+ "x",
+ "y"
+ ],
+ "properties": {
+ "x": {
+ "type": "number",
+ "format": "float"
+ },
+ "y": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "type": "object"
+ },
+ "TornTerritory": {
+ "required": [
+ "id",
+ "sector",
+ "size",
+ "density",
+ "slots",
+ "respect",
+ "coordinates",
+ "neighbors"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ },
+ "sector": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "size": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "density": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "slots": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "respect": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "coordinates": {
+ "$ref": "#/components/schemas/TornTerritoryCoordinates"
+ },
+ "neighbors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/FactionTerritoryEnum"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornTerritoriesResponse": {
+ "required": [
+ "territory",
+ "_metadata"
+ ],
+ "properties": {
+ "territory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornTerritory"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "TornTerritoriesNoLinksReponse": {
+ "required": [
+ "territory"
+ ],
+ "properties": {
+ "territory": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornTerritory"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornSubcrimesResponse": {
+ "required": [
+ "subcrimes"
+ ],
+ "properties": {
+ "subcrimes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornSubcrime"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornSubcrime": {
+ "required": [
+ "id",
+ "name",
+ "nerve_cost"
+ ],
+ "properties": {
+ "id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nerve_cost": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "TornCrime": {
+ "required": [
+ "id",
+ "name",
+ "category_id",
+ "enhancer_id",
+ "enhancer_name",
+ "unique_outcomes_count",
+ "unique_outcomes_ids"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/TornCrimeId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "category_id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "category_name": {
+ "type": "string"
+ },
+ "enhancer_id": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "enhancer_name": {
+ "type": "string"
+ },
+ "unique_outcomes_count": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "unique_outcomes_ids": {
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "notes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornCrimesResponse": {
+ "required": [
+ "crimes"
+ ],
+ "properties": {
+ "crimes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornCrime"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornCalendarActivity": {
+ "required": [
+ "title",
+ "description",
+ "start",
+ "end"
+ ],
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "start": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "end": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "TornCalendarResponse": {
+ "required": [
+ "calendar"
+ ],
+ "properties": {
+ "calendar": {
+ "required": [
+ "competitions",
+ "events"
+ ],
+ "properties": {
+ "competitions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornCalendarActivity"
+ }
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornCalendarActivity"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "TornHof": {
+ "required": [
+ "id",
+ "username",
+ "faction_id",
+ "level",
+ "last_action",
+ "rank_name",
+ "rank_number",
+ "position",
+ "signed_up",
+ "age_in_days",
+ "value",
+ "rank"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "username": {
+ "type": "string"
+ },
+ "faction_id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "last_action": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rank_name": {
+ "type": "string"
+ },
+ "rank_number": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "position": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "signed_up": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "age_in_days": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "value": {
+ "description": "Value representing the chosen category. Traveltime is shown in seconds. If the chosen category is 'rank', the value is of type string. If the chosen category is 'racingskill', the value is of type float. Otherwise it is an integer."
+ },
+ "rank": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TornHofResponse": {
+ "required": [
+ "hof",
+ "_metadata"
+ ],
+ "properties": {
+ "hof": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornHof"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "FactionHofValues": {
+ "required": [
+ "chain",
+ "chain_duration",
+ "respect"
+ ],
+ "properties": {
+ "chain": {
+ "description": "Maximum chain achieved by the faction. Null if chosen category is 'rank' or 'respect'.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "chain_duration": {
+ "description": "The duration of the chain. Null if chosen category is 'rank' or 'respect'.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "respect": {
+ "description": "Null if chosen category is 'chain'.",
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TornFactionHof": {
+ "required": [
+ "id",
+ "name",
+ "members",
+ "position",
+ "rank",
+ "values"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "members": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "position": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rank": {
+ "description": "The full rank title & division of the faction.",
+ "type": "string"
+ },
+ "values": {
+ "$ref": "#/components/schemas/FactionHofValues"
+ }
+ },
+ "type": "object"
+ },
+ "TornFactionHofResponse": {
+ "required": [
+ "factionhof",
+ "_metadata"
+ ],
+ "properties": {
+ "factionhof": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornFactionHof"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "TornLog": {
+ "required": [
+ "id",
+ "title"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/LogId"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TornLogCategory": {
+ "required": [
+ "id",
+ "title"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/LogCategoryId"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "TornLogTypesResponse": {
+ "required": [
+ "logtypes"
+ ],
+ "properties": {
+ "logtypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornLog"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornLogCategoriesResponse": {
+ "required": [
+ "logcategories"
+ ],
+ "properties": {
+ "logcategories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornLogCategory"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "Bounty": {
+ "required": [
+ "target_id",
+ "target_name",
+ "target_level",
+ "lister_id",
+ "lister_name",
+ "reward",
+ "reason",
+ "quantity",
+ "is_anonymous",
+ "valid_until"
+ ],
+ "properties": {
+ "target_id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "target_name": {
+ "type": "string"
+ },
+ "target_level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "lister_id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserId",
+ "description": "If the bounty is anonymous this field is null."
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "lister_name": {
+ "description": "If the bounty is anonymous this field is null.",
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "reward": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "reason": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "quantity": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "is_anonymous": {
+ "type": "boolean"
+ },
+ "valid_until": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "AttackLogSummary": {
+ "required": [
+ "id",
+ "name",
+ "hits",
+ "misses",
+ "damage"
+ ],
+ "properties": {
+ "id": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/UserId",
+ "description": "Id of the participant, could be null in stealthed attacks."
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "name": {
+ "oneOf": [
+ {
+ "description": "Name of the participant, could be null in stealthed attacks.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "hits": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "misses": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "damage": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "AttackLog": {
+ "required": [
+ "text",
+ "timestamp",
+ "action",
+ "icon",
+ "attacker",
+ "defender"
+ ],
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "timestamp": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "action": {
+ "$ref": "#/components/schemas/AttackActionEnum"
+ },
+ "icon": {
+ "type": "string"
+ },
+ "attacker": {
+ "oneOf": [
+ {
+ "description": "This value could be null in stealthed attacks.",
+ "required": [
+ "id",
+ "name",
+ "item"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "item": {
+ "oneOf": [
+ {
+ "description": "This object could be null if there was no item being used in this turn or during this effect.",
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "defender": {
+ "oneOf": [
+ {
+ "description": "This value could be null in stealthed attacks.",
+ "required": [
+ "id",
+ "name"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/UserId"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "AttackLogResponse": {
+ "required": [
+ "attacklog",
+ "_metadata"
+ ],
+ "properties": {
+ "attacklog": {
+ "required": [
+ "log",
+ "summary"
+ ],
+ "properties": {
+ "log": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AttackLog"
+ }
+ },
+ "summary": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/AttackLogSummary"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "TornBountiesResponse": {
+ "required": [
+ "bounties",
+ "_metadata"
+ ],
+ "properties": {
+ "bounties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Bounty"
+ }
+ },
+ "_metadata": {
+ "$ref": "#/components/schemas/RequestMetadataWithLinks"
+ }
+ },
+ "type": "object"
+ },
+ "TornItemAmmo": {
+ "required": [
+ "id",
+ "name",
+ "price",
+ "types"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/AmmoId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "price": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "types": {
+ "description": "Types of ammo",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItemAmmoTypeEnum"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornItemAmmoResponse": {
+ "required": [
+ "itemammo"
+ ],
+ "properties": {
+ "itemammo": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItemAmmo"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornItemMods": {
+ "required": [
+ "id",
+ "name",
+ "description",
+ "dual_fit",
+ "weapons"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemModId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "dual_fit": {
+ "description": "Whether the upgrade fits on dual weapons.",
+ "type": "boolean"
+ },
+ "weapons": {
+ "description": "The weapon types this upgrade can be attached to.",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItemWeaponTypeEnum"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornItemModsResponse": {
+ "required": [
+ "itemmods"
+ ],
+ "properties": {
+ "itemmods": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItemMods"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornItemBaseStats": {
+ "required": [
+ "damage",
+ "accuracy",
+ "armor"
+ ],
+ "properties": {
+ "damage": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "accuracy": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "armor": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ },
+ "TornItemWeaponDetails": {
+ "required": [
+ "stealth_level",
+ "base_stats",
+ "category",
+ "ammo",
+ "mods"
+ ],
+ "properties": {
+ "stealth_level": {
+ "type": "number",
+ "format": "float"
+ },
+ "base_stats": {
+ "$ref": "#/components/schemas/TornItemBaseStats"
+ },
+ "category": {
+ "$ref": "#/components/schemas/TornItemWeaponCategoryEnum"
+ },
+ "ammo": {
+ "oneOf": [
+ {
+ "required": [
+ "id",
+ "name",
+ "magazine_rounds",
+ "rate_of_fire"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/AmmoId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "magazine_rounds": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "rate_of_fire": {
+ "required": [
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "maximum": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "mods": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/ItemModId"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornItemArmorCoverage": {
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "$ref": "#/components/schemas/TornItemArmorCoveragePartEnum"
+ },
+ "value": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "type": "object"
+ },
+ "TornItemArmorDetails": {
+ "required": [
+ "coverage",
+ "base_stats"
+ ],
+ "properties": {
+ "coverage": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItemArmorCoverage"
+ }
+ },
+ "base_stats": {
+ "$ref": "#/components/schemas/TornItemBaseStats"
+ }
+ },
+ "type": "object"
+ },
+ "TornItem": {
+ "required": [
+ "id",
+ "name",
+ "description",
+ "effect",
+ "requirement",
+ "image",
+ "type",
+ "sub_type",
+ "is_masked",
+ "is_tradable",
+ "is_found_in_city",
+ "value",
+ "circulation",
+ "details"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/ItemId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "effect": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "requirement": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "image": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/components/schemas/TornItemTypeEnum"
+ },
+ "sub_type": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/TornItemWeaponTypeEnum"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "is_masked": {
+ "type": "boolean"
+ },
+ "is_tradable": {
+ "type": "boolean"
+ },
+ "is_found_in_city": {
+ "type": "boolean"
+ },
+ "value": {
+ "required": [
+ "vendor",
+ "buy_price",
+ "sell_price",
+ "market_price"
+ ],
+ "properties": {
+ "vendor": {
+ "oneOf": [
+ {
+ "required": [
+ "country",
+ "name"
+ ],
+ "properties": {
+ "country": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "buy_price": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "sell_price": {
+ "oneOf": [
+ {
+ "type": "integer",
+ "format": "int64"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "market_price": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "type": "object"
+ },
+ "circulation": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "details": {
+ "description": "If the item 'type' is 'Armor' then TornItemArmorDetails is returned.
If the item 'type' is 'Weapon' then TornItemWeaponDetails is returned.
Otherwise, null is returned.",
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/TornItemWeaponDetails"
+ },
+ {
+ "$ref": "#/components/schemas/TornItemArmorDetails"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "TornItemsResponse": {
+ "required": [
+ "items"
+ ],
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornItem"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornFactionTreeBranch": {
+ "required": [
+ "id",
+ "name",
+ "upgrades"
+ ],
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/FactionBranchId"
+ },
+ "name": {
+ "type": "string"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "required": [
+ "name",
+ "level",
+ "ability",
+ "challenge",
+ "cost"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "level": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "ability": {
+ "type": "string"
+ },
+ "cost": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "challenge": {
+ "oneOf": [
+ {
+ "required": [
+ "description",
+ "amount_required",
+ "stat"
+ ],
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "amount_required": {
+ "type": "integer",
+ "format": "int64"
+ },
+ "stat": {
+ "$ref": "#/components/schemas/FactionStatEnum"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornFactionTree": {
+ "required": [
+ "name",
+ "branches"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "branches": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornFactionTreeBranch"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornFactionTreeResponse": {
+ "required": [
+ "factionTree"
+ ],
+ "properties": {
+ "factionTree": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornFactionTree"
+ }
+ }
+ },
+ "type": "object"
+ },
+ "TornSelectionName": {
+ "description": "The following selections will fallback to API v1 and may change at any time: 'bank','cards','cityshops','companies','competition','dirtybombs','gyms','honors','itemdetails','itemstats','medals','organisedcrimes','pawnshop','pokertables','properties','raidreport','raids','rockpaperscissors','searchforcash','shoplifting','stats','stocks'.\n * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.",
+ "type": "string",
+ "enum": [
+ "attacklog",
+ "bounties",
+ "calendar",
+ "crimes",
+ "education",
+ "factionhof",
+ "factiontree",
+ "hof",
+ "itemammo",
+ "itemmods",
+ "items",
+ "logcategories",
+ "logtypes",
+ "lookup",
+ "subcrimes",
+ "territory",
+ "timestamp",
+ "bank",
+ "cards",
+ "cityshops",
+ "companies",
+ "competition",
+ "dirtybombs",
+ "gyms",
+ "honors",
+ "itemdetails",
+ "itemstats",
+ "medals",
+ "organisedcrimes",
+ "pawnshop",
+ "pokertables",
+ "properties",
+ "raidreport",
+ "raids",
+ "rockpaperscissors",
+ "searchforcash",
+ "shoplifting",
+ "stats",
+ "stocks",
+ "chainreport",
+ "rackets",
+ "rankedwarreport",
+ "rankedwars",
+ "territorynames",
+ "territorywarreport",
+ "territorywars"
+ ]
+ },
+ "TornLookupResponse": {
+ "required": [
+ "selections"
+ ],
+ "properties": {
+ "selections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/TornSelectionName"
}
}
},
diff --git a/torn-api-codegen/src/model/enum.rs b/torn-api-codegen/src/model/enum.rs
index 382c1f1..23cd52d 100644
--- a/torn-api-codegen/src/model/enum.rs
+++ b/torn-api-codegen/src/model/enum.rs
@@ -317,23 +317,3 @@ impl Enum {
})
}
}
-
-#[cfg(test)]
-mod test {
- use crate::openapi::schema::OpenApiSchema;
-
- use super::*;
-
- #[test]
- fn codegen() {
- let schema = OpenApiSchema::read().unwrap();
-
- let revive_setting = schema.components.schemas.get("ReviveSetting").unwrap();
-
- let r#enum = Enum::from_schema("ReviveSetting", revive_setting).unwrap();
-
- let code = r#enum.codegen().unwrap();
-
- panic!("{code}");
- }
-}
diff --git a/torn-api-codegen/src/model/mod.rs b/torn-api-codegen/src/model/mod.rs
index ed0ae5f..e230952 100644
--- a/torn-api-codegen/src/model/mod.rs
+++ b/torn-api-codegen/src/model/mod.rs
@@ -1,8 +1,8 @@
-use r#enum::Enum;
use indexmap::IndexMap;
use newtype::Newtype;
use object::Object;
use proc_macro2::TokenStream;
+use r#enum::Enum;
use crate::openapi::r#type::OpenApiType;
@@ -101,65 +101,6 @@ mod test {
);
}
- #[test]
- fn resolve_enums() {
- let schema = OpenApiSchema::read().unwrap();
-
- let forum_feed_type_schema = schema.components.schemas.get("ForumFeedTypeEnum").unwrap();
-
- let forum_feed_type = resolve(
- forum_feed_type_schema,
- "ForumFeedTypeEnum",
- &schema.components.schemas,
- );
-
- assert_eq!(forum_feed_type, Model::Enum(Enum {
- name: "ForumFeedType".to_owned(),
- description: Some("This represents the type of the activity. Values range from 1 to 8 where:\n * 1 = 'X posted on a thread',\n * 2 = 'X created a thread',\n * 3 = 'X liked your thread',\n * 4 = 'X disliked your thread',\n * 5 = 'X liked your post',\n * 6 = 'X disliked your post',\n * 7 = 'X quoted your post'.".to_owned()),
- repr: Some(EnumRepr::U32),
- copy: true,
- untagged: false,
- display: true,
- variants: vec![
- EnumVariant {
- name: "Variant1".to_owned(),
- value: r#enum::EnumVariantValue::Repr(1),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant2".to_owned(),
- value: r#enum::EnumVariantValue::Repr(2),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant3".to_owned(),
- value: r#enum::EnumVariantValue::Repr(3),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant4".to_owned(),
- value: r#enum::EnumVariantValue::Repr(4),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant5".to_owned(),
- value: r#enum::EnumVariantValue::Repr(5),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant6".to_owned(),
- value: r#enum::EnumVariantValue::Repr(6),
- ..Default::default()
- },
- EnumVariant {
- name: "Variant7".to_owned(),
- value: r#enum::EnumVariantValue::Repr(7),
- ..Default::default()
- },
- ]
- }))
- }
-
#[test]
fn resolve_all() {
let schema = OpenApiSchema::read().unwrap();
diff --git a/torn-api-codegen/src/model/newtype.rs b/torn-api-codegen/src/model/newtype.rs
index 372c637..d04dcfe 100644
--- a/torn-api-codegen/src/model/newtype.rs
+++ b/torn-api-codegen/src/model/newtype.rs
@@ -121,24 +121,3 @@ impl Newtype {
Some(body)
}
}
-
-#[cfg(test)]
-mod test {
- use super::*;
- use crate::openapi::schema::OpenApiSchema;
-
- #[test]
- fn codegen() {
- let schema = OpenApiSchema::read().unwrap();
-
- let user_id = schema.components.schemas.get("UserId").unwrap();
-
- let mut newtype = Newtype::from_schema("UserId", user_id).unwrap();
-
- newtype.description = Some("Description goes here".to_owned());
-
- let code = newtype.codegen().unwrap().to_string();
-
- panic!("{code}");
- }
-}
diff --git a/torn-api-codegen/src/model/object.rs b/torn-api-codegen/src/model/object.rs
index 60829b9..c29dcbe 100644
--- a/torn-api-codegen/src/model/object.rs
+++ b/torn-api-codegen/src/model/object.rs
@@ -207,7 +207,9 @@ impl Property {
let prim = match (schema.r#type, schema.format) {
(Some("integer"), Some("int32")) => PrimitiveType::I32,
(Some("integer"), Some("int64")) => PrimitiveType::I64,
- (Some("number"), /* Some("float") */ _) => PrimitiveType::Float,
+ (Some("number"), /* Some("float") */ _) | (_, Some("float")) => {
+ PrimitiveType::Float
+ }
(Some("string"), None) => PrimitiveType::String,
(Some("boolean"), None) => PrimitiveType::Bool,
_ => return None,
diff --git a/torn-api-codegen/src/model/parameter.rs b/torn-api-codegen/src/model/parameter.rs
index dbe87fd..23daff1 100644
--- a/torn-api-codegen/src/model/parameter.rs
+++ b/torn-api-codegen/src/model/parameter.rs
@@ -2,7 +2,7 @@ use std::fmt::Write;
use heck::ToUpperCamelCase;
use proc_macro2::TokenStream;
-use quote::{ToTokens, format_ident, quote};
+use quote::{format_ident, quote, ToTokens};
use crate::openapi::parameter::{
OpenApiParameter, OpenApiParameterDefault, OpenApiParameterSchema,
@@ -303,7 +303,12 @@ The default value [Self::{}](self::{}#variant.{})"#,
let mut code = inner.codegen().unwrap_or_default();
let name = format_ident!("{}", outer_name);
- let inner_ty = items.codegen_type_name(&inner_name);
+ let inner_ty = if matches!(items.as_ref(), ParameterType::Schema { type_name: _ }) {
+ let inner_name = format_ident!("{}", inner_name);
+ quote! { crate::models::#inner_name }
+ } else {
+ items.codegen_type_name(&inner_name).to_token_stream()
+ };
code.extend(quote! {
#[derive(Debug, Clone)]
diff --git a/torn-api-codegen/src/model/path.rs b/torn-api-codegen/src/model/path.rs
index a1bfb4f..04973de 100644
--- a/torn-api-codegen/src/model/path.rs
+++ b/torn-api-codegen/src/model/path.rs
@@ -352,7 +352,13 @@ impl Path {
crate::models::#ty_name
}
}
- ParameterType::Array { .. } => param.r#type.codegen_type_name(¶m.name),
+ ParameterType::Array { .. } => {
+ let ty_name = param.r#type.codegen_type_name(¶m.name);
+
+ quote! {
+ crate::request::models::#request_mod_name::#ty_name
+ }
+ }
};
let arg_name = format_ident!("{}", param.value.to_snake_case());
@@ -462,7 +468,12 @@ impl Path {
crate::models::#ty_name
}
}
- ParameterType::Array { .. } => param.r#type.codegen_type_name(¶m.name),
+ ParameterType::Array { .. } => {
+ let name = param.r#type.codegen_type_name(¶m.name);
+ quote! {
+ crate::request::models::#request_mod_name::#name
+ }
+ }
};
let arg_name = format_ident!("{}", param.value.to_snake_case());
diff --git a/torn-api/src/scopes.rs b/torn-api/src/scopes.rs
index 98415c1..9910897 100644
--- a/torn-api/src/scopes.rs
+++ b/torn-api/src/scopes.rs
@@ -415,7 +415,7 @@ pub(super) mod test {
let forum_scope = ForumScope(&client);
forum_scope
- .threads_for_category_ids("2".to_owned(), |b| b)
+ .threads_for_category_ids([2.into()].into(), |b| b)
.await
.unwrap();
}
@@ -640,7 +640,7 @@ pub(super) mod test {
let torn_scope = TornScope(&client);
torn_scope
- .items_for_ids("1".to_owned(), |b| b)
+ .items_for_ids([1.into()].into(), |b| b)
.await
.unwrap();
}