tornapi-typescript 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +2277 -2278
  2. package/dist/openapi.json +7891 -7778
  3. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -4556,6 +4556,11 @@ export interface RequestMetadataWithLinks {
4556
4556
  links: RequestLinks;
4557
4557
  }
4558
4558
 
4559
+ export interface RequestMetadataWithLinksAndTotal {
4560
+ links: RequestLinks;
4561
+ total?: number;
4562
+ }
4563
+
4559
4564
  /**
4560
4565
  * This represents the type of the activity. Values range from 1 to 8 where:
4561
4566
  * * 1 = 'X posted on a thread',
@@ -4833,2761 +4838,2755 @@ export interface TimestampResponse {
4833
4838
  timestamp: number;
4834
4839
  }
4835
4840
 
4836
- export interface FactionTerritoryWarFinishedFaction {
4837
- id: FactionId;
4838
- name: string;
4839
- score: number;
4840
- is_aggressor: boolean;
4841
+ export interface UserCurrentEducation {
4842
+ id: EducationId;
4843
+ until: number;
4841
4844
  }
4842
4845
 
4843
- export interface FactionTerritoryWarFinished {
4844
- id: TerritoryWarId;
4845
- territory: FactionTerritoryEnum;
4846
- start: number;
4847
- end: number;
4848
- target: number;
4849
- result: FactionTerritoryWarResultEnum;
4850
- factions: FactionTerritoryWarFinishedFaction[];
4846
+ export interface UserEducation {
4847
+ complete: EducationId[];
4848
+ current: UserCurrentEducation | null;
4851
4849
  }
4852
4850
 
4853
- export interface FactionTerritoryWarOngoingFaction {
4854
- id: FactionId;
4855
- name: string;
4856
- score: number;
4857
- is_aggressor: boolean;
4858
- chain: number;
4859
- playerIds: UserId[];
4851
+ export interface UserEducationResponse {
4852
+ education: UserEducation;
4860
4853
  }
4861
4854
 
4862
- export interface FactionTerritoryWarOngoing {
4863
- id: TerritoryWarId;
4864
- territory: FactionTerritoryEnum;
4865
- start: number;
4866
- end: number;
4867
- target: number;
4868
- factions: FactionTerritoryWarOngoingFaction[];
4855
+ export interface UserCrimeDetailsBootlegging {
4856
+ /** Online store statistics. */
4857
+ online_store: {
4858
+ earnings: number;
4859
+ visits: number;
4860
+ customers: number;
4861
+ sales: number;
4862
+ };
4863
+ /** DVD sales statistics. */
4864
+ dvd_sales: {
4865
+ action: number;
4866
+ comedy: number;
4867
+ drama: number;
4868
+ fantasy: number;
4869
+ horror: number;
4870
+ romance: number;
4871
+ thriller: number;
4872
+ /** This is replaced with 'sci_fi' field and will be removed on 1st June 2025. */
4873
+ "sci-fi"?: number;
4874
+ sci_fi: number;
4875
+ total: number;
4876
+ earnings: number;
4877
+ };
4878
+ dvds_copied?: number;
4869
4879
  }
4870
4880
 
4871
- export interface FactionTerritoryWarsResponse {
4872
- territorywars: FactionTerritoryWarOngoing[] | FactionTerritoryWarFinished[];
4881
+ export interface UserCrimeDetailsGraffiti {
4882
+ cans_used: number;
4883
+ most_graffiti_in_one_area: number;
4884
+ most_graffiti_simultaneously: number;
4885
+ graffiti_removed: number;
4886
+ cost_to_city: number;
4873
4887
  }
4874
4888
 
4875
- export interface FactionTerritoryWarsHistoryResponse {
4876
- territorywars: FactionTerritoryWarFinished[];
4889
+ export interface UserCrimeDetailsShoplifting {
4890
+ average_notoriety: number;
4877
4891
  }
4878
4892
 
4879
- export interface FactionTerritoryWarReportMembers {
4880
- id: UserId;
4881
- username: string;
4882
- level: number;
4883
- score: number;
4884
- joins: number;
4885
- clears: number;
4893
+ export interface UserCrimeDetailsCardSkimming {
4894
+ card_details: {
4895
+ recoverable: number;
4896
+ recovered: number;
4897
+ sold: number;
4898
+ lost: number;
4899
+ areas: {
4900
+ id: number;
4901
+ amount: number;
4902
+ }[];
4903
+ };
4904
+ skimmers: {
4905
+ active: number;
4906
+ most_lucrative: number;
4907
+ oldest_recovered: number;
4908
+ lost: number;
4909
+ };
4886
4910
  }
4887
4911
 
4888
- export interface FactionTerritoryWarReportFaction {
4889
- id: FactionId;
4890
- name: string;
4891
- score: number;
4892
- joins: number;
4893
- clears: number;
4894
- is_aggressor: boolean;
4895
- members: FactionTerritoryWarReportMembers[];
4912
+ export interface UserCrimeDetailsHustling {
4913
+ total_audience_gathered: number;
4914
+ biggest_money_won: number;
4915
+ shill_money_collected: number;
4916
+ pickpocket_money_collected: number;
4896
4917
  }
4897
4918
 
4898
- export interface FactionTerritoryWarReport {
4899
- id: TerritoryWarId;
4900
- territory: FactionTerritoryEnum;
4901
- started_at: number;
4902
- ended_at: number;
4903
- winner: FactionId;
4904
- result: string;
4905
- factions: FactionTerritoryWarReportFaction[];
4919
+ export interface UserCrimeDetailsCracking {
4920
+ brute_force_cycles: number;
4921
+ encryption_layers_broken: number;
4922
+ highest_mips: number;
4923
+ chars_guessed: number;
4924
+ chars_guessed_total: number;
4906
4925
  }
4907
4926
 
4908
- export interface FactionTerritoryWarReportResponse {
4909
- territorywarreport: FactionTerritoryWarReport[];
4927
+ export interface UserCrimeDetailsScamming {
4928
+ most_responses: number;
4929
+ zones: {
4930
+ red: number;
4931
+ neutral: number;
4932
+ concern: number;
4933
+ sensitivity: number;
4934
+ temptation: number;
4935
+ hesitation: number;
4936
+ low_reward: number;
4937
+ medium_reward: number;
4938
+ high_reward: number;
4939
+ };
4940
+ concerns: {
4941
+ attempts: number;
4942
+ resolved: number;
4943
+ };
4944
+ payouts: {
4945
+ low: number;
4946
+ medium: number;
4947
+ high: number;
4948
+ };
4949
+ emails: {
4950
+ scraper: number;
4951
+ phisher: number;
4952
+ };
4910
4953
  }
4911
4954
 
4912
- export interface FactionTerritoryOwnership {
4913
- id: string;
4914
- owned_by: FactionId | null;
4915
- acquired_at: number | null;
4955
+ export interface UserSubcrime {
4956
+ id: number;
4957
+ total: number;
4958
+ success: number;
4959
+ fail: number;
4916
4960
  }
4917
4961
 
4918
- export interface FactionTerritoriesOwnershipResponse {
4919
- territoryownership: FactionTerritoryOwnership[];
4962
+ export interface UserCrimeRewardAmmo {
4963
+ standard: number;
4964
+ special: number;
4920
4965
  }
4921
4966
 
4922
- export interface TornRacketReward {
4923
- type: TornRacketType;
4924
- quantity: number;
4925
- id: ItemId | null;
4967
+ export interface UserCrimeRewardItem {
4968
+ id: number;
4969
+ amount: number;
4926
4970
  }
4927
4971
 
4928
- export interface TornRacket {
4929
- name: string;
4930
- level: number;
4931
- description: string;
4932
- reward: TornRacketReward;
4933
- created_at: number;
4934
- changed_at: number;
4972
+ export interface UserCrimeRewards {
4973
+ money: number;
4974
+ ammo: UserCrimeRewardAmmo;
4975
+ items: UserCrimeRewardItem[];
4935
4976
  }
4936
4977
 
4937
- export interface FactionRacketsReponse {
4938
- rackets: TornRacket[];
4978
+ export interface UserCrimeAttempts {
4979
+ total: number;
4980
+ success: number;
4981
+ fail: number;
4982
+ critical_fail: number;
4983
+ subcrimes: UserSubcrime[];
4939
4984
  }
4940
4985
 
4941
- export interface FactionTerritory {
4942
- id: FactionTerritoryEnum;
4943
- acquired_at: number;
4944
- sector: number;
4945
- size: number;
4946
- density: number;
4947
- slots: number;
4948
- respect: number;
4949
- coordinates: TornTerritoryCoordinates;
4950
- racket: TornRacket | null;
4986
+ export interface UserCrimeUniquesRewardMoney {
4987
+ min: number;
4988
+ max: number;
4951
4989
  }
4952
4990
 
4953
- export interface FactionTerritoriesReponse {
4954
- territory: FactionTerritory[];
4991
+ export interface UserCrimeUniquesRewardAmmo {
4992
+ amount: number;
4993
+ type: UserCrimeUniquesRewardAmmoEnum;
4955
4994
  }
4956
4995
 
4957
- export interface FactionPosition {
4958
- name: string;
4959
- is_default: boolean;
4960
- abilities: FactionPositionAbilityEnum[];
4996
+ export interface UserCrimeUniquesReward {
4997
+ items: UserCrimeRewardItem[];
4998
+ money: UserCrimeUniquesRewardMoney | null;
4999
+ ammo: UserCrimeUniquesRewardAmmo | null;
4961
5000
  }
4962
5001
 
4963
- export interface FactionPositionsResponse {
4964
- positions: FactionPosition[];
5002
+ export interface UserCrimeUniques {
5003
+ /** Unique result id. */
5004
+ id: number;
5005
+ rewards: UserCrimeUniquesReward;
4965
5006
  }
4966
5007
 
4967
- export interface FactionUpgradeDetails {
4968
- id: FactionBranchId;
4969
- name: string;
4970
- ability: string;
4971
- level: number;
4972
- cost: number;
4973
- unlocked_at?: number;
5008
+ export interface UserCrimesResponse {
5009
+ crimes: UserCrime;
4974
5010
  }
4975
5011
 
4976
- export interface FactionBranchDetails {
4977
- name: string;
4978
- order: number;
4979
- /** Respect cost multiplier. */
4980
- multiplier: number;
4981
- upgrades: FactionUpgradeDetails[];
5012
+ export interface UserCrime {
5013
+ nerve_spent: number;
5014
+ skill: number;
5015
+ progression_bonus: number;
5016
+ rewards: UserCrimeRewards;
5017
+ attempts: UserCrimeAttempts;
5018
+ uniques: UserCrimeUniques[];
5019
+ miscellaneous:
5020
+ | UserCrimeDetailsBootlegging
5021
+ | UserCrimeDetailsGraffiti
5022
+ | UserCrimeDetailsShoplifting
5023
+ | UserCrimeDetailsCardSkimming
5024
+ | UserCrimeDetailsHustling
5025
+ | UserCrimeDetailsCracking
5026
+ | UserCrimeDetailsScamming
5027
+ | null;
4982
5028
  }
4983
5029
 
4984
- export interface FactionUpgrades {
4985
- core: {
4986
- upgrades?: FactionUpgradeDetails[];
4987
- };
4988
- peace: FactionBranchDetails[];
4989
- war: FactionBranchDetails[];
4990
- }
4991
-
4992
- export interface FactionUpgradesResponse {
4993
- upgrades: FactionUpgrades;
4994
- state: FactionBranchStateEnum;
5030
+ export interface UserRacesResponse {
5031
+ races: RacingRaceDetailsResponse[];
5032
+ _metadata: RequestMetadataWithLinks;
4995
5033
  }
4996
5034
 
4997
- export interface FactionStat {
4998
- name: FactionStatEnum;
4999
- value: number;
5035
+ export interface UserRaceCarDetails extends RaceCar {
5036
+ id: RaceCarId;
5037
+ name: string | null;
5038
+ worth: number;
5039
+ points_spent: number;
5040
+ races_entered: number;
5041
+ races_won: number;
5042
+ is_removed: boolean;
5043
+ parts: RaceCarUpgradeId[];
5000
5044
  }
5001
5045
 
5002
- export interface FactionStatsResponse {
5003
- stats: FactionStat[];
5046
+ export interface UserEnlistedCarsResponse {
5047
+ enlistedcars: UserRaceCarDetails[];
5004
5048
  }
5005
5049
 
5006
- export interface FactionContributor {
5007
- id: UserId;
5008
- username: string;
5009
- value: number;
5010
- in_faction: boolean;
5050
+ export interface UserForumPostsResponse {
5051
+ forumPosts: ForumPost[];
5052
+ _metadata: RequestMetadataWithLinks;
5011
5053
  }
5012
5054
 
5013
- export interface FactionContributorsResponse {
5014
- contributors: FactionContributor[];
5055
+ export interface UserForumThreadsResponse {
5056
+ forumThreads: ForumThreadUserExtended[];
5057
+ _metadata: RequestMetadataWithLinks;
5015
5058
  }
5016
5059
 
5017
- export interface FactionHofStats {
5018
- rank: HofValueString;
5019
- respect: HofValue;
5020
- chain: HofValue;
5060
+ export interface UserForumSubscribedThreadsResponse {
5061
+ forumSubscribedThreads?: ForumSubscribedThread[];
5021
5062
  }
5022
5063
 
5023
- export interface FactionHofResponse {
5024
- hof: FactionHofStats;
5064
+ export interface UserForumFeedResponse {
5065
+ forumFeed: ForumFeed[];
5025
5066
  }
5026
5067
 
5027
- /** Details about a faction member. */
5028
- export interface FactionMember {
5029
- id: UserId;
5030
- name: string;
5031
- position: string;
5032
- level: number;
5033
- days_in_faction: number;
5034
- is_revivable: boolean;
5035
- /** Shows if the member is currently defending territory wall. */
5036
- is_on_wall: boolean;
5037
- /** Shows if the member is currently participating in an organized crime. Show false for members of other factions. */
5038
- is_in_oc: boolean;
5039
- /** Shows if the member is eligible for an early discharge from the hospital. */
5040
- has_early_discharge: boolean;
5041
- last_action: UserLastAction;
5042
- status: UserStatus;
5043
- life?: UserLife;
5044
- revive_setting: ReviveSetting;
5068
+ export interface UserForumFriendsResponse {
5069
+ forumFriends: ForumFeed[];
5045
5070
  }
5046
5071
 
5047
- /** Details about a user's last action. */
5048
- export interface UserLastAction {
5049
- status: string;
5050
- timestamp: number;
5051
- relative: string;
5072
+ export interface HofValue {
5073
+ value: number;
5074
+ rank: number;
5052
5075
  }
5053
5076
 
5054
- /** Unfortunately, current life value is often shown incorrectly, and the calculation for each member is very resource heavy, so this field is deprecated and will be removed on 1st of May, 2025. */
5055
- export interface UserLife {
5056
- current?: number;
5057
- maximum?: number;
5077
+ export interface HofValueFloat {
5078
+ value: number;
5079
+ rank: number;
5058
5080
  }
5059
5081
 
5060
- /** Details about a user's status. */
5061
- export interface UserStatus {
5062
- description: string;
5063
- details: string | null;
5064
- state: string;
5065
- until: number | null;
5082
+ export interface HofValueString {
5083
+ value: string;
5084
+ rank: number | null;
5066
5085
  }
5067
5086
 
5068
- export interface FactionMembersResponse {
5069
- members: FactionMember[];
5087
+ export interface UserHofStats {
5088
+ attacks: HofValue;
5089
+ busts: HofValue;
5090
+ defends: HofValue;
5091
+ networth: HofValue;
5092
+ offences: HofValue;
5093
+ revives: HofValue;
5094
+ level: HofValue;
5095
+ rank: HofValue;
5096
+ awards: HofValue;
5097
+ racing_skill: HofValueFloat;
5098
+ racing_points: HofValue;
5099
+ racing_wins: HofValue;
5100
+ travel_time: HofValue;
5101
+ working_stats: HofValue;
5102
+ battle_stats: HofValue | null;
5070
5103
  }
5071
5104
 
5072
- export interface FactionRank {
5073
- level: number;
5074
- name: string;
5075
- division: number;
5076
- position: number;
5077
- wins: number;
5105
+ export interface UserHofResponse {
5106
+ hof: UserHofStats;
5078
5107
  }
5079
5108
 
5080
- export interface FactionBasic {
5081
- id: FactionId;
5082
- name: string;
5083
- tag: string;
5084
- tag_image: string;
5085
- leader_id: UserId;
5086
- "co-leader_id"?: UserId;
5087
- co_leader_id: UserId;
5088
- respect: number;
5089
- days_old: number;
5090
- capacity: number;
5091
- members: number;
5092
- is_enlisted: boolean | null;
5093
- rank: FactionRank;
5094
- best_chain: number;
5109
+ export interface UserCalendar {
5110
+ /** Event start time displayed in TCT. */
5111
+ start_time: string;
5095
5112
  }
5096
5113
 
5097
- export interface FactionBasicResponse {
5098
- basic: FactionBasic;
5114
+ export interface UserCalendarResponse {
5115
+ calendar: UserCalendar;
5099
5116
  }
5100
5117
 
5101
- export interface FactionPact {
5102
- faction_id: FactionId;
5103
- faction_name: string;
5104
- /** The duration until when is the non-aggression pact valid. */
5105
- until: string;
5118
+ export interface UserBountiesResponse {
5119
+ bounties: Bounty[];
5106
5120
  }
5107
5121
 
5108
- export interface FactionRankedWarParticipant {
5109
- id: FactionId;
5110
- name: string;
5111
- score: number;
5112
- /** Faction's current chain. */
5113
- chain: number;
5122
+ export interface UserJobRanks {
5123
+ army: JobPositionArmyEnum;
5124
+ grocer: JobPositionGrocerEnum;
5125
+ casino: JobPositionCasinoEnum;
5126
+ medical: JobPositionMedicalEnum;
5127
+ law: JobPositionLawEnum;
5128
+ education: JobPositionEducationEnum;
5114
5129
  }
5115
5130
 
5116
- export interface FactionRankedWar {
5117
- war_id: number;
5118
- start: number;
5119
- end: number | null;
5120
- /** The score target of the war. */
5121
- target: number;
5122
- winner: number | null;
5123
- /** The factions involved in the ranked war. */
5124
- factions: FactionRankedWarParticipant[];
5131
+ export interface UserJobRanksResponse {
5132
+ jobranks: UserJobRanks;
5125
5133
  }
5126
5134
 
5127
- export interface FactionRaidWarParticipant {
5128
- id: FactionId;
5135
+ export interface UserItemMarkeListingItemDetails {
5136
+ id: number;
5129
5137
  name: string;
5130
- score: number;
5131
- /** Faction's current chain. */
5132
- chain: number;
5133
- is_aggressor: boolean;
5134
- }
5135
-
5136
- export interface FactionRaidWar {
5137
- war_id: number;
5138
- start: number;
5139
- end: number | null;
5140
- /** The factions involved in the raid war. */
5141
- factions: FactionRaidWarParticipant[];
5138
+ type: string;
5139
+ rarity: ("yellow" | "orange" | "red") | null;
5140
+ uid: ItemUid | null;
5141
+ stats: ItemMarketListingItemStats | null;
5142
+ bonuses: ItemMarketListingItemBonus[];
5142
5143
  }
5143
5144
 
5144
- export interface FactionTerritoryWarParticipant {
5145
- id: FactionId;
5146
- name: string;
5147
- score: number;
5148
- /** Faction's current chain. */
5149
- chain: number;
5150
- is_aggressor: boolean;
5151
- playerIds: UserId[];
5145
+ export interface UserItemMarketListing {
5146
+ id: number;
5147
+ price: number;
5148
+ average_price: number;
5149
+ amount: number;
5150
+ is_anonymous: boolean;
5151
+ /** Amount remaining in the inventory. */
5152
+ available: number;
5153
+ item: UserItemMarkeListingItemDetails;
5152
5154
  }
5153
5155
 
5154
- export interface FactionTerritoryWar {
5155
- war_id: number;
5156
- territory: string;
5157
- start: number;
5158
- end: number | null;
5159
- /** The score target of the war. */
5160
- target: number;
5161
- winner?: FactionId | null;
5162
- /** The factions involved in the territory war. */
5163
- factions: FactionTerritoryWarParticipant[];
5156
+ export interface UserItemMarketResponse {
5157
+ itemmarket: UserItemMarketListing[];
5158
+ _metadata: RequestMetadataWithLinks;
5164
5159
  }
5165
5160
 
5166
- export interface FactionWars {
5167
- ranked: FactionRankedWar | null;
5168
- raids: FactionRaidWar[];
5169
- territory: FactionTerritoryWar[];
5161
+ export interface UserFactionBalance {
5162
+ money: number;
5163
+ points: number;
5170
5164
  }
5171
5165
 
5172
- export interface FactionWarsResponse {
5173
- pacts: FactionPact[];
5174
- wars: FactionWars;
5166
+ export interface UserFactionBalanceResponse {
5167
+ factionBalance: UserFactionBalance | null;
5175
5168
  }
5176
5169
 
5177
- export interface FactionNews {
5178
- id: string;
5179
- text: string;
5180
- timestamp: number;
5170
+ export interface UserOrganizedCrimeResponse {
5171
+ organizedCrime: FactionCrime | null;
5181
5172
  }
5182
5173
 
5183
- export interface FactionNewsResponse {
5184
- news: FactionNews[];
5185
- _metadata: RequestMetadataWithLinks;
5174
+ export interface UserList {
5175
+ id: UserId;
5176
+ name: string;
5177
+ level: number;
5178
+ faction_id: FactionId | null;
5179
+ last_action: UserLastAction;
5180
+ status: UserStatus;
5186
5181
  }
5187
5182
 
5188
- export interface FactionAttacksResponse {
5189
- attacks: Attack[];
5183
+ export interface UserListResponse {
5184
+ list: UserList[];
5190
5185
  _metadata: RequestMetadataWithLinks;
5191
5186
  }
5192
5187
 
5193
- export interface FactionAttacksFullResponse {
5194
- attacks: AttackSimplified[];
5195
- _metadata: RequestMetadataWithLinks;
5196
- }
5188
+ /** 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'. */
5189
+ export type UserSelectionName =
5190
+ | "attacks"
5191
+ | "attacksfull"
5192
+ | "bounties"
5193
+ | "calendar"
5194
+ | "crimes"
5195
+ | "enlistedcars"
5196
+ | "factionbalance"
5197
+ | "forumfeed"
5198
+ | "forumfriends"
5199
+ | "forumposts"
5200
+ | "forumsubscribedthreads"
5201
+ | "forumthreads"
5202
+ | "hof"
5203
+ | "itemmarket"
5204
+ | "jobranks"
5205
+ | "list"
5206
+ | "lookup"
5207
+ | "organizedcrime"
5208
+ | "personalstats"
5209
+ | "races"
5210
+ | "revives"
5211
+ | "revivesfull"
5212
+ | "timestamp"
5213
+ | "ammo"
5214
+ | "bars"
5215
+ | "basic"
5216
+ | "battlestats"
5217
+ | "bazaar"
5218
+ | "cooldowns"
5219
+ | "criminalrecord"
5220
+ | "discord"
5221
+ | "display"
5222
+ | "education"
5223
+ | "equipment"
5224
+ | "events"
5225
+ | "gym"
5226
+ | "honors"
5227
+ | "icons"
5228
+ | "inventory"
5229
+ | "jobpoints"
5230
+ | "log"
5231
+ | "medals"
5232
+ | "merits"
5233
+ | "messages"
5234
+ | "missions"
5235
+ | "money"
5236
+ | "networth"
5237
+ | "newevents"
5238
+ | "newmessages"
5239
+ | "notifications"
5240
+ | "perks"
5241
+ | "profile"
5242
+ | "properties"
5243
+ | "refills"
5244
+ | "reports"
5245
+ | "skills"
5246
+ | "stocks"
5247
+ | "travel"
5248
+ | "weaponexp"
5249
+ | "workstats";
5197
5250
 
5198
- export interface FactionApplication {
5199
- /** application id */
5200
- id: number;
5201
- user: {
5202
- id: UserId;
5203
- name: string;
5204
- level: number;
5205
- stats: {
5206
- strength: number;
5207
- speed: number;
5208
- dexterity: number;
5209
- defense: number;
5251
+ export interface UserLookupResponse {
5252
+ selections: UserSelectionName[];
5253
+ }
5254
+
5255
+ export interface PersonalStatsOther {
5256
+ other: {
5257
+ activity: {
5258
+ /** Time played in seconds */
5259
+ time: number;
5260
+ streak: {
5261
+ best: number;
5262
+ current: number;
5263
+ };
5264
+ };
5265
+ awards: number;
5266
+ merits_bought: number;
5267
+ refills: {
5268
+ energy: number;
5269
+ nerve: number;
5270
+ token: number;
5210
5271
  };
5272
+ donator_days: number;
5273
+ ranked_war_wins: number;
5211
5274
  };
5212
- message: string;
5213
- valid_until: number;
5214
- status: FactionApplicationStatusEnum;
5215
5275
  }
5216
5276
 
5217
- export interface FactionApplicationsResponse {
5218
- applications: FactionApplication[];
5277
+ export interface PersonalStatsOtherPopular {
5278
+ other: {
5279
+ activity: {
5280
+ /** Time played in seconds */
5281
+ time: number;
5282
+ streak: {
5283
+ best: number;
5284
+ current: number;
5285
+ };
5286
+ };
5287
+ awards: number;
5288
+ merits_bought: number;
5289
+ refills: {
5290
+ energy: number;
5291
+ nerve: number;
5292
+ };
5293
+ donator_days: number;
5294
+ ranked_war_wins: number;
5295
+ };
5219
5296
  }
5220
5297
 
5221
- export interface FactionOngoingChain {
5222
- id: ChainId;
5223
- current: number;
5224
- max: number;
5225
- /** Seconds until chain breaks. */
5226
- timeout: number;
5227
- modifier: number;
5228
- /** Timestamp until when chain is on cooldown. */
5229
- cooldown: number;
5230
- start: number;
5231
- end: number;
5298
+ export interface PersonalStatsNetworthExtended {
5299
+ networth: {
5300
+ total: number;
5301
+ wallet: number;
5302
+ vaults: number;
5303
+ bank: number;
5304
+ overseas_bank: number;
5305
+ points: number;
5306
+ inventory: number;
5307
+ display_case: number;
5308
+ bazaar: number;
5309
+ item_market: number;
5310
+ property: number;
5311
+ stock_market: number;
5312
+ auction_house: number;
5313
+ bookie: number;
5314
+ company: number;
5315
+ enlisted_cars: number;
5316
+ piggy_bank: number;
5317
+ pending: number;
5318
+ loans: number;
5319
+ unpaid_fees: number;
5320
+ };
5232
5321
  }
5233
5322
 
5234
- export interface FactionOngoingChainResponse {
5235
- chain: FactionOngoingChain;
5323
+ export interface PersonalStatsNetworthPublic {
5324
+ networth: {
5325
+ total: number;
5326
+ };
5236
5327
  }
5237
5328
 
5238
- export interface FactionChain {
5239
- id: ChainId;
5240
- chain: number;
5241
- respect: number;
5242
- start: number;
5243
- end: number;
5329
+ export interface PersonalStatsRacing {
5330
+ racing: {
5331
+ skill: number;
5332
+ points: number;
5333
+ races: {
5334
+ entered: number;
5335
+ won: number;
5336
+ };
5337
+ };
5244
5338
  }
5245
5339
 
5246
- export interface FactionChainsResponse {
5247
- chains: FactionChain[];
5248
- _metadata: RequestMetadataWithLinks;
5340
+ export interface PersonalStatsMissions {
5341
+ missions: {
5342
+ missions: number;
5343
+ contracts: {
5344
+ total: number;
5345
+ duke: number;
5346
+ };
5347
+ credits: number;
5348
+ };
5249
5349
  }
5250
5350
 
5251
- export interface FactionChainReportResponse {
5252
- chainreport: FactionChainReport;
5351
+ export interface PersonalStatsDrugs {
5352
+ drugs: {
5353
+ cannabis: number;
5354
+ ecstasy: number;
5355
+ ketamine: number;
5356
+ lsd: number;
5357
+ opium: number;
5358
+ pcp: number;
5359
+ shrooms: number;
5360
+ speed: number;
5361
+ vicodin: number;
5362
+ xanax: number;
5363
+ total: number;
5364
+ overdoses: number;
5365
+ rehabilitations: {
5366
+ amount: number;
5367
+ fees: number;
5368
+ };
5369
+ };
5253
5370
  }
5254
5371
 
5255
- export interface FactionChainReport {
5256
- id: ChainId;
5257
- faction_id: FactionId;
5258
- start: number;
5259
- end: number;
5260
- details: FactionChainReportDetails;
5261
- bonuses: FactionChainReportBonus[];
5262
- attackers: FactionChainReportAttacker[];
5263
- /** This is replaced with 'sci_fi' field and will be removed on 1st June 2025. */
5264
- "non-attackers"?: UserId[];
5265
- non_attackers: UserId[];
5372
+ export interface PersonalStatsTravel {
5373
+ travel: {
5374
+ total: number;
5375
+ time_spent: number;
5376
+ items_bought: number;
5377
+ hunting: {
5378
+ skill: number;
5379
+ };
5380
+ attacks_won: number;
5381
+ defends_lost: number;
5382
+ argentina: number;
5383
+ canada: number;
5384
+ cayman_islands: number;
5385
+ china: number;
5386
+ hawaii: number;
5387
+ japan: number;
5388
+ mexico: number;
5389
+ united_arab_emirates: number;
5390
+ united_kingdom: number;
5391
+ south_africa: number;
5392
+ switzerland: number;
5393
+ };
5266
5394
  }
5267
5395
 
5268
- export interface FactionChainReportDetails {
5269
- chain: number;
5270
- respect: number;
5271
- members: number;
5272
- targets: number;
5273
- war: number;
5274
- best: number;
5275
- leave: number;
5276
- mug: number;
5277
- hospitalize: number;
5278
- assists: number;
5279
- retaliations: number;
5280
- overseas: number;
5281
- draws: number;
5282
- escapes: number;
5283
- losses: number;
5396
+ export interface PersonalStatsTravelPopular {
5397
+ travel: {
5398
+ total: number;
5399
+ time_spent: number;
5400
+ };
5284
5401
  }
5285
5402
 
5286
- export interface FactionChainReportBonus {
5287
- attacker_id: UserId;
5288
- defender_id: UserId;
5289
- chain: number;
5290
- respect: number;
5403
+ export interface PersonalStatsItems {
5404
+ items: {
5405
+ found: {
5406
+ city: number;
5407
+ dump: number;
5408
+ easter_eggs: number;
5409
+ };
5410
+ trashed: number;
5411
+ used: {
5412
+ books: number;
5413
+ boosters: number;
5414
+ consumables: number;
5415
+ candy: number;
5416
+ alcohol: number;
5417
+ energy_drinks: number;
5418
+ stat_enhancers: number;
5419
+ easter_eggs: number;
5420
+ };
5421
+ viruses_coded: number;
5422
+ };
5291
5423
  }
5292
5424
 
5293
- export interface FactionChainReportAttacker {
5294
- id: UserId;
5295
- respect: FactionChainReportAttackerRespect;
5296
- attacks: FactionChainReportAttackerAttacks;
5425
+ export interface PersonalStatsItemsPopular {
5426
+ items: {
5427
+ found: {
5428
+ dump: number;
5429
+ };
5430
+ used: {
5431
+ books: number;
5432
+ boosters: number;
5433
+ consumables: number;
5434
+ candy: number;
5435
+ alcohol: number;
5436
+ energy_drinks: number;
5437
+ stat_enhancers: number;
5438
+ easter_eggs: number;
5439
+ };
5440
+ };
5297
5441
  }
5298
5442
 
5299
- export interface FactionChainReportAttackerRespect {
5300
- total: number;
5301
- average: number;
5302
- best: number;
5443
+ export interface PersonalStatsInvestments {
5444
+ investments: {
5445
+ bank: {
5446
+ total: number;
5447
+ profit: number;
5448
+ current: number;
5449
+ time_remaining: number;
5450
+ };
5451
+ stocks: {
5452
+ profits: number;
5453
+ losses: number;
5454
+ fees: number;
5455
+ net_profits: number;
5456
+ payouts: number;
5457
+ };
5458
+ };
5303
5459
  }
5304
5460
 
5305
- export interface FactionChainReportAttackerAttacks {
5306
- total: number;
5307
- leave: number;
5308
- mug: number;
5309
- hospitalize: number;
5310
- assists: number;
5311
- retaliations: number;
5312
- overseas: number;
5313
- draws: number;
5314
- escapes?: number;
5315
- losses: number;
5316
- war: number;
5317
- bonuses: number;
5461
+ export interface PersonalStatsBounties {
5462
+ bounties: {
5463
+ placed: {
5464
+ amount: number;
5465
+ value: number;
5466
+ };
5467
+ collected: {
5468
+ amount: number;
5469
+ value: number;
5470
+ };
5471
+ received: {
5472
+ amount: number;
5473
+ value: number;
5474
+ };
5475
+ };
5318
5476
  }
5319
5477
 
5320
- export interface FactionCrimeUser {
5321
- id: UserId;
5322
- outcome: FactionCrimeUserOutcome | null;
5323
- /** The timestamp at which the user joined the slot. */
5324
- joined_at: number;
5325
- /** Current planning progress on the slot. */
5326
- progress: number;
5478
+ export interface PersonalStatsCrimesV2 {
5479
+ offenses: {
5480
+ vandalism: number;
5481
+ fraud: number;
5482
+ theft: number;
5483
+ counterfeiting: number;
5484
+ illicit_services: number;
5485
+ cybercrime: number;
5486
+ extortion: number;
5487
+ illegal_production: number;
5488
+ organized_crimes: number;
5489
+ total: number;
5490
+ };
5491
+ skills: {
5492
+ search_for_cash: number;
5493
+ bootlegging: number;
5494
+ graffiti: number;
5495
+ shoplifting: number;
5496
+ pickpocketing: number;
5497
+ card_skimming: number;
5498
+ burglary: number;
5499
+ hustling: number;
5500
+ disposal: number;
5501
+ cracking: number;
5502
+ forgery: number;
5503
+ scamming: number;
5504
+ };
5505
+ version: string;
5327
5506
  }
5328
5507
 
5329
- export interface FactionCrimeRewardItem {
5330
- id: ItemId;
5331
- quantity: number;
5508
+ export interface PersonalStatsCrimesV1 {
5509
+ total: number;
5510
+ sell_illegal_goods: number;
5511
+ theft: number;
5512
+ auto_theft: number;
5513
+ drug_deals: number;
5514
+ computer: number;
5515
+ fraud: number;
5516
+ murder: number;
5517
+ other: number;
5518
+ organized_crimes: number;
5519
+ version: string;
5332
5520
  }
5333
5521
 
5334
- export interface FactionCrimeRewardPayout {
5335
- type: FactionOrganizedCrimePayoutType;
5336
- /** Total percentage split between all participants. */
5337
- percentage: number;
5338
- paid_by: UserId;
5339
- paid_at: number;
5522
+ export interface PersonalStatsCrimesPopular {
5523
+ crimes: {
5524
+ total: number;
5525
+ version: string;
5526
+ };
5340
5527
  }
5341
5528
 
5342
- export interface FactionCrimeReward {
5343
- money: number;
5344
- items: FactionCrimeRewardItem[];
5345
- respect: number;
5346
- scope: number;
5347
- payout: FactionCrimeRewardPayout | null;
5529
+ export interface PersonalStatsCommunication {
5530
+ communication: {
5531
+ mails_sent: {
5532
+ total: number;
5533
+ friends: number;
5534
+ faction: number;
5535
+ colleagues: number;
5536
+ spouse: number;
5537
+ };
5538
+ classified_ads: number;
5539
+ personals: number;
5540
+ };
5348
5541
  }
5349
5542
 
5350
- export interface FactionCrimeSlot {
5351
- position: string;
5352
- item_requirement: {
5353
- id: ItemId;
5354
- /** Shows if the item is reusable or consumed during the crime. */
5355
- is_reusable: boolean;
5356
- /** Shows if user has the required item. */
5357
- is_available: boolean;
5358
- } | null;
5359
- user_id?: UserId | null;
5360
- user: FactionCrimeUser | null;
5361
- /** This field is replaced with 'checkpoint_pass_rate' field and will be removed on 1st of May 2025. */
5362
- success_chance?: number;
5363
- /** This field is replaced with 'checkpoint_pass_rate' field and will be removed on 1st of May 2025. */
5364
- crime_pass_rate?: number;
5365
- /** 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. */
5366
- checkpoint_pass_rate: number;
5543
+ export interface PersonalStatsFinishingHits {
5544
+ finishing_hits: {
5545
+ heavy_artillery: number;
5546
+ machine_guns: number;
5547
+ rifles: number;
5548
+ sub_machine_guns: number;
5549
+ shotguns: number;
5550
+ pistols: number;
5551
+ temporary: number;
5552
+ piercing: number;
5553
+ slashing: number;
5554
+ clubbing: number;
5555
+ mechanical: number;
5556
+ hand_to_hand: number;
5557
+ };
5367
5558
  }
5368
5559
 
5369
- export interface FactionCrime {
5370
- id: FactionCrimeId;
5371
- previous_crime_id: FactionCrimeId | null;
5372
- name: string;
5373
- difficulty: number;
5374
- status: FactionCrimeStatusEnum;
5375
- /** The timestamp at which the crime was created. */
5376
- created_at: number;
5377
- planning_at: number | null;
5378
- ready_at: number | null;
5379
- /** The timestamp at which the crime will expire. */
5380
- expired_at: number;
5381
- executed_at: number | null;
5382
- slots: FactionCrimeSlot[];
5383
- rewards: FactionCrimeReward | null;
5560
+ export interface PersonalStatsHospital {
5561
+ hospital: {
5562
+ times_hospitalized: number;
5563
+ medical_items_used: number;
5564
+ blood_withdrawn: number;
5565
+ reviving: {
5566
+ skill: number;
5567
+ revives: number;
5568
+ revives_received: number;
5569
+ };
5570
+ };
5384
5571
  }
5385
5572
 
5386
- export interface FactionCrimesResponse {
5387
- crimes: FactionCrime[];
5388
- _metadata: RequestMetadataWithLinks;
5573
+ export interface PersonalStatsHospitalPopular {
5574
+ hospital: {
5575
+ medical_items_used: number;
5576
+ reviving: {
5577
+ skill: number;
5578
+ revives: number;
5579
+ };
5580
+ };
5389
5581
  }
5390
5582
 
5391
- export interface FactionCrimeResponse {
5392
- crime: FactionCrime;
5583
+ export interface PersonalStatsJail {
5584
+ jail: {
5585
+ times_jailed: number;
5586
+ busts: {
5587
+ success: number;
5588
+ fails: number;
5589
+ };
5590
+ bails: {
5591
+ amount: number;
5592
+ fees: number;
5593
+ };
5594
+ };
5393
5595
  }
5394
5596
 
5395
- export interface FactionBalance {
5396
- faction: {
5397
- money: number;
5398
- points: number;
5399
- scope: number;
5597
+ export interface PersonalStatsTrading {
5598
+ trading: {
5599
+ items: {
5600
+ bought: {
5601
+ market: number;
5602
+ shops: number;
5603
+ };
5604
+ auctions: {
5605
+ won: number;
5606
+ sold: number;
5607
+ };
5608
+ sent: number;
5609
+ };
5610
+ trades: number;
5611
+ points: {
5612
+ bought: number;
5613
+ sold: number;
5614
+ };
5615
+ bazaar: {
5616
+ customers: number;
5617
+ sales: number;
5618
+ profit: number;
5619
+ };
5620
+ item_market?: {
5621
+ customers: number;
5622
+ sales: number;
5623
+ revenue: number;
5624
+ fees: number;
5625
+ };
5400
5626
  };
5401
- members: {
5402
- id: UserId;
5403
- username: string;
5404
- money: number;
5405
- points: number;
5406
- }[];
5407
- }
5408
-
5409
- export interface FactionBalanceResponse {
5410
- balance: FactionBalance;
5411
5627
  }
5412
5628
 
5413
- /**
5414
- * 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'.
5415
- * * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.
5416
- */
5417
- export type FactionSelectionName =
5418
- | "applications"
5419
- | "attacks"
5420
- | "attacksfull"
5421
- | "balance"
5422
- | "basic"
5423
- | "chain"
5424
- | "chainreport"
5425
- | "chains"
5426
- | "contributors"
5427
- | "crime"
5428
- | "crimes"
5429
- | "hof"
5430
- | "lookup"
5431
- | "members"
5432
- | "news"
5433
- | "rackets"
5434
- | "rankedwars"
5435
- | "rankedwarreport"
5436
- | "revives"
5437
- | "revivesfull"
5438
- | "stats"
5439
- | "territory"
5440
- | "territoryownership"
5441
- | "territorywarreport"
5442
- | "territorywars"
5443
- | "timestamp"
5444
- | "upgrades"
5445
- | "wars"
5446
- | "armor"
5447
- | "boosters"
5448
- | "caches"
5449
- | "cesium"
5450
- | "crimeexp"
5451
- | "drugs"
5452
- | "medical"
5453
- | "positions"
5454
- | "reports"
5455
- | "temporary"
5456
- | "weapons"
5457
- | "armorynews"
5458
- | "attacknews"
5459
- | "crimenews"
5460
- | "currency"
5461
- | "donations"
5462
- | "fundsnews"
5463
- | "mainnews"
5464
- | "membershipnews"
5465
- | "territorynews";
5466
-
5467
- export interface FactionLookupResponse {
5468
- selections: FactionSelectionName[];
5629
+ export interface PersonalStatsJobsPublic {
5630
+ jobs: {
5631
+ job_points_used: number;
5632
+ trains_received: number;
5633
+ };
5469
5634
  }
5470
5635
 
5471
- export interface FactionRankedWarDetails {
5472
- id: RankedWarId;
5473
- /** Timestamp the war started at. */
5474
- start: number;
5475
- /** Timestamp the war ended at. */
5476
- end: number;
5477
- target: number;
5478
- winner: FactionId | null;
5479
- factions: {
5480
- id: FactionId;
5481
- name: string;
5482
- score: number;
5483
- chain: number;
5484
- }[];
5636
+ export interface PersonalStatsJobsExtended {
5637
+ jobs: {
5638
+ job_points_used: number;
5639
+ trains_received: number;
5640
+ stats: {
5641
+ manual: number;
5642
+ intelligence: number;
5643
+ endurance: number;
5644
+ total: number;
5645
+ };
5646
+ };
5485
5647
  }
5486
5648
 
5487
- export interface FactionRankedWarResponse {
5488
- rankedwars: FactionRankedWarDetails[];
5489
- _metadata: RequestMetadataWithLinks;
5649
+ export interface PersonalStatsBattleStats {
5650
+ battle_stats: {
5651
+ strength: number;
5652
+ defense: number;
5653
+ speed: number;
5654
+ dexterity: number;
5655
+ total: number;
5656
+ };
5490
5657
  }
5491
5658
 
5492
- export interface FactionRankedWarReportResponse {
5493
- rankedwarreport: {
5494
- id: RankedWarId;
5495
- /** Timestamp the war started at. */
5496
- start: number;
5497
- /** Timestamp the war ended at. */
5498
- end: number;
5499
- winner: FactionId;
5500
- forfeit: boolean;
5501
- factions: {
5502
- id: FactionId;
5503
- name: string;
5504
- score: number;
5505
- attacks: number;
5506
- rank: {
5507
- before: string;
5508
- after: string;
5509
- };
5510
- rewards: {
5511
- respect: number;
5512
- points: number;
5513
- items: {
5514
- id: ItemId;
5515
- name: string;
5516
- quantity: number;
5517
- }[];
5659
+ export interface PersonalStatsAttackingPublic {
5660
+ attacking: {
5661
+ attacks: {
5662
+ won: number;
5663
+ lost: number;
5664
+ stalemate: number;
5665
+ assist: number;
5666
+ stealth: number;
5667
+ };
5668
+ defends: {
5669
+ won: number;
5670
+ lost: number;
5671
+ stalemate: number;
5672
+ total: number;
5673
+ };
5674
+ elo: number;
5675
+ unarmored_wins: number;
5676
+ highest_level_beaten: number;
5677
+ escapes?: {
5678
+ player: number;
5679
+ foes: number;
5680
+ };
5681
+ killstreak: {
5682
+ best: number;
5683
+ };
5684
+ hits: {
5685
+ success: number;
5686
+ miss: number;
5687
+ critical: number;
5688
+ one_hit_kills: number;
5689
+ };
5690
+ damage: {
5691
+ total: number;
5692
+ best: number;
5693
+ };
5694
+ networth: {
5695
+ money_mugged: number;
5696
+ largest_mug: number;
5697
+ items_looted: number;
5698
+ };
5699
+ ammunition: {
5700
+ total: number;
5701
+ special: number;
5702
+ hollow_point: number;
5703
+ tracer: number;
5704
+ piercing: number;
5705
+ incendiary: number;
5706
+ };
5707
+ faction: {
5708
+ respect: number;
5709
+ retaliations: number;
5710
+ ranked_war_hits: number;
5711
+ raid_hits: number;
5712
+ territory: {
5713
+ wall_joins: number;
5714
+ wall_clears: number;
5715
+ wall_time: number;
5518
5716
  };
5519
- members: {
5520
- id: UserId;
5521
- name: string;
5522
- level: number;
5523
- attacks: number;
5524
- score: number;
5525
- }[];
5526
- }[];
5717
+ };
5527
5718
  };
5528
5719
  }
5529
5720
 
5530
- export interface ForumCategoriesResponse {
5531
- categories: {
5532
- id: ForumId;
5533
- title: string;
5534
- acronym: string;
5535
- threads: number;
5536
- }[];
5537
- }
5538
-
5539
- export interface ForumThreadAuthor {
5540
- id: UserId;
5541
- username: string;
5542
- karma: number;
5543
- }
5544
-
5545
- export interface ForumPollVote {
5546
- answer: string;
5547
- votes: number;
5548
- }
5549
-
5550
- export interface ForumPoll {
5551
- question: string;
5552
- answers_count: number;
5553
- answers: ForumPollVote[];
5721
+ export interface PersonalStatsAttackingExtended {
5722
+ attacking: {
5723
+ attacks: {
5724
+ won: number;
5725
+ lost: number;
5726
+ stalemate: number;
5727
+ assist: number;
5728
+ stealth: number;
5729
+ };
5730
+ defends: {
5731
+ won: number;
5732
+ lost: number;
5733
+ stalemate: number;
5734
+ total: number;
5735
+ };
5736
+ elo: number;
5737
+ unarmored_wins: number;
5738
+ highest_level_beaten: number;
5739
+ escapes: {
5740
+ player: number;
5741
+ foes: number;
5742
+ };
5743
+ killstreak: {
5744
+ best: number;
5745
+ current: number;
5746
+ };
5747
+ hits: {
5748
+ success: number;
5749
+ miss: number;
5750
+ critical: number;
5751
+ one_hit_kills: number;
5752
+ };
5753
+ damage: {
5754
+ total: number;
5755
+ best: number;
5756
+ };
5757
+ networth: {
5758
+ money_mugged: number;
5759
+ largest_mug: number;
5760
+ items_looted: number;
5761
+ };
5762
+ ammunition: {
5763
+ total: number;
5764
+ special: number;
5765
+ hollow_point: number;
5766
+ tracer: number;
5767
+ piercing: number;
5768
+ incendiary: number;
5769
+ };
5770
+ faction: {
5771
+ respect: number;
5772
+ retaliations: number;
5773
+ ranked_war_hits: number;
5774
+ raid_hits: number;
5775
+ territory: {
5776
+ wall_joins: number;
5777
+ wall_clears: number;
5778
+ wall_time: number;
5779
+ };
5780
+ };
5781
+ };
5554
5782
  }
5555
5783
 
5556
- export interface ForumThreadBase {
5557
- id: ForumThreadId;
5558
- title: string;
5559
- forum_id: ForumId;
5560
- posts: number;
5561
- rating: number;
5562
- /** Total number of times players have opened this thread. */
5563
- views: number;
5564
- author: ForumThreadAuthor;
5565
- last_poster: ForumThreadAuthor | null;
5566
- first_post_time: number;
5567
- last_post_time: number | null;
5568
- has_poll: boolean;
5569
- is_locked: boolean;
5570
- is_sticky: boolean;
5784
+ export interface PersonalStatsAttackingPopular {
5785
+ attacking: {
5786
+ attacks: {
5787
+ won: number;
5788
+ lost: number;
5789
+ stalemate: number;
5790
+ assist: number;
5791
+ };
5792
+ defends: {
5793
+ won: number;
5794
+ lost: number;
5795
+ stalemate: number;
5796
+ };
5797
+ elo: number;
5798
+ escapes: {
5799
+ player: number;
5800
+ foes: number;
5801
+ };
5802
+ killstreak: {
5803
+ best: number;
5804
+ };
5805
+ hits: {
5806
+ success: number;
5807
+ miss: number;
5808
+ critical: number;
5809
+ one_hit_kills: number;
5810
+ };
5811
+ damage: {
5812
+ total: number;
5813
+ best: number;
5814
+ };
5815
+ networth: {
5816
+ money_mugged: number;
5817
+ largest_mug: number;
5818
+ items_looted: number;
5819
+ };
5820
+ ammunition: {
5821
+ total: number;
5822
+ special: number;
5823
+ hollow_point: number;
5824
+ tracer: number;
5825
+ piercing: number;
5826
+ incendiary: number;
5827
+ };
5828
+ faction: {
5829
+ respect: number;
5830
+ ranked_war_hits: number;
5831
+ };
5832
+ };
5571
5833
  }
5572
5834
 
5573
- export interface ForumThreadExtended extends ForumThreadBase {
5574
- content: string;
5575
- content_raw: string;
5576
- poll: ForumPoll | null;
5835
+ export interface PersonalStatsHistoricStat {
5836
+ /** Requested stat name */
5837
+ name: string;
5838
+ value: number;
5839
+ /** Timestamp when the stat was last updated */
5840
+ timestamp: number;
5577
5841
  }
5578
5842
 
5579
- export interface ForumPost {
5580
- id: ForumPostId;
5581
- thread_id: ForumThreadId;
5582
- author: ForumThreadAuthor;
5583
- /** Indicates whether post was made using the old formatting engine which doesn't use HTML. */
5584
- is_legacy: boolean;
5585
- is_topic: boolean;
5586
- is_edited: boolean;
5587
- is_pinned: boolean;
5588
- created_time: number;
5589
- edited_by: UserId | null;
5590
- has_quote: boolean;
5591
- quoted_post_id: number | null;
5592
- /** 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. */
5593
- content: string;
5594
- likes: number;
5595
- dislikes: number;
5843
+ export interface UserPersonalStatsHistoric {
5844
+ personalstats: PersonalStatsHistoricStat[];
5596
5845
  }
5597
5846
 
5598
- export interface ForumThreadUserExtended extends ForumThreadBase {
5599
- new_posts: number | null;
5847
+ /** Response for PersonalStatsCrimes depends on which crime version user is currently. */
5848
+ export interface PersonalStatsCrimes {
5849
+ crimes: PersonalStatsCrimesV1 | PersonalStatsCrimesV2;
5600
5850
  }
5601
5851
 
5602
- export interface ForumSubscribedThreadPostsCount {
5603
- new: number;
5604
- total: number;
5852
+ export interface UserPersonalStatsPopular {
5853
+ personalstats: PersonalStatsAttackingPopular &
5854
+ PersonalStatsJobsPublic &
5855
+ PersonalStatsHospitalPopular &
5856
+ PersonalStatsCrimesPopular &
5857
+ PersonalStatsItemsPopular &
5858
+ PersonalStatsTravelPopular &
5859
+ PersonalStatsDrugs &
5860
+ PersonalStatsNetworthPublic &
5861
+ PersonalStatsOtherPopular;
5605
5862
  }
5606
5863
 
5607
- export interface ForumSubscribedThread {
5608
- id: ForumThreadId;
5609
- forum_id: ForumId;
5610
- author: ForumThreadAuthor;
5611
- title: string;
5612
- posts: ForumSubscribedThreadPostsCount;
5864
+ /** Schema name corresponds to the requested category */
5865
+ export interface UserPersonalStatsCategory {
5866
+ personalstats:
5867
+ | PersonalStatsAttackingPublic
5868
+ | PersonalStatsJobsPublic
5869
+ | PersonalStatsTrading
5870
+ | PersonalStatsJail
5871
+ | PersonalStatsHospital
5872
+ | PersonalStatsFinishingHits
5873
+ | PersonalStatsCommunication
5874
+ | PersonalStatsCrimes
5875
+ | PersonalStatsBounties
5876
+ | PersonalStatsItems
5877
+ | PersonalStatsTravel
5878
+ | PersonalStatsDrugs
5879
+ | PersonalStatsMissions
5880
+ | PersonalStatsRacing
5881
+ | PersonalStatsNetworthPublic
5882
+ | PersonalStatsOther;
5613
5883
  }
5614
5884
 
5615
- export interface ForumFeed {
5616
- thread_id: ForumThreadId;
5617
- post_id: ForumPostId;
5618
- user: ForumThreadAuthor;
5619
- title: string;
5620
- text: string;
5621
- timestamp: number;
5622
- is_seen: boolean;
5623
- type: ForumFeedTypeEnum;
5885
+ export interface UserPersonalStatsFull {
5886
+ personalstats: PersonalStatsAttackingExtended &
5887
+ PersonalStatsBattleStats &
5888
+ PersonalStatsJobsExtended &
5889
+ PersonalStatsTrading &
5890
+ PersonalStatsJail &
5891
+ PersonalStatsHospital &
5892
+ PersonalStatsFinishingHits &
5893
+ PersonalStatsCommunication &
5894
+ PersonalStatsCrimes &
5895
+ PersonalStatsBounties &
5896
+ PersonalStatsInvestments &
5897
+ PersonalStatsItems &
5898
+ PersonalStatsTravel &
5899
+ PersonalStatsDrugs &
5900
+ PersonalStatsMissions &
5901
+ PersonalStatsRacing &
5902
+ PersonalStatsNetworthExtended &
5903
+ PersonalStatsOther;
5624
5904
  }
5625
5905
 
5626
- export interface ForumThreadsResponse {
5627
- threads: ForumThreadBase[];
5628
- _metadata: RequestMetadataWithLinks;
5906
+ export interface UserPersonalStatsFullPublic {
5907
+ personalstats: PersonalStatsAttackingPublic &
5908
+ PersonalStatsJobsPublic &
5909
+ PersonalStatsTrading &
5910
+ PersonalStatsJail &
5911
+ PersonalStatsHospital &
5912
+ PersonalStatsFinishingHits &
5913
+ PersonalStatsCommunication &
5914
+ PersonalStatsCrimes &
5915
+ PersonalStatsBounties &
5916
+ PersonalStatsItems &
5917
+ PersonalStatsTravel &
5918
+ PersonalStatsDrugs &
5919
+ PersonalStatsMissions &
5920
+ PersonalStatsRacing &
5921
+ PersonalStatsNetworthPublic &
5922
+ PersonalStatsOther;
5629
5923
  }
5630
5924
 
5631
- export interface ForumThreadResponse {
5632
- thread: ForumThreadExtended;
5633
- }
5925
+ export type UserPersonalStatsResponse =
5926
+ | UserPersonalStatsFull
5927
+ | UserPersonalStatsFullPublic
5928
+ | UserPersonalStatsCategory
5929
+ | UserPersonalStatsPopular
5930
+ | UserPersonalStatsHistoric;
5634
5931
 
5635
- export interface ForumPostsResponse {
5636
- posts: ForumPost[];
5637
- _metadata: RequestMetadataWithLinks;
5638
- }
5639
-
5640
- export type ForumSelectionName =
5641
- | "categories"
5642
- | "lookup"
5643
- | "posts"
5644
- | "thread"
5645
- | "threads"
5646
- | "timestamp";
5932
+ export type PersonalStatsCategoryEnum =
5933
+ | "all"
5934
+ | "popular"
5935
+ | "attacking"
5936
+ | "battle_stats"
5937
+ | "jobs"
5938
+ | "trading"
5939
+ | "jail"
5940
+ | "hospital"
5941
+ | "finishing_hits"
5942
+ | "communication"
5943
+ | "crimes"
5944
+ | "bounties"
5945
+ | "investments"
5946
+ | "items"
5947
+ | "travel"
5948
+ | "drugs"
5949
+ | "missions"
5950
+ | "racing"
5951
+ | "networth"
5952
+ | "other"
5953
+ | "itemmarketcustomers"
5954
+ | "itemmarketsales"
5955
+ | "itemmarketrevenue"
5956
+ | "itemmarketfees";
5647
5957
 
5648
- export interface ForumLookupResponse {
5649
- selections: ForumSelectionName[];
5650
- }
5958
+ export type PersonalStatsStatName =
5959
+ | "attackswon"
5960
+ | "attackslost"
5961
+ | "attacksdraw"
5962
+ | "attacksassisted"
5963
+ | "defendswon"
5964
+ | "defendslost"
5965
+ | "defendsstalemated"
5966
+ | "elo"
5967
+ | "yourunaway"
5968
+ | "theyrunaway"
5969
+ | "unarmoredwon"
5970
+ | "bestkillstreak"
5971
+ | "attackhits"
5972
+ | "attackmisses"
5973
+ | "attackdamage"
5974
+ | "bestdamage"
5975
+ | "onehitkills"
5976
+ | "attackcriticalhits"
5977
+ | "roundsfired"
5978
+ | "specialammoused"
5979
+ | "hollowammoused"
5980
+ | "tracerammoused"
5981
+ | "piercingammoused"
5982
+ | "incendiaryammoused"
5983
+ | "attacksstealthed"
5984
+ | "retals"
5985
+ | "moneymugged"
5986
+ | "largestmug"
5987
+ | "itemslooted"
5988
+ | "highestbeaten"
5989
+ | "respectforfaction"
5990
+ | "rankedwarhits"
5991
+ | "raidhits"
5992
+ | "territoryjoins"
5993
+ | "territoryclears"
5994
+ | "territorytime"
5995
+ | "jobpointsused"
5996
+ | "trainsreceived"
5997
+ | "marketitemsbought"
5998
+ | "auctionswon"
5999
+ | "auctionsells"
6000
+ | "itemssent"
6001
+ | "trades"
6002
+ | "cityitemsbought"
6003
+ | "pointsbought"
6004
+ | "pointssold"
6005
+ | "bazaarcustomers"
6006
+ | "bazaarsales"
6007
+ | "bazaarprofit"
6008
+ | "jailed"
6009
+ | "peoplebusted"
6010
+ | "failedbusts"
6011
+ | "peoplebought"
6012
+ | "peopleboughtspent"
6013
+ | "hospital"
6014
+ | "medicalitemsused"
6015
+ | "bloodwithdrawn"
6016
+ | "reviveskill"
6017
+ | "revives"
6018
+ | "revivesreceived"
6019
+ | "heavyhits"
6020
+ | "machinehits"
6021
+ | "riflehits"
6022
+ | "smghits"
6023
+ | "shotgunhits"
6024
+ | "pistolhits"
6025
+ | "temphits"
6026
+ | "piercinghits"
6027
+ | "slashinghits"
6028
+ | "clubbinghits"
6029
+ | "mechanicalhits"
6030
+ | "h2hhits"
6031
+ | "mailssent"
6032
+ | "friendmailssent"
6033
+ | "factionmailssent"
6034
+ | "companymailssent"
6035
+ | "spousemailssent"
6036
+ | "classifiedadsplaced"
6037
+ | "personalsplaced"
6038
+ | "criminaloffensesold"
6039
+ | "sellillegalgoods"
6040
+ | "theftold"
6041
+ | "autotheftcrime"
6042
+ | "drugdealscrime"
6043
+ | "computercrime"
6044
+ | "fraudold"
6045
+ | "murdercrime"
6046
+ | "othercrime"
6047
+ | "organizedcrimes"
6048
+ | "bountiesplaced"
6049
+ | "totalbountyspent"
6050
+ | "bountiescollected"
6051
+ | "totalbountyreward"
6052
+ | "bountiesreceived"
6053
+ | "receivedbountyvalue"
6054
+ | "cityfinds"
6055
+ | "dumpfinds"
6056
+ | "itemsdumped"
6057
+ | "booksread"
6058
+ | "boostersused"
6059
+ | "consumablesused"
6060
+ | "candyused"
6061
+ | "alcoholused"
6062
+ | "energydrinkused"
6063
+ | "statenhancersused"
6064
+ | "eastereggsfound"
6065
+ | "eastereggsused"
6066
+ | "virusescoded"
6067
+ | "traveltimes"
6068
+ | "timespenttraveling"
6069
+ | "itemsboughtabroad"
6070
+ | "attackswonabroad"
6071
+ | "defendslostabroad"
6072
+ | "argtravel"
6073
+ | "mextravel"
6074
+ | "uaetravel"
6075
+ | "hawtravel"
6076
+ | "japtravel"
6077
+ | "uktravel"
6078
+ | "satravel"
6079
+ | "switravel"
6080
+ | "chitravel"
6081
+ | "cantravel"
6082
+ | "caytravel"
6083
+ | "drugsused"
6084
+ | "overdosed"
6085
+ | "rehabs"
6086
+ | "rehabcost"
6087
+ | "cantaken"
6088
+ | "exttaken"
6089
+ | "kettaken"
6090
+ | "lsdtaken"
6091
+ | "opitaken"
6092
+ | "pcptaken"
6093
+ | "shrtaken"
6094
+ | "spetaken"
6095
+ | "victaken"
6096
+ | "xantaken"
6097
+ | "missionscompleted"
6098
+ | "contractscompleted"
6099
+ | "dukecontractscompleted"
6100
+ | "missioncreditsearned"
6101
+ | "racingskill"
6102
+ | "racingpointsearned"
6103
+ | "racesentered"
6104
+ | "raceswon"
6105
+ | "networth"
6106
+ | "timeplayed"
6107
+ | "activestreak"
6108
+ | "bestactivestreak"
6109
+ | "awards"
6110
+ | "refills"
6111
+ | "nerverefills"
6112
+ | "tokenrefills"
6113
+ | "meritsbought"
6114
+ | "daysbeendonator"
6115
+ | "criminaloffenses"
6116
+ | "vandalism"
6117
+ | "theft"
6118
+ | "counterfeiting"
6119
+ | "fraud"
6120
+ | "illicitservices"
6121
+ | "cybercrime"
6122
+ | "extortion"
6123
+ | "illegalproduction"
6124
+ | "currentkillstreak"
6125
+ | "strength"
6126
+ | "defense"
6127
+ | "speed"
6128
+ | "dexterity"
6129
+ | "totalstats"
6130
+ | "manuallabor"
6131
+ | "intelligence"
6132
+ | "endurance"
6133
+ | "totalworkingstats"
6134
+ | "moneyinvested"
6135
+ | "investedprofit"
6136
+ | "investamount"
6137
+ | "banktimeleft"
6138
+ | "stockprofits"
6139
+ | "stocklosses"
6140
+ | "stockfees"
6141
+ | "stocknetprofits"
6142
+ | "stockpayouts"
6143
+ | "networthwallet"
6144
+ | "networthvault"
6145
+ | "networthbank"
6146
+ | "networthcayman"
6147
+ | "networthpoints"
6148
+ | "networthitems"
6149
+ | "networthdisplaycase"
6150
+ | "networthbazaar"
6151
+ | "networthitemmarket"
6152
+ | "networthproperties"
6153
+ | "networthstockmarket"
6154
+ | "networthauctionhouse"
6155
+ | "networthbookie"
6156
+ | "networthcompany"
6157
+ | "networthenlistedcars"
6158
+ | "networthpiggybank"
6159
+ | "networthpending"
6160
+ | "networthloan"
6161
+ | "networthunpaidfees"
6162
+ | "huntingskill"
6163
+ | "searchforcashskill"
6164
+ | "bootleggingskill"
6165
+ | "graffitiskill"
6166
+ | "shopliftingskill"
6167
+ | "pickpocketingskill"
6168
+ | "cardskimmingskill"
6169
+ | "burglaryskill"
6170
+ | "hustlingskill"
6171
+ | "disposalskill"
6172
+ | "crackingskill"
6173
+ | "forgeryskill"
6174
+ | "scammingskill";
5651
6175
 
5652
- export interface KeyLogResponse {
5653
- log: {
5654
- timestamp: number;
5655
- type: string;
5656
- selections: string;
5657
- id: number | null;
5658
- ip: string;
5659
- }[];
6176
+ export interface FactionTerritoryWarFinishedFaction {
6177
+ id: FactionId;
6178
+ name: string;
6179
+ score: number;
6180
+ is_aggressor: boolean;
5660
6181
  }
5661
6182
 
5662
- export interface KeyInfoResponse {
5663
- info: {
5664
- selections: {
5665
- company: string[];
5666
- faction: FactionSelectionName[];
5667
- market: MarketSelectionName[];
5668
- property: string[];
5669
- torn: TornSelectionName[];
5670
- user: UserSelectionName[];
5671
- racing: RacingSelectionName[];
5672
- forum: ForumSelectionName[];
5673
- key: KeySelectionName[];
5674
- };
5675
- access: {
5676
- level: number;
5677
- type: ApiKeyAccessTypeEnum;
5678
- faction: boolean;
5679
- faction_id?: FactionId | null;
5680
- company: boolean;
5681
- company_id?: CompanyId | null;
5682
- };
5683
- };
6183
+ export interface FactionTerritoryWarFinished {
6184
+ id: TerritoryWarId;
6185
+ territory: FactionTerritoryEnum;
6186
+ start: number;
6187
+ end: number;
6188
+ target: number;
6189
+ result: FactionTerritoryWarResultEnum;
6190
+ factions: FactionTerritoryWarFinishedFaction[];
5684
6191
  }
5685
6192
 
5686
- export type KeySelectionName = "info" | "log";
5687
-
5688
- export interface ItemMarketListingItemBonus {
5689
- id: number;
5690
- title: string;
5691
- description: string;
5692
- value: number;
6193
+ export interface FactionTerritoryWarOngoingFaction {
6194
+ id: FactionId;
6195
+ name: string;
6196
+ score: number;
6197
+ is_aggressor: boolean;
6198
+ chain: number;
6199
+ playerIds: UserId[];
5693
6200
  }
5694
6201
 
5695
- export interface ItemMarketListingItemStats {
5696
- damage: number | null;
5697
- accuracy: number | null;
5698
- armor: number | null;
5699
- quality: number;
6202
+ export interface FactionTerritoryWarOngoing {
6203
+ id: TerritoryWarId;
6204
+ territory: FactionTerritoryEnum;
6205
+ start: number;
6206
+ end: number;
6207
+ target: number;
6208
+ factions: FactionTerritoryWarOngoingFaction[];
5700
6209
  }
5701
6210
 
5702
- export interface ItemMarketItem {
5703
- id: ItemId;
5704
- name: string;
5705
- type: string;
5706
- average_price: number;
6211
+ export interface FactionTerritoryWarsResponse {
6212
+ territorywars: FactionTerritoryWarOngoing[] | FactionTerritoryWarFinished[];
5707
6213
  }
5708
6214
 
5709
- export interface ItemMarketListingStackable {
5710
- price: number;
5711
- amount: number;
6215
+ export interface FactionTerritoryWarsHistoryResponse {
6216
+ territorywars: FactionTerritoryWarFinished[];
5712
6217
  }
5713
6218
 
5714
- export interface ItemMarketListingItemDetails {
5715
- uid: ItemUid;
5716
- stats: ItemMarketListingItemStats;
5717
- bonuses: ItemMarketListingItemBonus[];
5718
- rarity: ("yellow" | "orange" | "red") | null;
6219
+ export interface FactionTerritoryWarReportMembers {
6220
+ id: UserId;
6221
+ username: string;
6222
+ level: number;
6223
+ score: number;
6224
+ joins: number;
6225
+ clears: number;
5719
6226
  }
5720
6227
 
5721
- export interface ItemMarketListingNonstackable {
5722
- price: number;
5723
- amount: number;
5724
- itemDetails?: ItemMarketListingItemDetails;
5725
- item_details: ItemMarketListingItemDetails;
6228
+ export interface FactionTerritoryWarReportFaction {
6229
+ id: FactionId;
6230
+ name: string;
6231
+ score: number;
6232
+ joins: number;
6233
+ clears: number;
6234
+ is_aggressor: boolean;
6235
+ members: FactionTerritoryWarReportMembers[];
5726
6236
  }
5727
6237
 
5728
- export interface ItemMarket {
5729
- item: ItemMarketItem;
5730
- listings: (ItemMarketListingNonstackable | ItemMarketListingStackable)[];
6238
+ export interface FactionTerritoryWarReport {
6239
+ id: TerritoryWarId;
6240
+ territory: FactionTerritoryEnum;
6241
+ started_at: number;
6242
+ ended_at: number;
6243
+ winner: FactionId;
6244
+ result: string;
6245
+ factions: FactionTerritoryWarReportFaction[];
5731
6246
  }
5732
6247
 
5733
- export interface MarketItemMarketResponse {
5734
- itemmarket: ItemMarket;
5735
- _metadata: RequestMetadataWithLinks;
6248
+ export interface FactionTerritoryWarReportResponse {
6249
+ territorywarreport: FactionTerritoryWarReport[];
5736
6250
  }
5737
6251
 
5738
- /** The following selections will fallback to API v1 and may change at any time: 'pointsmarket'. */
5739
- export type MarketSelectionName =
5740
- | "itemmarket"
5741
- | "lookup"
5742
- | "timestamp"
5743
- | "pointsmarket"
5744
- | "bazaar";
6252
+ export interface FactionTerritoryOwnership {
6253
+ id: string;
6254
+ owned_by: FactionId | null;
6255
+ acquired_at: number | null;
6256
+ }
5745
6257
 
5746
- export interface MarketLookupResponse {
5747
- selections: MarketSelectionName[];
6258
+ export interface FactionTerritoriesOwnershipResponse {
6259
+ territoryownership: FactionTerritoryOwnership[];
5748
6260
  }
5749
6261
 
5750
- export interface RacingCarsResponse {
5751
- cars: RaceCar[];
6262
+ export interface TornRacketReward {
6263
+ type: TornRacketType;
6264
+ quantity: number;
6265
+ id: ItemId | null;
5752
6266
  }
5753
6267
 
5754
- export interface RaceCar {
5755
- car_item_id: ItemId;
5756
- car_item_name: string;
5757
- top_speed: number;
5758
- acceleration: number;
5759
- braking: number;
5760
- dirt: number;
5761
- handling: number;
5762
- safety: number;
5763
- tarmac: number;
5764
- class: RaceClassEnum;
6268
+ export interface TornRacket {
6269
+ name: string;
6270
+ level: number;
6271
+ description: string;
6272
+ reward: TornRacketReward;
6273
+ created_at: number;
6274
+ changed_at: number;
5765
6275
  }
5766
6276
 
5767
- export interface RacingTracksResponse {
5768
- tracks: RaceTrack[];
6277
+ export interface FactionRacketsReponse {
6278
+ rackets: TornRacket[];
5769
6279
  }
5770
6280
 
5771
- export interface RaceTrack {
5772
- id: RaceTrackId;
5773
- title: string;
5774
- description: string;
6281
+ export interface FactionTerritory {
6282
+ id: FactionTerritoryEnum;
6283
+ acquired_at: number;
6284
+ sector: number;
6285
+ size: number;
6286
+ density: number;
6287
+ slots: number;
6288
+ respect: number;
6289
+ coordinates: TornTerritoryCoordinates;
6290
+ racket: TornRacket | null;
5775
6291
  }
5776
6292
 
5777
- export interface RacingCarUpgradesResponse {
5778
- carupgrades: RaceCarUpgrade[];
6293
+ export interface FactionTerritoriesReponse {
6294
+ territory: FactionTerritory[];
5779
6295
  }
5780
6296
 
5781
- export interface RaceCarUpgrade {
5782
- id: RaceCarUpgradeId;
5783
- class_required: RaceClassEnum;
6297
+ export interface FactionPosition {
5784
6298
  name: string;
5785
- description: string;
5786
- category: RaceCarUpgradeCategory;
5787
- subcategory: RaceCarUpgradeSubCategory;
5788
- effects: {
5789
- top_speed: number;
5790
- acceleration: number;
5791
- braking: number;
5792
- handling: number;
5793
- safety: number;
5794
- dirt: number;
5795
- tarmac: number;
5796
- };
5797
- cost: {
5798
- points: number;
5799
- cash: number;
5800
- };
6299
+ is_default: boolean;
6300
+ abilities: FactionPositionAbilityEnum[];
5801
6301
  }
5802
6302
 
5803
- export interface RacingRacesResponse {
5804
- races: Race[];
5805
- _metadata: RequestMetadataWithLinks;
6303
+ export interface FactionPositionsResponse {
6304
+ positions: FactionPosition[];
5806
6305
  }
5807
6306
 
5808
- export interface Race {
5809
- id: RaceId;
5810
- title: string;
5811
- track_id: RaceTrackId;
5812
- creator_id: UserId;
5813
- status: RaceStatusEnum;
5814
- laps: number;
5815
- participants: {
5816
- minimum: number;
5817
- maximum: number;
5818
- current: number;
5819
- };
5820
- schedule: {
5821
- join_from: number;
5822
- join_until: number;
5823
- start: number;
5824
- end: number | null;
5825
- };
5826
- requirements: {
5827
- car_class: RaceClassEnum | null;
5828
- driver_class: RaceClassEnum | null;
5829
- car_item_id: ItemId | null;
5830
- requires_stock_car: boolean;
5831
- requires_password: boolean;
5832
- join_fee: number;
5833
- };
6307
+ export interface FactionUpgradeDetails {
6308
+ id: FactionBranchId;
6309
+ name: string;
6310
+ ability: string;
6311
+ level: number;
6312
+ cost: number;
6313
+ unlocked_at?: number;
5834
6314
  }
5835
6315
 
5836
- export interface RacingTrackRecordsResponse {
5837
- records: RaceRecord[];
6316
+ export interface FactionBranchDetails {
6317
+ name: string;
6318
+ order: number;
6319
+ /** Respect cost multiplier. */
6320
+ multiplier: number;
6321
+ upgrades: FactionUpgradeDetails[];
5838
6322
  }
5839
6323
 
5840
- export interface RaceRecord {
5841
- driver_id: UserId;
5842
- driver_name: string;
5843
- car_item_id: ItemId;
5844
- lap_time: number;
5845
- car_item_name: string;
6324
+ export interface FactionUpgrades {
6325
+ core: {
6326
+ upgrades?: FactionUpgradeDetails[];
6327
+ };
6328
+ peace: FactionBranchDetails[];
6329
+ war: FactionBranchDetails[];
5846
6330
  }
5847
6331
 
5848
- export interface RacerDetails {
5849
- driver_id: UserId;
5850
- position: number | null;
5851
- car_id: RaceCarId;
5852
- car_item_id: ItemId;
5853
- car_item_name: string;
5854
- car_class: RaceClassEnum;
5855
- has_crashed: boolean | null;
5856
- best_lap_time: number | null;
5857
- race_time: number | null;
5858
- time_ended: number | null;
6332
+ export interface FactionUpgradesResponse {
6333
+ upgrades: FactionUpgrades;
6334
+ state: FactionBranchStateEnum;
5859
6335
  }
5860
6336
 
5861
- export interface RacingRaceDetailsResponse {
5862
- race?: {
5863
- results: RacerDetails[];
5864
- } & Race;
6337
+ export interface FactionStat {
6338
+ name: FactionStatEnum;
6339
+ value: number;
5865
6340
  }
5866
6341
 
5867
- export type RacingSelectionName =
5868
- | "cars"
5869
- | "carupgrades"
5870
- | "lookup"
5871
- | "race"
5872
- | "races"
5873
- | "records"
5874
- | "timestamp"
5875
- | "tracks";
6342
+ export interface FactionStatsResponse {
6343
+ stats: FactionStat[];
6344
+ }
5876
6345
 
5877
- export interface RacingLookupResponse {
5878
- selections: RacingSelectionName[];
6346
+ export interface FactionContributor {
6347
+ id: UserId;
6348
+ username: string;
6349
+ value: number;
6350
+ in_faction: boolean;
5879
6351
  }
5880
6352
 
5881
- export interface TornEducationRewards {
5882
- working_stats: {
5883
- manual_labor: number | null;
5884
- intelligence: number | null;
5885
- endurance: number | null;
5886
- };
5887
- effect: string | null;
5888
- honor: string | null;
6353
+ export interface FactionContributorsResponse {
6354
+ contributors: FactionContributor[];
5889
6355
  }
5890
6356
 
5891
- export interface TornEducationPrerequisites {
5892
- cost: number;
5893
- courses: number[];
6357
+ export interface FactionHofStats {
6358
+ rank: HofValueString;
6359
+ respect: HofValue;
6360
+ chain: HofValue;
5894
6361
  }
5895
6362
 
5896
- export interface TornEducationCourses {
5897
- id: EducationId;
5898
- code: string;
5899
- name: string;
5900
- description: string;
5901
- duration: number;
5902
- rewards: TornEducationRewards;
5903
- prerequisites: TornEducationPrerequisites;
6363
+ export interface FactionHofResponse {
6364
+ hof: FactionHofStats;
5904
6365
  }
5905
6366
 
5906
- export interface TornEducation {
5907
- id: number;
6367
+ /** Details about a faction member. */
6368
+ export interface FactionMember {
6369
+ id: UserId;
5908
6370
  name: string;
5909
- courses: TornEducationCourses[];
6371
+ position: string;
6372
+ level: number;
6373
+ days_in_faction: number;
6374
+ is_revivable: boolean;
6375
+ /** Shows if the member is currently defending territory wall. */
6376
+ is_on_wall: boolean;
6377
+ /** Shows if the member is currently participating in an organized crime. Show false for members of other factions. */
6378
+ is_in_oc: boolean;
6379
+ /** Shows if the member is eligible for an early discharge from the hospital. */
6380
+ has_early_discharge: boolean;
6381
+ last_action: UserLastAction;
6382
+ status: UserStatus;
6383
+ revive_setting: ReviveSetting;
5910
6384
  }
5911
6385
 
5912
- export interface TornEducationResponse {
5913
- education: TornEducation[];
6386
+ /** Details about a user's last action. */
6387
+ export interface UserLastAction {
6388
+ status: string;
6389
+ timestamp: number;
6390
+ relative: string;
5914
6391
  }
5915
6392
 
5916
- export interface TornTerritoryCoordinates {
5917
- x: number;
5918
- y: number;
6393
+ /** Details about a user's status. */
6394
+ export interface UserStatus {
6395
+ description: string;
6396
+ details: string | null;
6397
+ state: string;
6398
+ until: number | null;
5919
6399
  }
5920
6400
 
5921
- export interface TornTerritory {
5922
- id: FactionTerritoryEnum;
5923
- sector: number;
5924
- size: number;
5925
- density: number;
5926
- slots: number;
6401
+ export interface FactionMembersResponse {
6402
+ members: FactionMember[];
6403
+ }
6404
+
6405
+ export interface FactionRank {
6406
+ /** /** */
6407
+ level: number;
6408
+ name: string;
6409
+ division: number;
6410
+ position: number;
6411
+ wins: number;
6412
+ }
6413
+
6414
+ export interface FactionBasic {
6415
+ id: FactionId;
6416
+ name: string;
6417
+ tag: string;
6418
+ tag_image: string;
6419
+ leader_id: UserId;
6420
+ "co-leader_id"?: UserId;
6421
+ co_leader_id: UserId;
5927
6422
  respect: number;
5928
- coordinates: TornTerritoryCoordinates;
5929
- neighbors: FactionTerritoryEnum[];
6423
+ days_old: number;
6424
+ capacity: number;
6425
+ members: number;
6426
+ is_enlisted: boolean | null;
6427
+ rank: FactionRank;
6428
+ best_chain: number;
5930
6429
  }
5931
6430
 
5932
- export interface TornTerritoriesResponse {
5933
- territory: TornTerritory[];
5934
- _metadata: RequestMetadataWithLinks;
6431
+ export interface FactionBasicResponse {
6432
+ basic: FactionBasic;
5935
6433
  }
5936
6434
 
5937
- export interface TornTerritoriesNoLinksReponse {
5938
- territory: TornTerritory[];
6435
+ export interface FactionPact {
6436
+ faction_id: FactionId;
6437
+ faction_name: string;
6438
+ /** The duration until when is the non-aggression pact valid. */
6439
+ until: string;
5939
6440
  }
5940
6441
 
5941
- export interface TornSubcrimesResponse {
5942
- subcrimes: TornSubcrime[];
6442
+ export interface FactionRankedWarParticipant {
6443
+ id: FactionId;
6444
+ name: string;
6445
+ score: number;
6446
+ /** Faction's current chain. */
6447
+ chain: number;
5943
6448
  }
5944
6449
 
5945
- export interface TornSubcrime {
5946
- id: number;
6450
+ export interface FactionRankedWar {
6451
+ war_id: number;
6452
+ start: number;
6453
+ end: number | null;
6454
+ /** The score target of the war. */
6455
+ target: number;
6456
+ winner: number | null;
6457
+ /** The factions involved in the ranked war. */
6458
+ factions: FactionRankedWarParticipant[];
6459
+ }
6460
+
6461
+ export interface FactionRaidWarParticipant {
6462
+ id: FactionId;
5947
6463
  name: string;
5948
- nerve_cost: number;
6464
+ score: number;
6465
+ /** Faction's current chain. */
6466
+ chain: number;
6467
+ is_aggressor: boolean;
5949
6468
  }
5950
6469
 
5951
- export interface TornCrimesResponse {
5952
- crimes: TornCrime[];
6470
+ export interface FactionRaidWar {
6471
+ war_id: number;
6472
+ start: number;
6473
+ end: number | null;
6474
+ /** The factions involved in the raid war. */
6475
+ factions: FactionRaidWarParticipant[];
5953
6476
  }
5954
6477
 
5955
- export interface TornCrime {
5956
- id: TornCrimeId;
6478
+ export interface FactionTerritoryWarParticipant {
6479
+ id: FactionId;
5957
6480
  name: string;
5958
- category_id: number;
5959
- category_name?: string;
5960
- enhancer_id: number;
5961
- enhancer_name: string;
5962
- unique_outcomes_count: number;
5963
- unique_outcomes_ids: number[];
5964
- notes?: string[];
6481
+ score: number;
6482
+ /** Faction's current chain. */
6483
+ chain: number;
6484
+ is_aggressor: boolean;
6485
+ playerIds: UserId[];
5965
6486
  }
5966
6487
 
5967
- export interface TornCalendarActivity {
5968
- title: string;
5969
- description: string;
6488
+ export interface FactionTerritoryWar {
6489
+ war_id: number;
6490
+ territory: string;
5970
6491
  start: number;
5971
- end: number;
6492
+ end: number | null;
6493
+ /** The score target of the war. */
6494
+ target: number;
6495
+ winner?: FactionId | null;
6496
+ /** The factions involved in the territory war. */
6497
+ factions: FactionTerritoryWarParticipant[];
5972
6498
  }
5973
6499
 
5974
- export interface TornCalendarResponse {
5975
- calendar: {
5976
- competitions: TornCalendarActivity[];
5977
- events: TornCalendarActivity[];
5978
- };
6500
+ export interface FactionWars {
6501
+ ranked: FactionRankedWar | null;
6502
+ raids: FactionRaidWar[];
6503
+ territory: FactionTerritoryWar[];
5979
6504
  }
5980
6505
 
5981
- export interface TornHof {
5982
- id: UserId;
5983
- username: string;
5984
- faction_id: FactionId;
5985
- level: number;
5986
- last_action: number;
5987
- rank_name: string;
5988
- rank_number: number;
5989
- position: number;
5990
- signed_up: number;
5991
- age_in_days: number;
5992
- value: any;
5993
- rank: string;
6506
+ export interface FactionWarsResponse {
6507
+ pacts: FactionPact[];
6508
+ wars: FactionWars;
5994
6509
  }
5995
6510
 
5996
- export interface TornHofResponse {
5997
- hof: TornHof[];
5998
- _metadata: RequestMetadataWithLinks;
6511
+ export interface FactionNews {
6512
+ id: string;
6513
+ text: string;
6514
+ timestamp: number;
5999
6515
  }
6000
6516
 
6001
- export interface FactionHofValues {
6002
- chain: number | null;
6003
- chain_duration: number | null;
6004
- respect: number | null;
6517
+ export interface FactionNewsResponse {
6518
+ news: FactionNews[];
6519
+ _metadata: RequestMetadataWithLinks;
6005
6520
  }
6006
6521
 
6007
- export interface TornFactionHof {
6008
- id: FactionId;
6009
- name: string;
6010
- members: number;
6011
- position: number;
6012
- /** The full rank title & division of the faction. */
6013
- rank: string;
6014
- values: FactionHofValues;
6522
+ export interface FactionAttacksResponse {
6523
+ attacks: Attack[];
6524
+ _metadata: RequestMetadataWithLinks;
6015
6525
  }
6016
6526
 
6017
- export interface TornFactionHofResponse {
6018
- factionhof: TornFactionHof[];
6527
+ export interface FactionAttacksFullResponse {
6528
+ attacks: AttackSimplified[];
6019
6529
  _metadata: RequestMetadataWithLinks;
6020
6530
  }
6021
6531
 
6022
- export interface TornLog {
6023
- id: LogId;
6024
- title: string;
6532
+ export interface FactionApplication {
6533
+ /** application id */
6534
+ id: number;
6535
+ user: {
6536
+ id: UserId;
6537
+ name: string;
6538
+ level: number;
6539
+ stats: {
6540
+ strength: number;
6541
+ speed: number;
6542
+ dexterity: number;
6543
+ defense: number;
6544
+ };
6545
+ };
6546
+ message: string;
6547
+ valid_until: number;
6548
+ status: FactionApplicationStatusEnum;
6025
6549
  }
6026
6550
 
6027
- export interface TornLogCategory {
6028
- id: LogCategoryId;
6029
- title: string;
6551
+ export interface FactionApplicationsResponse {
6552
+ applications: FactionApplication[];
6030
6553
  }
6031
6554
 
6032
- export interface TornLogTypesResponse {
6033
- logtypes: TornLog[];
6555
+ export interface FactionOngoingChain {
6556
+ id: ChainId;
6557
+ current: number;
6558
+ max: number;
6559
+ /** Seconds until chain breaks. */
6560
+ timeout: number;
6561
+ modifier: number;
6562
+ /** Timestamp until when chain is on cooldown. */
6563
+ cooldown: number;
6564
+ start: number;
6565
+ end: number;
6034
6566
  }
6035
6567
 
6036
- export interface TornLogCategoriesResponse {
6037
- logcategories: TornLogCategory[];
6568
+ export interface FactionOngoingChainResponse {
6569
+ chain: FactionOngoingChain;
6038
6570
  }
6039
6571
 
6040
- export interface Bounty {
6041
- target_id: UserId;
6042
- target_name: string;
6043
- target_level: number;
6044
- lister_id: UserId | null;
6045
- lister_name: string | null;
6046
- reward: number;
6047
- reason: string | null;
6048
- quantity: number;
6049
- is_anonymous: boolean;
6050
- valid_until: number;
6572
+ export interface FactionChain {
6573
+ id: ChainId;
6574
+ chain: number;
6575
+ respect: number;
6576
+ start: number;
6577
+ end: number;
6051
6578
  }
6052
6579
 
6053
- export interface AttackLogSummary {
6054
- id: UserId | null;
6055
- name: /** Name of the participant, could be null in stealthed attacks. */
6056
- string | null;
6057
- hits: number;
6058
- misses: number;
6059
- damage: number;
6580
+ export interface FactionChainsResponse {
6581
+ chains: FactionChain[];
6582
+ _metadata: RequestMetadataWithLinks;
6060
6583
  }
6061
6584
 
6062
- export interface AttackLog {
6063
- text: string;
6064
- timestamp: number;
6065
- action: AttackActionEnum;
6066
- icon: string;
6067
- attacker: /** This value could be null in stealthed attacks. */
6068
- {
6069
- id: UserId;
6070
- name: string;
6071
- item: /** This object could be null if there was no item being used in this turn or during this effect. */
6072
- {
6073
- id?: ItemId;
6074
- name?: string;
6075
- } | null;
6076
- } | null;
6077
- defender: /** This value could be null in stealthed attacks. */
6078
- {
6079
- id: UserId;
6080
- name: string;
6081
- } | null;
6585
+ export interface FactionChainReportResponse {
6586
+ chainreport: FactionChainReport;
6082
6587
  }
6083
6588
 
6084
- export interface AttackLogResponse {
6085
- attacklog: {
6086
- log: AttackLog[];
6087
- summary: AttackLogSummary[];
6088
- };
6089
- _metadata: RequestMetadataWithLinks;
6589
+ export interface FactionChainReport {
6590
+ id: ChainId;
6591
+ faction_id: FactionId;
6592
+ start: number;
6593
+ end: number;
6594
+ details: FactionChainReportDetails;
6595
+ bonuses: FactionChainReportBonus[];
6596
+ attackers: FactionChainReportAttacker[];
6597
+ /** This is replaced with 'non_attackers' field and will be removed on 1st June 2025. */
6598
+ "non-attackers"?: UserId[];
6599
+ non_attackers: UserId[];
6090
6600
  }
6091
6601
 
6092
- export interface TornBountiesResponse {
6093
- bounties: Bounty[];
6094
- _metadata: RequestMetadataWithLinks;
6602
+ export interface FactionChainReportDetails {
6603
+ chain: number;
6604
+ respect: number;
6605
+ members: number;
6606
+ targets: number;
6607
+ war: number;
6608
+ best: number;
6609
+ leave: number;
6610
+ mug: number;
6611
+ hospitalize: number;
6612
+ assists: number;
6613
+ retaliations: number;
6614
+ overseas: number;
6615
+ draws: number;
6616
+ escapes: number;
6617
+ losses: number;
6095
6618
  }
6096
6619
 
6097
- export interface TornItemAmmo {
6098
- id: AmmoId;
6099
- name: string;
6100
- price: number;
6101
- /** Types of ammo */
6102
- types: TornItemAmmoTypeEnum[];
6620
+ export interface FactionChainReportBonus {
6621
+ attacker_id: UserId;
6622
+ defender_id: UserId;
6623
+ chain: number;
6624
+ respect: number;
6103
6625
  }
6104
6626
 
6105
- export interface TornItemAmmoResponse {
6106
- itemammo: TornItemAmmo[];
6627
+ export interface FactionChainReportAttacker {
6628
+ id: UserId;
6629
+ respect: FactionChainReportAttackerRespect;
6630
+ attacks: FactionChainReportAttackerAttacks;
6107
6631
  }
6108
6632
 
6109
- export interface TornItemMods {
6110
- id: ItemModId;
6111
- name: string;
6112
- description: string;
6113
- /** Whether the upgrade fits on dual weapons. */
6114
- dual_fit: boolean;
6115
- /** The weapon types this upgrade can be attached to. */
6116
- weapons: TornItemWeaponTypeEnum[];
6633
+ export interface FactionChainReportAttackerRespect {
6634
+ total: number;
6635
+ average: number;
6636
+ best: number;
6117
6637
  }
6118
6638
 
6119
- export interface TornItemModsResponse {
6120
- itemmods: TornItemMods[];
6639
+ export interface FactionChainReportAttackerAttacks {
6640
+ total: number;
6641
+ leave: number;
6642
+ mug: number;
6643
+ hospitalize: number;
6644
+ assists: number;
6645
+ retaliations: number;
6646
+ overseas: number;
6647
+ draws: number;
6648
+ escapes?: number;
6649
+ losses: number;
6650
+ war: number;
6651
+ bonuses: number;
6121
6652
  }
6122
6653
 
6123
- export interface TornItemBaseStats {
6124
- damage: number;
6125
- accuracy: number;
6126
- armor: number;
6654
+ export interface FactionCrimeUser {
6655
+ id: UserId;
6656
+ outcome: FactionCrimeUserOutcome | null;
6657
+ /** The timestamp at which the user joined the slot. */
6658
+ joined_at: number;
6659
+ /** Current planning progress on the slot. */
6660
+ progress: number;
6127
6661
  }
6128
6662
 
6129
- export interface TornItemWeaponDetails {
6130
- stealth_level: number;
6131
- base_stats: TornItemBaseStats;
6132
- category: TornItemWeaponCategoryEnum;
6133
- ammo: {
6134
- id: AmmoId;
6135
- name: string;
6136
- magazine_rounds: number;
6137
- rate_of_fire: {
6138
- minimum: number;
6139
- maximum: number;
6140
- };
6141
- } | null;
6142
- mods: ItemModId[];
6663
+ export interface FactionCrimeRewardItem {
6664
+ id: ItemId;
6665
+ quantity: number;
6143
6666
  }
6144
6667
 
6145
- export interface TornItemArmorCoverage {
6146
- name: TornItemArmorCoveragePartEnum;
6147
- value: number;
6668
+ export interface FactionCrimeRewardPayout {
6669
+ type: FactionOrganizedCrimePayoutType;
6670
+ /** Total percentage split between all participants. */
6671
+ percentage: number;
6672
+ paid_by: UserId;
6673
+ paid_at: number;
6148
6674
  }
6149
6675
 
6150
- export interface TornItemArmorDetails {
6151
- coverage: TornItemArmorCoverage[];
6152
- base_stats: TornItemBaseStats;
6676
+ export interface FactionCrimeReward {
6677
+ money: number;
6678
+ items: FactionCrimeRewardItem[];
6679
+ respect: number;
6680
+ scope: number;
6681
+ payout: FactionCrimeRewardPayout | null;
6153
6682
  }
6154
6683
 
6155
- export interface TornItem {
6156
- id: ItemId;
6684
+ export interface FactionCrimeSlot {
6685
+ position: string;
6686
+ item_requirement: {
6687
+ id: ItemId;
6688
+ /** Shows if the item is reusable or consumed during the crime. */
6689
+ is_reusable: boolean;
6690
+ /** Shows if user has the required item. */
6691
+ is_available: boolean;
6692
+ } | null;
6693
+ user: FactionCrimeUser | null;
6694
+ /** 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. */
6695
+ checkpoint_pass_rate: number;
6696
+ }
6697
+
6698
+ export interface FactionCrime {
6699
+ id: FactionCrimeId;
6700
+ previous_crime_id: FactionCrimeId | null;
6157
6701
  name: string;
6158
- description: string;
6159
- effect: string | null;
6160
- requirement: string | null;
6161
- image: string;
6162
- type: TornItemTypeEnum;
6163
- sub_type: TornItemWeaponTypeEnum | null;
6164
- is_masked: boolean;
6165
- is_tradable: boolean;
6166
- is_found_in_city: boolean;
6167
- value: {
6168
- vendor: {
6169
- country: string;
6170
- name: string;
6171
- } | null;
6172
- buy_price: number | null;
6173
- sell_price: number | null;
6174
- market_price: number;
6175
- };
6176
- circulation: number;
6177
- details: TornItemWeaponDetails | TornItemArmorDetails | null;
6702
+ difficulty: number;
6703
+ status: FactionCrimeStatusEnum;
6704
+ /** The timestamp at which the crime was created. */
6705
+ created_at: number;
6706
+ planning_at: number | null;
6707
+ ready_at: number | null;
6708
+ /** The timestamp at which the crime will expire. */
6709
+ expired_at: number;
6710
+ executed_at: number | null;
6711
+ slots: FactionCrimeSlot[];
6712
+ rewards: FactionCrimeReward | null;
6178
6713
  }
6179
6714
 
6180
- export interface TornItemsResponse {
6181
- items: TornItem[];
6715
+ export interface FactionCrimesResponse {
6716
+ crimes: FactionCrime[];
6717
+ _metadata: RequestMetadataWithLinks;
6182
6718
  }
6183
6719
 
6184
- export interface TornFactionTreeBranch {
6185
- id: FactionBranchId;
6186
- name: string;
6187
- upgrades: {
6188
- name: string;
6189
- level: number;
6190
- ability: string;
6191
- cost: number;
6192
- challenge: {
6193
- description: string;
6194
- amount_required: number;
6195
- stat: FactionStatEnum;
6196
- } | null;
6197
- }[];
6720
+ export interface FactionCrimeResponse {
6721
+ crime: FactionCrime;
6198
6722
  }
6199
6723
 
6200
- export interface TornFactionTree {
6201
- name: string;
6202
- branches: TornFactionTreeBranch[];
6724
+ export interface FactionBalance {
6725
+ faction: {
6726
+ money: number;
6727
+ points: number;
6728
+ scope: number;
6729
+ };
6730
+ members: {
6731
+ id: UserId;
6732
+ username: string;
6733
+ money: number;
6734
+ points: number;
6735
+ }[];
6203
6736
  }
6204
6737
 
6205
- export interface TornFactionTreeResponse {
6206
- factionTree: TornFactionTree[];
6738
+ export interface FactionBalanceResponse {
6739
+ balance: FactionBalance;
6207
6740
  }
6208
6741
 
6209
6742
  /**
6210
- * 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'.
6211
- * * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.
6743
+ * 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'.
6744
+ * * The following selections are not available in API v2: 'armorynews', 'attacknews', 'crimenews', 'currency', 'donations', 'fundsnews', 'mainnews', 'membershipnews', 'territorynews'.
6212
6745
  */
6213
- export type TornSelectionName =
6214
- | "attacklog"
6215
- | "bounties"
6216
- | "calendar"
6746
+ export type FactionSelectionName =
6747
+ | "applications"
6748
+ | "attacks"
6749
+ | "attacksfull"
6750
+ | "balance"
6751
+ | "basic"
6752
+ | "chain"
6753
+ | "chainreport"
6754
+ | "chains"
6755
+ | "contributors"
6756
+ | "crime"
6217
6757
  | "crimes"
6218
- | "education"
6219
- | "factionhof"
6220
- | "factiontree"
6221
6758
  | "hof"
6222
- | "itemammo"
6223
- | "itemmods"
6224
- | "items"
6225
- | "logcategories"
6226
- | "logtypes"
6227
6759
  | "lookup"
6228
- | "subcrimes"
6229
- | "territory"
6230
- | "timestamp"
6231
- | "bank"
6232
- | "cards"
6233
- | "cityshops"
6234
- | "companies"
6235
- | "competition"
6236
- | "dirtybombs"
6237
- | "gyms"
6238
- | "honors"
6239
- | "itemdetails"
6240
- | "itemstats"
6241
- | "medals"
6242
- | "organisedcrimes"
6243
- | "pawnshop"
6244
- | "pokertables"
6245
- | "properties"
6246
- | "raidreport"
6247
- | "raids"
6248
- | "rockpaperscissors"
6249
- | "searchforcash"
6250
- | "shoplifting"
6251
- | "stats"
6252
- | "stocks"
6253
- | "chainreport"
6760
+ | "members"
6761
+ | "news"
6254
6762
  | "rackets"
6255
- | "rankedwarreport"
6256
6763
  | "rankedwars"
6257
- | "territorynames"
6764
+ | "rankedwarreport"
6765
+ | "revives"
6766
+ | "revivesfull"
6767
+ | "stats"
6768
+ | "territory"
6769
+ | "territoryownership"
6258
6770
  | "territorywarreport"
6259
- | "territorywars";
6771
+ | "territorywars"
6772
+ | "timestamp"
6773
+ | "upgrades"
6774
+ | "wars"
6775
+ | "armor"
6776
+ | "boosters"
6777
+ | "caches"
6778
+ | "cesium"
6779
+ | "crimeexp"
6780
+ | "drugs"
6781
+ | "medical"
6782
+ | "positions"
6783
+ | "reports"
6784
+ | "temporary"
6785
+ | "weapons"
6786
+ | "armorynews"
6787
+ | "attacknews"
6788
+ | "crimenews"
6789
+ | "currency"
6790
+ | "donations"
6791
+ | "fundsnews"
6792
+ | "mainnews"
6793
+ | "membershipnews"
6794
+ | "territorynews";
6260
6795
 
6261
- export interface TornLookupResponse {
6262
- selections: TornSelectionName[];
6796
+ export interface FactionLookupResponse {
6797
+ selections: FactionSelectionName[];
6263
6798
  }
6264
6799
 
6265
- export interface PersonalStatsOther {
6266
- other: {
6267
- activity: {
6268
- /** Time played in seconds */
6269
- time: number;
6270
- streak: {
6271
- best: number;
6272
- current: number;
6273
- };
6274
- };
6275
- awards: number;
6276
- merits_bought: number;
6277
- refills: {
6278
- energy: number;
6279
- nerve: number;
6280
- token: number;
6281
- };
6282
- donator_days: number;
6283
- ranked_war_wins: number;
6284
- };
6800
+ export interface FactionRankedWarDetails {
6801
+ id: RankedWarId;
6802
+ /** Timestamp the war started at. */
6803
+ start: number;
6804
+ /** Timestamp the war ended at. */
6805
+ end: number;
6806
+ target: number;
6807
+ winner: FactionId | null;
6808
+ factions: {
6809
+ id: FactionId;
6810
+ name: string;
6811
+ score: number;
6812
+ chain: number;
6813
+ }[];
6285
6814
  }
6286
6815
 
6287
- export interface PersonalStatsOtherPopular {
6288
- other: {
6289
- activity: {
6290
- /** Time played in seconds */
6291
- time: number;
6292
- streak: {
6293
- best: number;
6294
- current: number;
6816
+ export interface FactionRankedWarResponse {
6817
+ rankedwars: FactionRankedWarDetails[];
6818
+ _metadata: RequestMetadataWithLinks;
6819
+ }
6820
+
6821
+ export interface FactionRankedWarReportResponse {
6822
+ rankedwarreport: {
6823
+ id: RankedWarId;
6824
+ /** Timestamp the war started at. */
6825
+ start: number;
6826
+ /** Timestamp the war ended at. */
6827
+ end: number;
6828
+ winner: FactionId;
6829
+ forfeit: boolean;
6830
+ factions: {
6831
+ id: FactionId;
6832
+ name: string;
6833
+ score: number;
6834
+ attacks: number;
6835
+ rank: {
6836
+ before: string;
6837
+ after: string;
6295
6838
  };
6296
- };
6297
- awards: number;
6298
- merits_bought: number;
6299
- refills: {
6300
- energy: number;
6301
- nerve: number;
6302
- };
6303
- donator_days: number;
6304
- ranked_war_wins: number;
6839
+ rewards: {
6840
+ respect: number;
6841
+ points: number;
6842
+ items: {
6843
+ id: ItemId;
6844
+ name: string;
6845
+ quantity: number;
6846
+ }[];
6847
+ };
6848
+ members: {
6849
+ id: UserId;
6850
+ name: string;
6851
+ level: number;
6852
+ attacks: number;
6853
+ score: number;
6854
+ }[];
6855
+ }[];
6305
6856
  };
6306
6857
  }
6307
6858
 
6308
- export interface PersonalStatsNetworthExtended {
6309
- networth: {
6310
- total: number;
6311
- wallet: number;
6312
- vaults: number;
6313
- bank: number;
6314
- overseas_bank: number;
6315
- points: number;
6316
- inventory: number;
6317
- display_case: number;
6318
- bazaar: number;
6319
- item_market: number;
6320
- property: number;
6321
- stock_market: number;
6322
- auction_house: number;
6323
- bookie: number;
6324
- company: number;
6325
- enlisted_cars: number;
6326
- piggy_bank: number;
6327
- pending: number;
6328
- loans: number;
6329
- unpaid_fees: number;
6330
- };
6859
+ export interface ForumCategoriesResponse {
6860
+ categories: {
6861
+ id: ForumId;
6862
+ title: string;
6863
+ acronym: string;
6864
+ threads: number;
6865
+ }[];
6331
6866
  }
6332
6867
 
6333
- export interface PersonalStatsNetworthPublic {
6334
- networth: {
6335
- total: number;
6336
- };
6868
+ export interface ForumThreadAuthor {
6869
+ id: UserId;
6870
+ username: string;
6871
+ karma: number;
6337
6872
  }
6338
6873
 
6339
- export interface PersonalStatsRacing {
6340
- racing: {
6341
- skill: number;
6342
- points: number;
6343
- races: {
6344
- entered: number;
6345
- won: number;
6346
- };
6347
- };
6874
+ export interface ForumPollVote {
6875
+ answer: string;
6876
+ votes: number;
6348
6877
  }
6349
6878
 
6350
- export interface PersonalStatsMissions {
6351
- missions: {
6352
- missions: number;
6353
- contracts: {
6354
- total: number;
6355
- duke: number;
6356
- };
6357
- credits: number;
6358
- };
6879
+ export interface ForumPoll {
6880
+ question: string;
6881
+ answers_count: number;
6882
+ answers: ForumPollVote[];
6359
6883
  }
6360
6884
 
6361
- export interface PersonalStatsDrugs {
6362
- drugs: {
6363
- cannabis: number;
6364
- ecstasy: number;
6365
- ketamine: number;
6366
- lsd: number;
6367
- opium: number;
6368
- pcp: number;
6369
- shrooms: number;
6370
- speed: number;
6371
- vicodin: number;
6372
- xanax: number;
6373
- total: number;
6374
- overdoses: number;
6375
- rehabilitations: {
6376
- amount: number;
6377
- fees: number;
6378
- };
6379
- };
6885
+ export interface ForumThreadBase {
6886
+ id: ForumThreadId;
6887
+ title: string;
6888
+ forum_id: ForumId;
6889
+ posts: number;
6890
+ rating: number;
6891
+ /** Total number of times players have opened this thread. */
6892
+ views: number;
6893
+ author: ForumThreadAuthor;
6894
+ last_poster: ForumThreadAuthor | null;
6895
+ first_post_time: number;
6896
+ last_post_time: number | null;
6897
+ has_poll: boolean;
6898
+ is_locked: boolean;
6899
+ is_sticky: boolean;
6380
6900
  }
6381
6901
 
6382
- export interface PersonalStatsTravel {
6383
- travel: {
6384
- total: number;
6385
- time_spent: number;
6386
- items_bought: number;
6387
- hunting: {
6388
- skill: number;
6389
- };
6390
- attacks_won: number;
6391
- defends_lost: number;
6392
- argentina: number;
6393
- canada: number;
6394
- cayman_islands: number;
6395
- china: number;
6396
- hawaii: number;
6397
- japan: number;
6398
- mexico: number;
6399
- united_arab_emirates: number;
6400
- united_kingdom: number;
6401
- south_africa: number;
6402
- switzerland: number;
6403
- };
6902
+ export interface ForumThreadExtended extends ForumThreadBase {
6903
+ content: string;
6904
+ content_raw: string;
6905
+ poll: ForumPoll | null;
6404
6906
  }
6405
6907
 
6406
- export interface PersonalStatsTravelPopular {
6407
- travel: {
6408
- total: number;
6409
- time_spent: number;
6410
- };
6908
+ export interface ForumPost {
6909
+ id: ForumPostId;
6910
+ thread_id: ForumThreadId;
6911
+ author: ForumThreadAuthor;
6912
+ /** Indicates whether post was made using the old formatting engine which doesn't use HTML. */
6913
+ is_legacy: boolean;
6914
+ is_topic: boolean;
6915
+ is_edited: boolean;
6916
+ is_pinned: boolean;
6917
+ created_time: number;
6918
+ edited_by: UserId | null;
6919
+ has_quote: boolean;
6920
+ quoted_post_id: number | null;
6921
+ /** 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. */
6922
+ content: string;
6923
+ likes: number;
6924
+ dislikes: number;
6411
6925
  }
6412
6926
 
6413
- export interface PersonalStatsItems {
6414
- items: {
6415
- found: {
6416
- city: number;
6417
- dump: number;
6418
- easter_eggs: number;
6419
- };
6420
- trashed: number;
6421
- used: {
6422
- books: number;
6423
- boosters: number;
6424
- consumables: number;
6425
- candy: number;
6426
- alcohol: number;
6427
- energy_drinks: number;
6428
- stat_enhancers: number;
6429
- easter_eggs: number;
6430
- };
6431
- viruses_coded: number;
6432
- };
6927
+ export interface ForumThreadUserExtended extends ForumThreadBase {
6928
+ new_posts: number | null;
6433
6929
  }
6434
6930
 
6435
- export interface PersonalStatsItemsPopular {
6436
- items: {
6437
- found: {
6438
- dump: number;
6439
- };
6440
- used: {
6441
- books: number;
6442
- boosters: number;
6443
- consumables: number;
6444
- candy: number;
6445
- alcohol: number;
6446
- energy_drinks: number;
6447
- stat_enhancers: number;
6448
- easter_eggs: number;
6449
- };
6450
- };
6931
+ export interface ForumSubscribedThreadPostsCount {
6932
+ new: number;
6933
+ total: number;
6451
6934
  }
6452
6935
 
6453
- export interface PersonalStatsInvestments {
6454
- investments: {
6455
- bank: {
6456
- total: number;
6457
- profit: number;
6458
- current: number;
6459
- time_remaining: number;
6460
- };
6461
- stocks: {
6462
- profits: number;
6463
- losses: number;
6464
- fees: number;
6465
- net_profits: number;
6466
- payouts: number;
6467
- };
6468
- };
6936
+ export interface ForumSubscribedThread {
6937
+ id: ForumThreadId;
6938
+ forum_id: ForumId;
6939
+ author: ForumThreadAuthor;
6940
+ title: string;
6941
+ posts: ForumSubscribedThreadPostsCount;
6469
6942
  }
6470
6943
 
6471
- export interface PersonalStatsBounties {
6472
- bounties: {
6473
- placed: {
6474
- amount: number;
6475
- value: number;
6476
- };
6477
- collected: {
6478
- amount: number;
6479
- value: number;
6480
- };
6481
- received: {
6482
- amount: number;
6483
- value: number;
6484
- };
6485
- };
6944
+ export interface ForumFeed {
6945
+ thread_id: ForumThreadId;
6946
+ post_id: ForumPostId;
6947
+ user: ForumThreadAuthor;
6948
+ title: string;
6949
+ text: string;
6950
+ timestamp: number;
6951
+ is_seen: boolean;
6952
+ type: ForumFeedTypeEnum;
6486
6953
  }
6487
6954
 
6488
- export interface PersonalStatsCrimesV2 {
6489
- offenses: {
6490
- vandalism: number;
6491
- fraud: number;
6492
- theft: number;
6493
- counterfeiting: number;
6494
- illicit_services: number;
6495
- cybercrime: number;
6496
- extortion: number;
6497
- illegal_production: number;
6498
- organized_crimes: number;
6499
- total: number;
6500
- };
6501
- skills: {
6502
- search_for_cash: number;
6503
- bootlegging: number;
6504
- graffiti: number;
6505
- shoplifting: number;
6506
- pickpocketing: number;
6507
- card_skimming: number;
6508
- burglary: number;
6509
- hustling: number;
6510
- disposal: number;
6511
- cracking: number;
6512
- forgery: number;
6513
- scamming: number;
6514
- };
6515
- version: string;
6955
+ export interface ForumThreadsResponse {
6956
+ threads: ForumThreadBase[];
6957
+ _metadata: RequestMetadataWithLinks;
6516
6958
  }
6517
6959
 
6518
- export interface PersonalStatsCrimesV1 {
6519
- total: number;
6520
- sell_illegal_goods: number;
6521
- theft: number;
6522
- auto_theft: number;
6523
- drug_deals: number;
6524
- computer: number;
6525
- fraud: number;
6526
- murder: number;
6527
- other: number;
6528
- organized_crimes: number;
6529
- version: string;
6530
- }
6531
-
6532
- export interface PersonalStatsCrimesPopular {
6533
- crimes: {
6534
- total: number;
6535
- version: string;
6536
- };
6537
- }
6538
-
6539
- export interface PersonalStatsCommunication {
6540
- communication: {
6541
- mails_sent: {
6542
- total: number;
6543
- friends: number;
6544
- faction: number;
6545
- colleagues: number;
6546
- spouse: number;
6547
- };
6548
- classified_ads: number;
6549
- personals: number;
6550
- };
6551
- }
6552
-
6553
- export interface PersonalStatsFinishingHits {
6554
- finishing_hits: {
6555
- heavy_artillery: number;
6556
- machine_guns: number;
6557
- rifles: number;
6558
- sub_machine_guns: number;
6559
- shotguns: number;
6560
- pistols: number;
6561
- temporary: number;
6562
- piercing: number;
6563
- slashing: number;
6564
- clubbing: number;
6565
- mechanical: number;
6566
- hand_to_hand: number;
6567
- };
6568
- }
6569
-
6570
- export interface PersonalStatsHospital {
6571
- hospital: {
6572
- times_hospitalized: number;
6573
- medical_items_used: number;
6574
- blood_withdrawn: number;
6575
- reviving: {
6576
- skill: number;
6577
- revives: number;
6578
- revives_received: number;
6579
- };
6580
- };
6581
- }
6582
-
6583
- export interface PersonalStatsHospitalPopular {
6584
- hospital: {
6585
- medical_items_used: number;
6586
- reviving: {
6587
- skill: number;
6588
- revives: number;
6589
- };
6590
- };
6591
- }
6592
-
6593
- export interface PersonalStatsJail {
6594
- jail: {
6595
- times_jailed: number;
6596
- busts: {
6597
- success: number;
6598
- fails: number;
6599
- };
6600
- bails: {
6601
- amount: number;
6602
- fees: number;
6603
- };
6604
- };
6605
- }
6606
-
6607
- export interface PersonalStatsTrading {
6608
- trading: {
6609
- items: {
6610
- bought: {
6611
- market: number;
6612
- shops: number;
6613
- };
6614
- auctions: {
6615
- won: number;
6616
- sold: number;
6617
- };
6618
- sent: number;
6619
- };
6620
- trades: number;
6621
- points: {
6622
- bought: number;
6623
- sold: number;
6624
- };
6625
- bazaar: {
6626
- customers: number;
6627
- sales: number;
6628
- profit: number;
6629
- };
6630
- item_market?: {
6631
- customers: number;
6632
- sales: number;
6633
- revenue: number;
6634
- fees: number;
6635
- };
6636
- };
6960
+ export interface ForumThreadResponse {
6961
+ thread: ForumThreadExtended;
6637
6962
  }
6638
6963
 
6639
- export interface PersonalStatsJobsPublic {
6640
- jobs: {
6641
- job_points_used: number;
6642
- trains_received: number;
6643
- };
6964
+ export interface ForumPostsResponse {
6965
+ posts: ForumPost[];
6966
+ _metadata: RequestMetadataWithLinks;
6644
6967
  }
6645
6968
 
6646
- export interface PersonalStatsJobsExtended {
6647
- jobs: {
6648
- job_points_used: number;
6649
- trains_received: number;
6650
- stats: {
6651
- manual: number;
6652
- intelligence: number;
6653
- endurance: number;
6654
- total: number;
6655
- };
6656
- };
6657
- }
6969
+ export type ForumSelectionName =
6970
+ | "categories"
6971
+ | "lookup"
6972
+ | "posts"
6973
+ | "thread"
6974
+ | "threads"
6975
+ | "timestamp";
6658
6976
 
6659
- export interface PersonalStatsBattleStats {
6660
- battle_stats: {
6661
- strength: number;
6662
- defense: number;
6663
- speed: number;
6664
- dexterity: number;
6665
- total: number;
6666
- };
6977
+ export interface ForumLookupResponse {
6978
+ selections: ForumSelectionName[];
6667
6979
  }
6668
6980
 
6669
- export interface PersonalStatsAttackingPublic {
6670
- attacking: {
6671
- attacks: {
6672
- won: number;
6673
- lost: number;
6674
- stalemate: number;
6675
- assist: number;
6676
- stealth: number;
6677
- };
6678
- defends: {
6679
- won: number;
6680
- lost: number;
6681
- stalemate: number;
6682
- total: number;
6683
- };
6684
- elo: number;
6685
- unarmored_wins: number;
6686
- highest_level_beaten: number;
6687
- escapes?: {
6688
- player: number;
6689
- foes: number;
6690
- };
6691
- killstreak: {
6692
- best: number;
6693
- };
6694
- hits: {
6695
- success: number;
6696
- miss: number;
6697
- critical: number;
6698
- one_hit_kills: number;
6699
- };
6700
- damage: {
6701
- total: number;
6702
- best: number;
6703
- };
6704
- networth: {
6705
- money_mugged: number;
6706
- largest_mug: number;
6707
- items_looted: number;
6708
- };
6709
- ammunition: {
6710
- total: number;
6711
- special: number;
6712
- hollow_point: number;
6713
- tracer: number;
6714
- piercing: number;
6715
- incendiary: number;
6716
- };
6717
- faction: {
6718
- respect: number;
6719
- retaliations: number;
6720
- ranked_war_hits: number;
6721
- raid_hits: number;
6722
- territory: {
6723
- wall_joins: number;
6724
- wall_clears: number;
6725
- wall_time: number;
6726
- };
6727
- };
6728
- };
6981
+ export interface KeyLogResponse {
6982
+ log: {
6983
+ timestamp: number;
6984
+ type: string;
6985
+ selections: string;
6986
+ id: number | null;
6987
+ comment?: string | null;
6988
+ ip: string;
6989
+ }[];
6729
6990
  }
6730
6991
 
6731
- export interface PersonalStatsAttackingExtended {
6732
- attacking: {
6733
- attacks: {
6734
- won: number;
6735
- lost: number;
6736
- stalemate: number;
6737
- assist: number;
6738
- stealth: number;
6739
- };
6740
- defends: {
6741
- won: number;
6742
- lost: number;
6743
- stalemate: number;
6744
- total: number;
6992
+ export interface KeyInfoResponse {
6993
+ info: {
6994
+ selections: {
6995
+ company: string[];
6996
+ faction: FactionSelectionName[];
6997
+ market: MarketSelectionName[];
6998
+ property: string[];
6999
+ torn: TornSelectionName[];
7000
+ user: UserSelectionName[];
7001
+ racing: RacingSelectionName[];
7002
+ forum: ForumSelectionName[];
7003
+ key: KeySelectionName[];
6745
7004
  };
6746
- elo: number;
6747
- unarmored_wins: number;
6748
- highest_level_beaten: number;
6749
- escapes: {
6750
- player: number;
6751
- foes: number;
6752
- };
6753
- killstreak: {
6754
- best: number;
6755
- current: number;
6756
- };
6757
- hits: {
6758
- success: number;
6759
- miss: number;
6760
- critical: number;
6761
- one_hit_kills: number;
6762
- };
6763
- damage: {
6764
- total: number;
6765
- best: number;
6766
- };
6767
- networth: {
6768
- money_mugged: number;
6769
- largest_mug: number;
6770
- items_looted: number;
6771
- };
6772
- ammunition: {
6773
- total: number;
6774
- special: number;
6775
- hollow_point: number;
6776
- tracer: number;
6777
- piercing: number;
6778
- incendiary: number;
6779
- };
6780
- faction: {
6781
- respect: number;
6782
- retaliations: number;
6783
- ranked_war_hits: number;
6784
- raid_hits: number;
6785
- territory: {
6786
- wall_joins: number;
6787
- wall_clears: number;
6788
- wall_time: number;
6789
- };
6790
- };
6791
- };
6792
- }
6793
-
6794
- export interface PersonalStatsAttackingPopular {
6795
- attacking: {
6796
- attacks: {
6797
- won: number;
6798
- lost: number;
6799
- stalemate: number;
6800
- assist: number;
6801
- };
6802
- defends: {
6803
- won: number;
6804
- lost: number;
6805
- stalemate: number;
6806
- };
6807
- elo: number;
6808
- escapes: {
6809
- player: number;
6810
- foes: number;
6811
- };
6812
- killstreak: {
6813
- best: number;
6814
- };
6815
- hits: {
6816
- success: number;
6817
- miss: number;
6818
- critical: number;
6819
- one_hit_kills: number;
6820
- };
6821
- damage: {
6822
- total: number;
6823
- best: number;
6824
- };
6825
- networth: {
6826
- money_mugged: number;
6827
- largest_mug: number;
6828
- items_looted: number;
6829
- };
6830
- ammunition: {
6831
- total: number;
6832
- special: number;
6833
- hollow_point: number;
6834
- tracer: number;
6835
- piercing: number;
6836
- incendiary: number;
6837
- };
6838
- faction: {
6839
- respect: number;
6840
- ranked_war_hits: number;
6841
- };
6842
- };
6843
- }
6844
-
6845
- export interface PersonalStatsHistoricStat {
6846
- /** Requested stat name */
6847
- name: string;
6848
- value: number;
6849
- /** Timestamp when the stat was last updated */
6850
- timestamp: number;
6851
- }
6852
-
6853
- export interface UserPersonalStatsHistoric {
6854
- personalstats: PersonalStatsHistoricStat[];
6855
- }
6856
-
6857
- /** Response for PersonalStatsCrimes depends on which crime version user is currently. */
6858
- export interface PersonalStatsCrimes {
6859
- crimes: PersonalStatsCrimesV1 | PersonalStatsCrimesV2;
6860
- }
6861
-
6862
- export interface UserPersonalStatsPopular {
6863
- personalstats: PersonalStatsAttackingPopular &
6864
- PersonalStatsJobsPublic &
6865
- PersonalStatsHospitalPopular &
6866
- PersonalStatsCrimesPopular &
6867
- PersonalStatsItemsPopular &
6868
- PersonalStatsTravelPopular &
6869
- PersonalStatsDrugs &
6870
- PersonalStatsNetworthPublic &
6871
- PersonalStatsOtherPopular;
6872
- }
6873
-
6874
- /** Schema name corresponds to the requested category */
6875
- export interface UserPersonalStatsCategory {
6876
- personalstats:
6877
- | PersonalStatsAttackingPublic
6878
- | PersonalStatsJobsPublic
6879
- | PersonalStatsTrading
6880
- | PersonalStatsJail
6881
- | PersonalStatsHospital
6882
- | PersonalStatsFinishingHits
6883
- | PersonalStatsCommunication
6884
- | PersonalStatsCrimes
6885
- | PersonalStatsBounties
6886
- | PersonalStatsItems
6887
- | PersonalStatsTravel
6888
- | PersonalStatsDrugs
6889
- | PersonalStatsMissions
6890
- | PersonalStatsRacing
6891
- | PersonalStatsNetworthPublic
6892
- | PersonalStatsOther;
6893
- }
6894
-
6895
- export interface UserPersonalStatsFull {
6896
- personalstats: PersonalStatsAttackingExtended &
6897
- PersonalStatsBattleStats &
6898
- PersonalStatsJobsExtended &
6899
- PersonalStatsTrading &
6900
- PersonalStatsJail &
6901
- PersonalStatsHospital &
6902
- PersonalStatsFinishingHits &
6903
- PersonalStatsCommunication &
6904
- PersonalStatsCrimes &
6905
- PersonalStatsBounties &
6906
- PersonalStatsInvestments &
6907
- PersonalStatsItems &
6908
- PersonalStatsTravel &
6909
- PersonalStatsDrugs &
6910
- PersonalStatsMissions &
6911
- PersonalStatsRacing &
6912
- PersonalStatsNetworthExtended &
6913
- PersonalStatsOther;
6914
- }
6915
-
6916
- export interface UserPersonalStatsFullPublic {
6917
- personalstats: PersonalStatsAttackingPublic &
6918
- PersonalStatsJobsPublic &
6919
- PersonalStatsTrading &
6920
- PersonalStatsJail &
6921
- PersonalStatsHospital &
6922
- PersonalStatsFinishingHits &
6923
- PersonalStatsCommunication &
6924
- PersonalStatsCrimes &
6925
- PersonalStatsBounties &
6926
- PersonalStatsItems &
6927
- PersonalStatsTravel &
6928
- PersonalStatsDrugs &
6929
- PersonalStatsMissions &
6930
- PersonalStatsRacing &
6931
- PersonalStatsNetworthPublic &
6932
- PersonalStatsOther;
6933
- }
6934
-
6935
- export type UserPersonalStatsResponse =
6936
- | UserPersonalStatsFull
6937
- | UserPersonalStatsFullPublic
6938
- | UserPersonalStatsCategory
6939
- | UserPersonalStatsPopular
6940
- | UserPersonalStatsHistoric;
6941
-
6942
- export type PersonalStatsCategoryEnum =
6943
- | "all"
6944
- | "popular"
6945
- | "attacking"
6946
- | "battle_stats"
6947
- | "jobs"
6948
- | "trading"
6949
- | "jail"
6950
- | "hospital"
6951
- | "finishing_hits"
6952
- | "communication"
6953
- | "crimes"
6954
- | "bounties"
6955
- | "investments"
6956
- | "items"
6957
- | "travel"
6958
- | "drugs"
6959
- | "missions"
6960
- | "racing"
6961
- | "networth"
6962
- | "other"
6963
- | "itemmarketcustomers"
6964
- | "itemmarketsales"
6965
- | "itemmarketrevenue"
6966
- | "itemmarketfees";
6967
-
6968
- export type PersonalStatsStatName =
6969
- | "attackswon"
6970
- | "attackslost"
6971
- | "attacksdraw"
6972
- | "attacksassisted"
6973
- | "defendswon"
6974
- | "defendslost"
6975
- | "defendsstalemated"
6976
- | "elo"
6977
- | "yourunaway"
6978
- | "theyrunaway"
6979
- | "unarmoredwon"
6980
- | "bestkillstreak"
6981
- | "attackhits"
6982
- | "attackmisses"
6983
- | "attackdamage"
6984
- | "bestdamage"
6985
- | "onehitkills"
6986
- | "attackcriticalhits"
6987
- | "roundsfired"
6988
- | "specialammoused"
6989
- | "hollowammoused"
6990
- | "tracerammoused"
6991
- | "piercingammoused"
6992
- | "incendiaryammoused"
6993
- | "attacksstealthed"
6994
- | "retals"
6995
- | "moneymugged"
6996
- | "largestmug"
6997
- | "itemslooted"
6998
- | "highestbeaten"
6999
- | "respectforfaction"
7000
- | "rankedwarhits"
7001
- | "raidhits"
7002
- | "territoryjoins"
7003
- | "territoryclears"
7004
- | "territorytime"
7005
- | "jobpointsused"
7006
- | "trainsreceived"
7007
- | "marketitemsbought"
7008
- | "auctionswon"
7009
- | "auctionsells"
7010
- | "itemssent"
7011
- | "trades"
7012
- | "cityitemsbought"
7013
- | "pointsbought"
7014
- | "pointssold"
7015
- | "bazaarcustomers"
7016
- | "bazaarsales"
7017
- | "bazaarprofit"
7018
- | "jailed"
7019
- | "peoplebusted"
7020
- | "failedbusts"
7021
- | "peoplebought"
7022
- | "peopleboughtspent"
7023
- | "hospital"
7024
- | "medicalitemsused"
7025
- | "bloodwithdrawn"
7026
- | "reviveskill"
7027
- | "revives"
7028
- | "revivesreceived"
7029
- | "heavyhits"
7030
- | "machinehits"
7031
- | "riflehits"
7032
- | "smghits"
7033
- | "shotgunhits"
7034
- | "pistolhits"
7035
- | "temphits"
7036
- | "piercinghits"
7037
- | "slashinghits"
7038
- | "clubbinghits"
7039
- | "mechanicalhits"
7040
- | "h2hhits"
7041
- | "mailssent"
7042
- | "friendmailssent"
7043
- | "factionmailssent"
7044
- | "companymailssent"
7045
- | "spousemailssent"
7046
- | "classifiedadsplaced"
7047
- | "personalsplaced"
7048
- | "criminaloffensesold"
7049
- | "sellillegalgoods"
7050
- | "theftold"
7051
- | "autotheftcrime"
7052
- | "drugdealscrime"
7053
- | "computercrime"
7054
- | "fraudold"
7055
- | "murdercrime"
7056
- | "othercrime"
7057
- | "organizedcrimes"
7058
- | "bountiesplaced"
7059
- | "totalbountyspent"
7060
- | "bountiescollected"
7061
- | "totalbountyreward"
7062
- | "bountiesreceived"
7063
- | "receivedbountyvalue"
7064
- | "cityfinds"
7065
- | "dumpfinds"
7066
- | "itemsdumped"
7067
- | "booksread"
7068
- | "boostersused"
7069
- | "consumablesused"
7070
- | "candyused"
7071
- | "alcoholused"
7072
- | "energydrinkused"
7073
- | "statenhancersused"
7074
- | "eastereggsfound"
7075
- | "eastereggsused"
7076
- | "virusescoded"
7077
- | "traveltimes"
7078
- | "timespenttraveling"
7079
- | "itemsboughtabroad"
7080
- | "attackswonabroad"
7081
- | "defendslostabroad"
7082
- | "argtravel"
7083
- | "mextravel"
7084
- | "uaetravel"
7085
- | "hawtravel"
7086
- | "japtravel"
7087
- | "uktravel"
7088
- | "satravel"
7089
- | "switravel"
7090
- | "chitravel"
7091
- | "cantravel"
7092
- | "caytravel"
7093
- | "drugsused"
7094
- | "overdosed"
7095
- | "rehabs"
7096
- | "rehabcost"
7097
- | "cantaken"
7098
- | "exttaken"
7099
- | "kettaken"
7100
- | "lsdtaken"
7101
- | "opitaken"
7102
- | "pcptaken"
7103
- | "shrtaken"
7104
- | "spetaken"
7105
- | "victaken"
7106
- | "xantaken"
7107
- | "missionscompleted"
7108
- | "contractscompleted"
7109
- | "dukecontractscompleted"
7110
- | "missioncreditsearned"
7111
- | "racingskill"
7112
- | "racingpointsearned"
7113
- | "racesentered"
7114
- | "raceswon"
7115
- | "networth"
7116
- | "timeplayed"
7117
- | "activestreak"
7118
- | "bestactivestreak"
7119
- | "awards"
7120
- | "refills"
7121
- | "nerverefills"
7122
- | "tokenrefills"
7123
- | "meritsbought"
7124
- | "daysbeendonator"
7125
- | "criminaloffenses"
7126
- | "vandalism"
7127
- | "theft"
7128
- | "counterfeiting"
7129
- | "fraud"
7130
- | "illicitservices"
7131
- | "cybercrime"
7132
- | "extortion"
7133
- | "illegalproduction"
7134
- | "currentkillstreak"
7135
- | "strength"
7136
- | "defense"
7137
- | "speed"
7138
- | "dexterity"
7139
- | "totalstats"
7140
- | "manuallabor"
7141
- | "intelligence"
7142
- | "endurance"
7143
- | "totalworkingstats"
7144
- | "moneyinvested"
7145
- | "investedprofit"
7146
- | "investamount"
7147
- | "banktimeleft"
7148
- | "stockprofits"
7149
- | "stocklosses"
7150
- | "stockfees"
7151
- | "stocknetprofits"
7152
- | "stockpayouts"
7153
- | "networthwallet"
7154
- | "networthvault"
7155
- | "networthbank"
7156
- | "networthcayman"
7157
- | "networthpoints"
7158
- | "networthitems"
7159
- | "networthdisplaycase"
7160
- | "networthbazaar"
7161
- | "networthitemmarket"
7162
- | "networthproperties"
7163
- | "networthstockmarket"
7164
- | "networthauctionhouse"
7165
- | "networthbookie"
7166
- | "networthcompany"
7167
- | "networthenlistedcars"
7168
- | "networthpiggybank"
7169
- | "networthpending"
7170
- | "networthloan"
7171
- | "networthunpaidfees"
7172
- | "huntingskill"
7173
- | "searchforcashskill"
7174
- | "bootleggingskill"
7175
- | "graffitiskill"
7176
- | "shopliftingskill"
7177
- | "pickpocketingskill"
7178
- | "cardskimmingskill"
7179
- | "burglaryskill"
7180
- | "hustlingskill"
7181
- | "disposalskill"
7182
- | "crackingskill"
7183
- | "forgeryskill"
7184
- | "scammingskill";
7005
+ access: {
7006
+ level: number;
7007
+ type: ApiKeyAccessTypeEnum;
7008
+ faction: boolean;
7009
+ faction_id?: FactionId | null;
7010
+ company: boolean;
7011
+ company_id?: CompanyId | null;
7012
+ };
7013
+ };
7014
+ }
7185
7015
 
7186
- export interface UserCurrentEducation {
7187
- id: EducationId;
7188
- until: number;
7016
+ export type KeySelectionName = "info" | "log";
7017
+
7018
+ export interface ItemMarketListingItemBonus {
7019
+ id: number;
7020
+ title: string;
7021
+ description: string;
7022
+ value: number;
7189
7023
  }
7190
7024
 
7191
- export interface UserEducation {
7192
- complete: EducationId[];
7193
- current: UserCurrentEducation | null;
7025
+ export interface ItemMarketListingItemStats {
7026
+ damage: number | null;
7027
+ accuracy: number | null;
7028
+ armor: number | null;
7029
+ quality: number;
7194
7030
  }
7195
7031
 
7196
- export interface UserEducationResponse {
7197
- education: UserEducation;
7032
+ export interface ItemMarketItem {
7033
+ id: ItemId;
7034
+ name: string;
7035
+ type: string;
7036
+ average_price: number;
7198
7037
  }
7199
7038
 
7200
- export interface UserCrimeDetailsBootlegging {
7201
- /** Online store statistics. */
7202
- online_store: {
7203
- earnings: number;
7204
- visits: number;
7205
- customers: number;
7206
- sales: number;
7039
+ export interface ItemMarketListingStackable {
7040
+ price: number;
7041
+ amount: number;
7042
+ }
7043
+
7044
+ export interface ItemMarketListingItemDetails {
7045
+ uid: ItemUid;
7046
+ stats: ItemMarketListingItemStats;
7047
+ bonuses: ItemMarketListingItemBonus[];
7048
+ rarity: ("yellow" | "orange" | "red") | null;
7049
+ }
7050
+
7051
+ export interface ItemMarketListingNonstackable {
7052
+ price: number;
7053
+ amount: number;
7054
+ item_details: ItemMarketListingItemDetails;
7055
+ }
7056
+
7057
+ export interface ItemMarket {
7058
+ item: ItemMarketItem;
7059
+ listings: (ItemMarketListingNonstackable | ItemMarketListingStackable)[];
7060
+ }
7061
+
7062
+ export interface MarketItemMarketResponse {
7063
+ itemmarket: ItemMarket;
7064
+ _metadata: RequestMetadataWithLinks;
7065
+ }
7066
+
7067
+ /** The following selections will fallback to API v1 and may change at any time: 'pointsmarket'. */
7068
+ export type MarketSelectionName =
7069
+ | "itemmarket"
7070
+ | "lookup"
7071
+ | "timestamp"
7072
+ | "pointsmarket"
7073
+ | "bazaar";
7074
+
7075
+ export interface MarketLookupResponse {
7076
+ selections: MarketSelectionName[];
7077
+ }
7078
+
7079
+ export interface RacingCarsResponse {
7080
+ cars: RaceCar[];
7081
+ }
7082
+
7083
+ export interface RaceCar {
7084
+ car_item_id: ItemId;
7085
+ car_item_name: string;
7086
+ top_speed: number;
7087
+ acceleration: number;
7088
+ braking: number;
7089
+ dirt: number;
7090
+ handling: number;
7091
+ safety: number;
7092
+ tarmac: number;
7093
+ class: RaceClassEnum;
7094
+ }
7095
+
7096
+ export interface RacingTracksResponse {
7097
+ tracks: RaceTrack[];
7098
+ }
7099
+
7100
+ export interface RaceTrack {
7101
+ id: RaceTrackId;
7102
+ title: string;
7103
+ description: string;
7104
+ }
7105
+
7106
+ export interface RacingCarUpgradesResponse {
7107
+ carupgrades: RaceCarUpgrade[];
7108
+ }
7109
+
7110
+ export interface RaceCarUpgrade {
7111
+ id: RaceCarUpgradeId;
7112
+ class_required: RaceClassEnum;
7113
+ name: string;
7114
+ description: string;
7115
+ category: RaceCarUpgradeCategory;
7116
+ subcategory: RaceCarUpgradeSubCategory;
7117
+ effects: {
7118
+ top_speed: number;
7119
+ acceleration: number;
7120
+ braking: number;
7121
+ handling: number;
7122
+ safety: number;
7123
+ dirt: number;
7124
+ tarmac: number;
7207
7125
  };
7208
- /** DVD sales statistics. */
7209
- dvd_sales: {
7210
- action: number;
7211
- comedy: number;
7212
- drama: number;
7213
- fantasy: number;
7214
- horror: number;
7215
- romance: number;
7216
- thriller: number;
7217
- /** This is replaced with 'sci_fi' field and will be removed on 1st June 2025. */
7218
- "sci-fi"?: number;
7219
- sci_fi: number;
7220
- total: number;
7221
- earnings: number;
7126
+ cost: {
7127
+ points: number;
7128
+ cash: number;
7222
7129
  };
7223
- dvds_copied?: number;
7224
7130
  }
7225
7131
 
7226
- export interface UserCrimeDetailsGraffiti {
7227
- cans_used: number;
7228
- most_graffiti_in_one_area: number;
7229
- most_graffiti_simultaneously: number;
7230
- graffiti_removed: number;
7231
- cost_to_city: number;
7132
+ export interface RacingRacesResponse {
7133
+ races: Race[];
7134
+ _metadata: RequestMetadataWithLinks;
7232
7135
  }
7233
7136
 
7234
- export interface UserCrimeDetailsShoplifting {
7235
- average_notoriety: number;
7137
+ export interface Race {
7138
+ id: RaceId;
7139
+ title: string;
7140
+ track_id: RaceTrackId;
7141
+ creator_id: UserId;
7142
+ status: RaceStatusEnum;
7143
+ laps: number;
7144
+ participants: {
7145
+ minimum: number;
7146
+ maximum: number;
7147
+ current: number;
7148
+ };
7149
+ schedule: {
7150
+ join_from: number;
7151
+ join_until: number;
7152
+ start: number;
7153
+ end: number | null;
7154
+ };
7155
+ requirements: {
7156
+ car_class: RaceClassEnum | null;
7157
+ driver_class: RaceClassEnum | null;
7158
+ car_item_id: ItemId | null;
7159
+ requires_stock_car: boolean;
7160
+ requires_password: boolean;
7161
+ join_fee: number;
7162
+ };
7236
7163
  }
7237
7164
 
7238
- export interface UserCrimeDetailsCardSkimming {
7239
- card_details: {
7240
- recoverable: number;
7241
- recovered: number;
7242
- sold: number;
7243
- lost: number;
7244
- areas: {
7245
- id: number;
7246
- amount: number;
7247
- }[];
7165
+ export interface RacingTrackRecordsResponse {
7166
+ records: RaceRecord[];
7167
+ }
7168
+
7169
+ export interface RaceRecord {
7170
+ driver_id: UserId;
7171
+ driver_name: string;
7172
+ car_item_id: ItemId;
7173
+ lap_time: number;
7174
+ car_item_name: string;
7175
+ }
7176
+
7177
+ export interface RacerDetails {
7178
+ driver_id: UserId;
7179
+ position: number | null;
7180
+ car_id: RaceCarId;
7181
+ car_item_id: ItemId;
7182
+ car_item_name: string;
7183
+ car_class: RaceClassEnum;
7184
+ has_crashed: boolean | null;
7185
+ best_lap_time: number | null;
7186
+ race_time: number | null;
7187
+ time_ended: number | null;
7188
+ }
7189
+
7190
+ export interface RacingRaceDetailsResponse {
7191
+ race?: Race & {
7192
+ results: RacerDetails[];
7248
7193
  };
7249
- skimmers: {
7250
- active: number;
7251
- most_lucrative: number;
7252
- oldest_recovered: number;
7253
- lost: number;
7194
+ }
7195
+
7196
+ export type RacingSelectionName =
7197
+ | "cars"
7198
+ | "carupgrades"
7199
+ | "lookup"
7200
+ | "race"
7201
+ | "races"
7202
+ | "records"
7203
+ | "timestamp"
7204
+ | "tracks";
7205
+
7206
+ export interface RacingLookupResponse {
7207
+ selections: RacingSelectionName[];
7208
+ }
7209
+
7210
+ export interface TornEducationRewards {
7211
+ working_stats: {
7212
+ manual_labor: number | null;
7213
+ intelligence: number | null;
7214
+ endurance: number | null;
7254
7215
  };
7216
+ effect: string | null;
7217
+ honor: string | null;
7255
7218
  }
7256
7219
 
7257
- export interface UserCrimeDetailsHustling {
7258
- total_audience_gathered: number;
7259
- biggest_money_won: number;
7260
- shill_money_collected: number;
7261
- pickpocket_money_collected: number;
7220
+ export interface TornEducationPrerequisites {
7221
+ cost: number;
7222
+ courses: number[];
7223
+ }
7224
+
7225
+ export interface TornEducationCourses {
7226
+ id: EducationId;
7227
+ code: string;
7228
+ name: string;
7229
+ description: string;
7230
+ duration: number;
7231
+ rewards: TornEducationRewards;
7232
+ prerequisites: TornEducationPrerequisites;
7262
7233
  }
7263
7234
 
7264
- export interface UserCrimeDetailsCracking {
7265
- brute_force_cycles: number;
7266
- encryption_layers_broken: number;
7267
- highest_mips: number;
7268
- chars_guessed: number;
7269
- chars_guessed_total: number;
7235
+ export interface TornEducation {
7236
+ id: number;
7237
+ name: string;
7238
+ courses: TornEducationCourses[];
7270
7239
  }
7271
7240
 
7272
- export interface UserCrimeDetailsScamming {
7273
- most_responses: number;
7274
- zones: {
7275
- red: number;
7276
- neutral: number;
7277
- concern: number;
7278
- sensitivity: number;
7279
- temptation: number;
7280
- hesitation: number;
7281
- low_reward: number;
7282
- medium_reward: number;
7283
- high_reward: number;
7284
- };
7285
- concerns: {
7286
- attempts: number;
7287
- resolved: number;
7288
- };
7289
- payouts: {
7290
- low: number;
7291
- medium: number;
7292
- high: number;
7293
- };
7294
- emails: {
7295
- scraper: number;
7296
- phisher: number;
7297
- };
7241
+ export interface TornEducationResponse {
7242
+ education: TornEducation[];
7298
7243
  }
7299
7244
 
7300
- export interface UserSubcrime {
7301
- id: number;
7302
- total: number;
7303
- success: number;
7304
- fail: number;
7245
+ export interface TornTerritoryCoordinates {
7246
+ x: number;
7247
+ y: number;
7305
7248
  }
7306
7249
 
7307
- export interface UserCrimeRewardAmmo {
7308
- standard: number;
7309
- special: number;
7250
+ export interface TornTerritory {
7251
+ id: FactionTerritoryEnum;
7252
+ sector: number;
7253
+ size: number;
7254
+ density: number;
7255
+ slots: number;
7256
+ respect: number;
7257
+ coordinates: TornTerritoryCoordinates;
7258
+ neighbors: FactionTerritoryEnum[];
7310
7259
  }
7311
7260
 
7312
- export interface UserCrimeRewardItem {
7313
- id: number;
7314
- amount: number;
7261
+ export interface TornTerritoriesResponse {
7262
+ territory: TornTerritory[];
7263
+ _metadata: RequestMetadataWithLinks;
7315
7264
  }
7316
7265
 
7317
- export interface UserCrimeRewards {
7318
- money: number;
7319
- ammo: UserCrimeRewardAmmo;
7320
- items: UserCrimeRewardItem[];
7266
+ export interface TornTerritoriesNoLinksReponse {
7267
+ territory: TornTerritory[];
7321
7268
  }
7322
7269
 
7323
- export interface UserCrimeAttempts {
7324
- total: number;
7325
- success: number;
7326
- fail: number;
7327
- critical_fail: number;
7328
- subcrimes: UserSubcrime[];
7270
+ export interface TornSubcrimesResponse {
7271
+ subcrimes: TornSubcrime[];
7329
7272
  }
7330
7273
 
7331
- export interface UserCrimeUniquesRewardMoney {
7332
- min: number;
7333
- max: number;
7274
+ export interface TornSubcrime {
7275
+ id: number;
7276
+ name: string;
7277
+ nerve_cost: number;
7334
7278
  }
7335
7279
 
7336
- export interface UserCrimeUniquesRewardAmmo {
7337
- amount: number;
7338
- type: UserCrimeUniquesRewardAmmoEnum;
7280
+ export interface TornCrime {
7281
+ id: TornCrimeId;
7282
+ name: string;
7283
+ category_id: number;
7284
+ category_name?: string;
7285
+ enhancer_id: number;
7286
+ enhancer_name: string;
7287
+ unique_outcomes_count: number;
7288
+ unique_outcomes_ids: number[];
7289
+ notes?: string[];
7339
7290
  }
7340
7291
 
7341
- export interface UserCrimeUniquesReward {
7342
- items: UserCrimeRewardItem[];
7343
- money: UserCrimeUniquesRewardMoney | null;
7344
- ammo: UserCrimeUniquesRewardAmmo | null;
7292
+ export interface TornCrimesResponse {
7293
+ crimes: TornCrime[];
7345
7294
  }
7346
7295
 
7347
- export interface UserCrimeUniques {
7348
- /** Unique result id. */
7349
- id: number;
7350
- rewards: UserCrimeUniquesReward;
7296
+ export interface TornCalendarActivity {
7297
+ title: string;
7298
+ description: string;
7299
+ start: number;
7300
+ end: number;
7351
7301
  }
7352
7302
 
7353
- export interface UserCrimesResponse {
7354
- crimes: UserCrime;
7303
+ export interface TornCalendarResponse {
7304
+ calendar: {
7305
+ competitions: TornCalendarActivity[];
7306
+ events: TornCalendarActivity[];
7307
+ };
7355
7308
  }
7356
7309
 
7357
- export interface UserCrime {
7358
- nerve_spent: number;
7359
- skill: number;
7360
- progression_bonus: number;
7361
- rewards: UserCrimeRewards;
7362
- attempts: UserCrimeAttempts;
7363
- uniques: UserCrimeUniques[];
7364
- miscellaneous:
7365
- | UserCrimeDetailsBootlegging
7366
- | UserCrimeDetailsGraffiti
7367
- | UserCrimeDetailsShoplifting
7368
- | UserCrimeDetailsCardSkimming
7369
- | UserCrimeDetailsHustling
7370
- | UserCrimeDetailsCracking
7371
- | UserCrimeDetailsScamming
7372
- | null;
7310
+ export interface TornHof {
7311
+ id: UserId;
7312
+ username: string;
7313
+ faction_id: FactionId;
7314
+ level: number;
7315
+ last_action: number;
7316
+ rank_name: string;
7317
+ rank_number: number;
7318
+ position: number;
7319
+ signed_up: number;
7320
+ age_in_days: number;
7321
+ value: any;
7322
+ rank: string;
7373
7323
  }
7374
7324
 
7375
- export interface UserRacesResponse {
7376
- races: RacingRaceDetailsResponse[];
7325
+ export interface TornHofResponse {
7326
+ hof: TornHof[];
7377
7327
  _metadata: RequestMetadataWithLinks;
7378
7328
  }
7379
7329
 
7380
- export interface UserRaceCarDetails extends RaceCar {
7381
- id: RaceCarId;
7382
- name: string | null;
7383
- worth: number;
7384
- points_spent: number;
7385
- races_entered: number;
7386
- races_won: number;
7387
- is_removed: boolean;
7388
- parts: RaceCarUpgradeId[];
7330
+ export interface FactionHofValues {
7331
+ chain: number | null;
7332
+ chain_duration: number | null;
7333
+ respect: number | null;
7389
7334
  }
7390
7335
 
7391
- export interface UserEnlistedCarsResponse {
7392
- enlistedcars: UserRaceCarDetails[];
7336
+ export interface TornFactionHof {
7337
+ id: FactionId;
7338
+ name: string;
7339
+ members: number;
7340
+ position: number;
7341
+ /** The full rank title & division of the faction. */
7342
+ rank: string;
7343
+ values: FactionHofValues;
7393
7344
  }
7394
7345
 
7395
- export interface UserForumPostsResponse {
7396
- forumPosts: ForumPost[];
7346
+ export interface TornFactionHofResponse {
7347
+ factionhof: TornFactionHof[];
7397
7348
  _metadata: RequestMetadataWithLinks;
7398
7349
  }
7399
7350
 
7400
- export interface UserForumThreadsResponse {
7401
- forumThreads: ForumThreadUserExtended[];
7402
- _metadata: RequestMetadataWithLinks;
7351
+ export interface TornLog {
7352
+ id: LogId;
7353
+ title: string;
7403
7354
  }
7404
7355
 
7405
- export interface UserForumSubscribedThreadsResponse {
7406
- forumSubscribedThreads?: ForumSubscribedThread[];
7356
+ export interface TornLogCategory {
7357
+ id: LogCategoryId;
7358
+ title: string;
7407
7359
  }
7408
7360
 
7409
- export interface UserForumFeedResponse {
7410
- forumFeed: ForumFeed[];
7361
+ export interface TornLogTypesResponse {
7362
+ logtypes: TornLog[];
7411
7363
  }
7412
7364
 
7413
- export interface UserForumFriendsResponse {
7414
- forumFriends: ForumFeed[];
7365
+ export interface TornLogCategoriesResponse {
7366
+ logcategories: TornLogCategory[];
7415
7367
  }
7416
7368
 
7417
- export interface HofValue {
7418
- value: number;
7419
- rank: number;
7369
+ export interface Bounty {
7370
+ target_id: UserId;
7371
+ target_name: string;
7372
+ target_level: number;
7373
+ lister_id: UserId | null;
7374
+ lister_name: string | null;
7375
+ reward: number;
7376
+ reason: string | null;
7377
+ quantity: number;
7378
+ is_anonymous: boolean;
7379
+ valid_until: number;
7420
7380
  }
7421
7381
 
7422
- export interface HofValueString {
7423
- value: string;
7424
- rank: number | null;
7382
+ export interface AttackLogSummary {
7383
+ id: UserId | null;
7384
+ name: /** Name of the participant, could be null in stealthed attacks. */
7385
+ string | null;
7386
+ hits: number;
7387
+ misses: number;
7388
+ damage: number;
7425
7389
  }
7426
7390
 
7427
- export interface UserHofStats {
7428
- attacks: HofValue;
7429
- busts: HofValue;
7430
- defends: HofValue;
7431
- networth: HofValue;
7432
- offences: HofValue;
7433
- revives: HofValue;
7434
- level: HofValue;
7435
- rank: HofValue;
7436
- awards: HofValue;
7437
- racing_skill: HofValue;
7438
- racing_points: HofValue;
7439
- racing_wins: HofValue;
7440
- travel_time: HofValue;
7441
- working_stats: HofValue;
7442
- battle_stats: HofValue | null;
7391
+ export interface AttackLog {
7392
+ text: string;
7393
+ timestamp: number;
7394
+ action: AttackActionEnum;
7395
+ icon: string;
7396
+ attacker: /** This value could be null in stealthed attacks. */
7397
+ {
7398
+ id: UserId;
7399
+ name: string;
7400
+ item: /** This object could be null if there was no item being used in this turn or during this effect. */
7401
+ {
7402
+ id?: ItemId;
7403
+ name?: string;
7404
+ } | null;
7405
+ } | null;
7406
+ defender: /** This value could be null in stealthed attacks. */
7407
+ {
7408
+ id: UserId;
7409
+ name: string;
7410
+ } | null;
7443
7411
  }
7444
7412
 
7445
- export interface UserHofResponse {
7446
- hof: UserHofStats;
7413
+ export interface AttackLogResponse {
7414
+ attacklog: {
7415
+ log: AttackLog[];
7416
+ summary: AttackLogSummary[];
7417
+ };
7418
+ _metadata: RequestMetadataWithLinks;
7447
7419
  }
7448
7420
 
7449
- export interface UserCalendar {
7450
- /** Event start time displayed in TCT. */
7451
- start_time: string;
7421
+ export interface TornBountiesResponse {
7422
+ bounties: Bounty[];
7423
+ _metadata: RequestMetadataWithLinks;
7452
7424
  }
7453
7425
 
7454
- export interface UserCalendarResponse {
7455
- calendar: UserCalendar;
7426
+ export interface TornItemAmmo {
7427
+ id: AmmoId;
7428
+ name: string;
7429
+ price: number;
7430
+ /** Types of ammo */
7431
+ types: TornItemAmmoTypeEnum[];
7456
7432
  }
7457
7433
 
7458
- export interface UserBountiesResponse {
7459
- bounties: Bounty[];
7434
+ export interface TornItemAmmoResponse {
7435
+ itemammo: TornItemAmmo[];
7460
7436
  }
7461
7437
 
7462
- export interface UserJobRanks {
7463
- army: JobPositionArmyEnum;
7464
- grocer: JobPositionGrocerEnum;
7465
- casino: JobPositionCasinoEnum;
7466
- medical: JobPositionMedicalEnum;
7467
- law: JobPositionLawEnum;
7468
- education: JobPositionEducationEnum;
7438
+ export interface TornItemMods {
7439
+ id: ItemModId;
7440
+ name: string;
7441
+ description: string;
7442
+ /** Whether the upgrade fits on dual weapons. */
7443
+ dual_fit: boolean;
7444
+ /** The weapon types this upgrade can be attached to. */
7445
+ weapons: TornItemWeaponTypeEnum[];
7469
7446
  }
7470
7447
 
7471
- export interface UserJobRanksResponse {
7472
- jobranks: UserJobRanks;
7448
+ export interface TornItemModsResponse {
7449
+ itemmods: TornItemMods[];
7473
7450
  }
7474
7451
 
7475
- export interface UserItemMarkeListingItemDetails {
7476
- id: number;
7477
- name: string;
7478
- type: string;
7479
- rarity: ("yellow" | "orange" | "red") | null;
7480
- uid: ItemUid | null;
7481
- stats: ItemMarketListingItemStats | null;
7482
- bonuses: ItemMarketListingItemBonus[];
7452
+ export interface TornItemBaseStats {
7453
+ damage: number;
7454
+ accuracy: number;
7455
+ armor: number;
7483
7456
  }
7484
7457
 
7485
- export interface UserItemMarketListing {
7486
- id: number;
7487
- price: number;
7488
- average_price: number;
7489
- amount: number;
7490
- is_anonymous: boolean;
7491
- /** Amount remaining in the inventory. */
7492
- available: number;
7493
- item: UserItemMarkeListingItemDetails;
7458
+ export interface TornItemWeaponDetails {
7459
+ stealth_level: number;
7460
+ base_stats: TornItemBaseStats;
7461
+ category: TornItemWeaponCategoryEnum;
7462
+ ammo: {
7463
+ id: AmmoId;
7464
+ name: string;
7465
+ magazine_rounds: number;
7466
+ rate_of_fire: {
7467
+ minimum: number;
7468
+ maximum: number;
7469
+ };
7470
+ } | null;
7471
+ mods: ItemModId[];
7494
7472
  }
7495
7473
 
7496
- export interface UserItemMarketResponse {
7497
- itemmarket: UserItemMarketListing[];
7498
- _metadata: RequestMetadataWithLinks;
7474
+ export interface TornItemArmorCoverage {
7475
+ name: TornItemArmorCoveragePartEnum;
7476
+ value: number;
7499
7477
  }
7500
7478
 
7501
- export interface UserFactionBalance {
7502
- money: number;
7503
- points: number;
7479
+ export interface TornItemArmorDetails {
7480
+ coverage: TornItemArmorCoverage[];
7481
+ base_stats: TornItemBaseStats;
7504
7482
  }
7505
7483
 
7506
- export interface UserFactionBalanceResponse {
7507
- factionBalance: UserFactionBalance | null;
7484
+ export interface TornItem {
7485
+ id: ItemId;
7486
+ name: string;
7487
+ description: string;
7488
+ effect: string | null;
7489
+ requirement: string | null;
7490
+ image: string;
7491
+ type: TornItemTypeEnum;
7492
+ sub_type: TornItemWeaponTypeEnum | null;
7493
+ is_masked: boolean;
7494
+ is_tradable: boolean;
7495
+ is_found_in_city: boolean;
7496
+ value: {
7497
+ vendor: {
7498
+ country: string;
7499
+ name: string;
7500
+ } | null;
7501
+ buy_price: number | null;
7502
+ sell_price: number | null;
7503
+ market_price: number;
7504
+ };
7505
+ circulation: number;
7506
+ details: TornItemWeaponDetails | TornItemArmorDetails | null;
7508
7507
  }
7509
7508
 
7510
- export interface UserOrganizedCrimeResponse {
7511
- organizedCrime: FactionCrime | null;
7509
+ export interface TornItemsResponse {
7510
+ items: TornItem[];
7512
7511
  }
7513
7512
 
7514
- export interface UserList {
7515
- id: UserId;
7513
+ export interface TornFactionTreeBranch {
7514
+ id: FactionBranchId;
7516
7515
  name: string;
7517
- level: number;
7518
- faction_id: FactionId | null;
7519
- last_action: UserLastAction;
7520
- status: UserStatus;
7516
+ upgrades: {
7517
+ name: string;
7518
+ level: number;
7519
+ ability: string;
7520
+ cost: number;
7521
+ challenge: {
7522
+ description: string;
7523
+ amount_required: number;
7524
+ stat: FactionStatEnum;
7525
+ } | null;
7526
+ }[];
7521
7527
  }
7522
7528
 
7523
- export interface UserListResponse {
7524
- list: UserList[];
7525
- _metadata: RequestMetadataWithLinks;
7529
+ export interface TornFactionTree {
7530
+ name: string;
7531
+ branches: TornFactionTreeBranch[];
7526
7532
  }
7527
7533
 
7528
- /** 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'. */
7529
- export type UserSelectionName =
7530
- | "attacks"
7531
- | "attacksfull"
7534
+ export interface TornFactionTreeResponse {
7535
+ factionTree: TornFactionTree[];
7536
+ }
7537
+
7538
+ /**
7539
+ * 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'.
7540
+ * * The following selections are not available in API v2: 'chainreport', 'rackets', 'rankedwarreport', 'rankedwars', 'territorynames', 'territorywarreport', 'territorywars'.
7541
+ */
7542
+ export type TornSelectionName =
7543
+ | "attacklog"
7532
7544
  | "bounties"
7533
7545
  | "calendar"
7534
7546
  | "crimes"
7535
- | "enlistedcars"
7536
- | "factionbalance"
7537
- | "forumfeed"
7538
- | "forumfriends"
7539
- | "forumposts"
7540
- | "forumsubscribedthreads"
7541
- | "forumthreads"
7547
+ | "education"
7548
+ | "factionhof"
7549
+ | "factiontree"
7542
7550
  | "hof"
7543
- | "itemmarket"
7544
- | "jobranks"
7545
- | "list"
7551
+ | "itemammo"
7552
+ | "itemmods"
7553
+ | "items"
7554
+ | "logcategories"
7555
+ | "logtypes"
7546
7556
  | "lookup"
7547
- | "organizedcrime"
7548
- | "personalstats"
7549
- | "races"
7550
- | "revives"
7551
- | "revivesfull"
7557
+ | "subcrimes"
7558
+ | "territory"
7552
7559
  | "timestamp"
7553
- | "ammo"
7554
- | "bars"
7555
- | "basic"
7556
- | "battlestats"
7557
- | "bazaar"
7558
- | "cooldowns"
7559
- | "criminalrecord"
7560
- | "discord"
7561
- | "display"
7562
- | "education"
7563
- | "equipment"
7564
- | "events"
7565
- | "gym"
7560
+ | "bank"
7561
+ | "cards"
7562
+ | "cityshops"
7563
+ | "companies"
7564
+ | "competition"
7565
+ | "dirtybombs"
7566
+ | "gyms"
7566
7567
  | "honors"
7567
- | "icons"
7568
- | "inventory"
7569
- | "jobpoints"
7570
- | "log"
7568
+ | "itemdetails"
7569
+ | "itemstats"
7571
7570
  | "medals"
7572
- | "merits"
7573
- | "messages"
7574
- | "missions"
7575
- | "money"
7576
- | "networth"
7577
- | "newevents"
7578
- | "newmessages"
7579
- | "notifications"
7580
- | "perks"
7581
- | "profile"
7571
+ | "organisedcrimes"
7572
+ | "pawnshop"
7573
+ | "pokertables"
7582
7574
  | "properties"
7583
- | "refills"
7584
- | "reports"
7585
- | "skills"
7575
+ | "raidreport"
7576
+ | "raids"
7577
+ | "rockpaperscissors"
7578
+ | "searchforcash"
7579
+ | "shoplifting"
7580
+ | "stats"
7586
7581
  | "stocks"
7587
- | "travel"
7588
- | "weaponexp"
7589
- | "workstats";
7582
+ | "chainreport"
7583
+ | "rackets"
7584
+ | "rankedwarreport"
7585
+ | "rankedwars"
7586
+ | "territorynames"
7587
+ | "territorywarreport"
7588
+ | "territorywars";
7590
7589
 
7591
- export interface UserLookupResponse {
7592
- selections: UserSelectionName[];
7590
+ export interface TornLookupResponse {
7591
+ selections: TornSelectionName[];
7593
7592
  }