django-esi 8.1.0__py3-none-any.whl

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 (100) hide show
  1. django_esi-8.1.0.dist-info/METADATA +93 -0
  2. django_esi-8.1.0.dist-info/RECORD +100 -0
  3. django_esi-8.1.0.dist-info/WHEEL +4 -0
  4. django_esi-8.1.0.dist-info/licenses/LICENSE +674 -0
  5. esi/__init__.py +7 -0
  6. esi/admin.py +42 -0
  7. esi/aiopenapi3/client.py +79 -0
  8. esi/aiopenapi3/plugins.py +224 -0
  9. esi/app_settings.py +112 -0
  10. esi/apps.py +11 -0
  11. esi/checks.py +56 -0
  12. esi/clients.py +657 -0
  13. esi/decorators.py +271 -0
  14. esi/errors.py +22 -0
  15. esi/exceptions.py +51 -0
  16. esi/helpers.py +63 -0
  17. esi/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  18. esi/locale/cs_CZ/LC_MESSAGES/django.po +53 -0
  19. esi/locale/de/LC_MESSAGES/django.mo +0 -0
  20. esi/locale/de/LC_MESSAGES/django.po +58 -0
  21. esi/locale/en/LC_MESSAGES/django.mo +0 -0
  22. esi/locale/en/LC_MESSAGES/django.po +54 -0
  23. esi/locale/es/LC_MESSAGES/django.mo +0 -0
  24. esi/locale/es/LC_MESSAGES/django.po +59 -0
  25. esi/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  26. esi/locale/fr_FR/LC_MESSAGES/django.po +59 -0
  27. esi/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  28. esi/locale/it_IT/LC_MESSAGES/django.po +59 -0
  29. esi/locale/ja/LC_MESSAGES/django.mo +0 -0
  30. esi/locale/ja/LC_MESSAGES/django.po +58 -0
  31. esi/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  32. esi/locale/ko_KR/LC_MESSAGES/django.po +58 -0
  33. esi/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  34. esi/locale/nl_NL/LC_MESSAGES/django.po +53 -0
  35. esi/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  36. esi/locale/pl_PL/LC_MESSAGES/django.po +53 -0
  37. esi/locale/ru/LC_MESSAGES/django.mo +0 -0
  38. esi/locale/ru/LC_MESSAGES/django.po +61 -0
  39. esi/locale/sk/LC_MESSAGES/django.mo +0 -0
  40. esi/locale/sk/LC_MESSAGES/django.po +55 -0
  41. esi/locale/uk/LC_MESSAGES/django.mo +0 -0
  42. esi/locale/uk/LC_MESSAGES/django.po +57 -0
  43. esi/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  44. esi/locale/zh_Hans/LC_MESSAGES/django.po +58 -0
  45. esi/management/commands/__init__.py +0 -0
  46. esi/management/commands/esi_clear_spec_cache.py +21 -0
  47. esi/management/commands/generate_esi_stubs.py +661 -0
  48. esi/management/commands/migrate_to_ssov2.py +188 -0
  49. esi/managers.py +303 -0
  50. esi/managers.pyi +85 -0
  51. esi/migrations/0001_initial.py +55 -0
  52. esi/migrations/0002_scopes_20161208.py +56 -0
  53. esi/migrations/0003_hide_tokens_from_admin_site.py +23 -0
  54. esi/migrations/0004_remove_unique_access_token.py +18 -0
  55. esi/migrations/0005_remove_token_length_limit.py +23 -0
  56. esi/migrations/0006_remove_url_length_limit.py +18 -0
  57. esi/migrations/0007_fix_mysql_8_migration.py +18 -0
  58. esi/migrations/0008_nullable_refresh_token.py +18 -0
  59. esi/migrations/0009_set_old_tokens_to_sso_v1.py +18 -0
  60. esi/migrations/0010_set_new_tokens_to_sso_v2.py +18 -0
  61. esi/migrations/0011_add_token_indices.py +28 -0
  62. esi/migrations/0012_fix_token_type_choices.py +18 -0
  63. esi/migrations/0013_squashed_0012_fix_token_type_choices.py +57 -0
  64. esi/migrations/__init__.py +0 -0
  65. esi/models.py +349 -0
  66. esi/openapi_clients.py +1225 -0
  67. esi/rate_limiting.py +107 -0
  68. esi/signals.py +21 -0
  69. esi/static/esi/img/EVE_SSO_Login_Buttons_Large_Black.png +0 -0
  70. esi/static/esi/img/EVE_SSO_Login_Buttons_Large_White.png +0 -0
  71. esi/static/esi/img/EVE_SSO_Login_Buttons_Small_Black.png +0 -0
  72. esi/static/esi/img/EVE_SSO_Login_Buttons_Small_White.png +0 -0
  73. esi/stubs.py +2 -0
  74. esi/stubs.pyi +6807 -0
  75. esi/tasks.py +78 -0
  76. esi/templates/esi/select_token.html +116 -0
  77. esi/templatetags/__init__.py +0 -0
  78. esi/templatetags/scope_tags.py +8 -0
  79. esi/tests/__init__.py +134 -0
  80. esi/tests/client_authed_pilot.py +63 -0
  81. esi/tests/client_public_pilot.py +53 -0
  82. esi/tests/factories.py +47 -0
  83. esi/tests/factories_2.py +60 -0
  84. esi/tests/jwt_factory.py +135 -0
  85. esi/tests/test_checks.py +48 -0
  86. esi/tests/test_clients.py +1019 -0
  87. esi/tests/test_decorators.py +578 -0
  88. esi/tests/test_management_command.py +307 -0
  89. esi/tests/test_managers.py +673 -0
  90. esi/tests/test_models.py +403 -0
  91. esi/tests/test_openapi.json +854 -0
  92. esi/tests/test_openapi.py +1017 -0
  93. esi/tests/test_swagger.json +489 -0
  94. esi/tests/test_swagger_full.json +51112 -0
  95. esi/tests/test_tasks.py +116 -0
  96. esi/tests/test_templatetags.py +22 -0
  97. esi/tests/test_views.py +331 -0
  98. esi/tests/threading_pilot.py +69 -0
  99. esi/urls.py +9 -0
  100. esi/views.py +129 -0
@@ -0,0 +1,854 @@
1
+ {
2
+ "components": {
3
+ "headers": {
4
+ "CacheControl": {
5
+ "description": "Directives for caching mechanisms. It controls how the response can be cached, by whom, and for how long.",
6
+ "schema": { "type": "string" }
7
+ },
8
+ "ContentLanguage": {
9
+ "description": "The language used in the response.",
10
+ "schema": {
11
+ "enum": ["en", "de", "fr", "ja", "ru", "zh", "ko", "es"],
12
+ "type": "string"
13
+ }
14
+ },
15
+ "ETag": {
16
+ "description": "The ETag value of the response body. Use this with If-None-Match to check whether the resource has changed.",
17
+ "schema": { "type": "string" }
18
+ },
19
+ "LastModified": {
20
+ "description": "The last modified date of the response. Use this with If-Modified-Since to check whether the resource has changed.",
21
+ "schema": { "type": "string" }
22
+ }
23
+ },
24
+ "parameters": {
25
+ "AcceptLanguage": {
26
+ "description": "The language to use for the response.",
27
+ "in": "header",
28
+ "name": "Accept-Language",
29
+ "schema": {
30
+ "default": "en",
31
+ "enum": ["en", "de", "fr", "ja", "ru", "zh", "ko", "es"],
32
+ "type": "string"
33
+ }
34
+ },
35
+ "CompatibilityDate": {
36
+ "description": "The compatibility date for the request.",
37
+ "in": "header",
38
+ "name": "X-Compatibility-Date",
39
+ "required": true,
40
+ "schema": { "enum": ["2025-08-26"], "format": "date", "type": "string" }
41
+ },
42
+ "IfModifiedSince": {
43
+ "description": "The date the resource was last modified. A 304 will be returned if the resource has not been modified since this date.",
44
+ "in": "header",
45
+ "name": "If-Modified-Since",
46
+ "schema": { "type": "string" }
47
+ },
48
+ "IfNoneMatch": {
49
+ "description": "The ETag of the previous request. A 304 will be returned if this matches the current ETag.",
50
+ "in": "header",
51
+ "name": "If-None-Match",
52
+ "schema": { "type": "string" }
53
+ },
54
+ "Tenant": {
55
+ "description": "The tenant ID for the request.",
56
+ "example": "",
57
+ "in": "header",
58
+ "name": "X-Tenant",
59
+ "schema": { "default": "tranquility", "type": "string" }
60
+ }
61
+ },
62
+ "schemas": {
63
+ "CharacterID": {
64
+ "examples": [90000001],
65
+ "format": "int64",
66
+ "type": "integer",
67
+ "x-common-model": "true"
68
+ },
69
+ "CharactersCharacterIdAssetsGet": {
70
+ "items": {
71
+ "properties": {
72
+ "is_blueprint_copy": { "type": "boolean" },
73
+ "is_singleton": { "type": "boolean" },
74
+ "item_id": { "format": "int64", "type": "integer" },
75
+ "location_flag": {
76
+ "enum": [
77
+ "AssetSafety",
78
+ "AutoFit",
79
+ "BoosterBay",
80
+ "CapsuleerDeliveries",
81
+ "Cargo",
82
+ "CorporationGoalDeliveries",
83
+ "CorpseBay",
84
+ "Deliveries",
85
+ "DroneBay",
86
+ "FighterBay",
87
+ "FighterTube0",
88
+ "FighterTube1",
89
+ "FighterTube2",
90
+ "FighterTube3",
91
+ "FighterTube4",
92
+ "FleetHangar",
93
+ "FrigateEscapeBay",
94
+ "Hangar",
95
+ "HangarAll",
96
+ "HiSlot0",
97
+ "HiSlot1",
98
+ "HiSlot2",
99
+ "HiSlot3",
100
+ "HiSlot4",
101
+ "HiSlot5",
102
+ "HiSlot6",
103
+ "HiSlot7",
104
+ "HiddenModifiers",
105
+ "Implant",
106
+ "InfrastructureHangar",
107
+ "LoSlot0",
108
+ "LoSlot1",
109
+ "LoSlot2",
110
+ "LoSlot3",
111
+ "LoSlot4",
112
+ "LoSlot5",
113
+ "LoSlot6",
114
+ "LoSlot7",
115
+ "Locked",
116
+ "MedSlot0",
117
+ "MedSlot1",
118
+ "MedSlot2",
119
+ "MedSlot3",
120
+ "MedSlot4",
121
+ "MedSlot5",
122
+ "MedSlot6",
123
+ "MedSlot7",
124
+ "MobileDepotHold",
125
+ "MoonMaterialBay",
126
+ "QuafeBay",
127
+ "RigSlot0",
128
+ "RigSlot1",
129
+ "RigSlot2",
130
+ "RigSlot3",
131
+ "RigSlot4",
132
+ "RigSlot5",
133
+ "RigSlot6",
134
+ "RigSlot7",
135
+ "ShipHangar",
136
+ "Skill",
137
+ "SpecializedAmmoHold",
138
+ "SpecializedAsteroidHold",
139
+ "SpecializedCommandCenterHold",
140
+ "SpecializedFuelBay",
141
+ "SpecializedGasHold",
142
+ "SpecializedIceHold",
143
+ "SpecializedIndustrialShipHold",
144
+ "SpecializedLargeShipHold",
145
+ "SpecializedMaterialBay",
146
+ "SpecializedMediumShipHold",
147
+ "SpecializedMineralHold",
148
+ "SpecializedOreHold",
149
+ "SpecializedPlanetaryCommoditiesHold",
150
+ "SpecializedSalvageHold",
151
+ "SpecializedShipHold",
152
+ "SpecializedSmallShipHold",
153
+ "StructureDeedBay",
154
+ "SubSystemBay",
155
+ "SubSystemSlot0",
156
+ "SubSystemSlot1",
157
+ "SubSystemSlot2",
158
+ "SubSystemSlot3",
159
+ "SubSystemSlot4",
160
+ "SubSystemSlot5",
161
+ "SubSystemSlot6",
162
+ "SubSystemSlot7",
163
+ "Unlocked",
164
+ "Wardrobe"
165
+ ],
166
+ "type": "string"
167
+ },
168
+ "location_id": { "format": "int64", "type": "integer" },
169
+ "location_type": {
170
+ "enum": ["station", "solar_system", "item", "other"],
171
+ "type": "string"
172
+ },
173
+ "quantity": { "format": "int64", "type": "integer" },
174
+ "type_id": { "format": "int64", "type": "integer" }
175
+ },
176
+ "required": [
177
+ "type_id",
178
+ "quantity",
179
+ "location_id",
180
+ "location_type",
181
+ "item_id",
182
+ "location_flag",
183
+ "is_singleton"
184
+ ],
185
+ "type": "object"
186
+ },
187
+ "type": "array"
188
+ },
189
+ "CharactersCharacterIdNotificationsGet": {
190
+ "items": {
191
+ "properties": {
192
+ "is_read": { "type": "boolean" },
193
+ "notification_id": { "format": "int64", "type": "integer" },
194
+ "sender_id": { "format": "int64", "type": "integer" },
195
+ "sender_type": {
196
+ "enum": [
197
+ "character",
198
+ "corporation",
199
+ "alliance",
200
+ "faction",
201
+ "other"
202
+ ],
203
+ "type": "string"
204
+ },
205
+ "text": { "type": "string" },
206
+ "timestamp": { "format": "date-time", "type": "string" },
207
+ "type": {
208
+ "enum": [
209
+ "AcceptedAlly",
210
+ "AcceptedSurrender",
211
+ "AgentRetiredTrigravian",
212
+ "AllAnchoringMsg",
213
+ "AllMaintenanceBillMsg",
214
+ "AllStrucInvulnerableMsg",
215
+ "AllStructVulnerableMsg",
216
+ "AllWarCorpJoinedAllianceMsg",
217
+ "AllWarDeclaredMsg",
218
+ "AllWarInvalidatedMsg",
219
+ "AllWarRetractedMsg",
220
+ "AllWarSurrenderMsg",
221
+ "AllianceCapitalChanged",
222
+ "AllianceWarDeclaredV2",
223
+ "AllyContractCancelled",
224
+ "AllyJoinedWarAggressorMsg",
225
+ "AllyJoinedWarAllyMsg",
226
+ "AllyJoinedWarDefenderMsg",
227
+ "BattlePunishFriendlyFire",
228
+ "BillOutOfMoneyMsg",
229
+ "BillPaidCorpAllMsg",
230
+ "BountyClaimMsg",
231
+ "BountyESSShared",
232
+ "BountyESSTaken",
233
+ "BountyPlacedAlliance",
234
+ "BountyPlacedChar",
235
+ "BountyPlacedCorp",
236
+ "BountyYourBountyClaimed",
237
+ "BuddyConnectContactAdd",
238
+ "CharAppAcceptMsg",
239
+ "CharAppRejectMsg",
240
+ "CharAppWithdrawMsg",
241
+ "CharLeftCorpMsg",
242
+ "CharMedalMsg",
243
+ "CharTerminationMsg",
244
+ "CloneActivationMsg",
245
+ "CloneActivationMsg2",
246
+ "CloneMovedMsg",
247
+ "CloneRevokedMsg1",
248
+ "CloneRevokedMsg2",
249
+ "CombatOperationFinished",
250
+ "ContactAdd",
251
+ "ContactEdit",
252
+ "ContainerPasswordMsg",
253
+ "ContractRegionChangedToPochven",
254
+ "CorpAllBillMsg",
255
+ "CorpAppAcceptMsg",
256
+ "CorpAppInvitedMsg",
257
+ "CorpAppNewMsg",
258
+ "CorpAppRejectCustomMsg",
259
+ "CorpAppRejectMsg",
260
+ "CorpBecameWarEligible",
261
+ "CorpDividendMsg",
262
+ "CorpFriendlyFireDisableTimerCompleted",
263
+ "CorpFriendlyFireDisableTimerStarted",
264
+ "CorpFriendlyFireEnableTimerCompleted",
265
+ "CorpFriendlyFireEnableTimerStarted",
266
+ "CorpKicked",
267
+ "CorpLiquidationMsg",
268
+ "CorpNewCEOMsg",
269
+ "CorpNewsMsg",
270
+ "CorpNoLongerWarEligible",
271
+ "CorpOfficeExpirationMsg",
272
+ "CorpStructLostMsg",
273
+ "CorpTaxChangeMsg",
274
+ "CorpVoteCEORevokedMsg",
275
+ "CorpVoteMsg",
276
+ "CorpWarDeclaredMsg",
277
+ "CorpWarDeclaredV2",
278
+ "CorpWarFightingLegalMsg",
279
+ "CorpWarInvalidatedMsg",
280
+ "CorpWarRetractedMsg",
281
+ "CorpWarSurrenderMsg",
282
+ "CorporationGoalClosed",
283
+ "CorporationGoalCompleted",
284
+ "CorporationGoalCreated",
285
+ "CorporationGoalExpired",
286
+ "CorporationGoalLimitReached",
287
+ "CorporationGoalNameChange",
288
+ "CorporationLeft",
289
+ "CustomsMsg",
290
+ "DailyItemRewardAutoClaimed",
291
+ "DeclareWar",
292
+ "DistrictAttacked",
293
+ "DustAppAcceptedMsg",
294
+ "ESSMainBankLink",
295
+ "EntosisCaptureStarted",
296
+ "ExpertSystemExpired",
297
+ "ExpertSystemExpiryImminent",
298
+ "FWAllianceKickMsg",
299
+ "FWAllianceWarningMsg",
300
+ "FWCharKickMsg",
301
+ "FWCharRankGainMsg",
302
+ "FWCharRankLossMsg",
303
+ "FWCharWarningMsg",
304
+ "FWCorpJoinMsg",
305
+ "FWCorpKickMsg",
306
+ "FWCorpLeaveMsg",
307
+ "FWCorpWarningMsg",
308
+ "FacWarCorpJoinRequestMsg",
309
+ "FacWarCorpJoinWithdrawMsg",
310
+ "FacWarCorpLeaveRequestMsg",
311
+ "FacWarCorpLeaveWithdrawMsg",
312
+ "FacWarDirectEnlistmentRevoked",
313
+ "FacWarLPDisqualifiedEvent",
314
+ "FacWarLPDisqualifiedKill",
315
+ "FacWarLPPayoutEvent",
316
+ "FacWarLPPayoutKill",
317
+ "FreelanceProjectClosed",
318
+ "FreelanceProjectCompleted",
319
+ "FreelanceProjectCreated",
320
+ "FreelanceProjectExpired",
321
+ "FreelanceProjectLimitReached",
322
+ "FreelanceProjectParticipantKicked",
323
+ "GameTimeAdded",
324
+ "GameTimeReceived",
325
+ "GameTimeSent",
326
+ "GiftReceived",
327
+ "IHubDestroyedByBillFailure",
328
+ "IncursionCompletedMsg",
329
+ "IndustryOperationFinished",
330
+ "IndustryTeamAuctionLost",
331
+ "IndustryTeamAuctionWon",
332
+ "InfrastructureHubBillAboutToExpire",
333
+ "InsuranceExpirationMsg",
334
+ "InsuranceFirstShipMsg",
335
+ "InsuranceInvalidatedMsg",
336
+ "InsuranceIssuedMsg",
337
+ "InsurancePayoutMsg",
338
+ "InvasionCompletedMsg",
339
+ "InvasionSystemLogin",
340
+ "InvasionSystemStart",
341
+ "JumpCloneDeletedMsg1",
342
+ "JumpCloneDeletedMsg2",
343
+ "KillReportFinalBlow",
344
+ "KillReportVictim",
345
+ "KillRightAvailable",
346
+ "KillRightAvailableOpen",
347
+ "KillRightEarned",
348
+ "KillRightUnavailable",
349
+ "KillRightUnavailableOpen",
350
+ "KillRightUsed",
351
+ "LPAutoRedeemed",
352
+ "LocateCharMsg",
353
+ "MadeWarMutual",
354
+ "MercOfferRetractedMsg",
355
+ "MercOfferedNegotiationMsg",
356
+ "MercenaryDenAttacked",
357
+ "MercenaryDenNewMTO",
358
+ "MercenaryDenReinforced",
359
+ "MissionCanceledTriglavian",
360
+ "MissionOfferExpirationMsg",
361
+ "MissionTimeoutMsg",
362
+ "MoonminingAutomaticFracture",
363
+ "MoonminingExtractionCancelled",
364
+ "MoonminingExtractionFinished",
365
+ "MoonminingExtractionStarted",
366
+ "MoonminingLaserFired",
367
+ "MutualWarExpired",
368
+ "MutualWarInviteAccepted",
369
+ "MutualWarInviteRejected",
370
+ "MutualWarInviteSent",
371
+ "NPCStandingsGained",
372
+ "NPCStandingsLost",
373
+ "OfferToAllyRetracted",
374
+ "OfferedSurrender",
375
+ "OfferedToAlly",
376
+ "OfficeLeaseCanceledInsufficientStandings",
377
+ "OldLscMessages",
378
+ "OperationFinished",
379
+ "OrbitalAttacked",
380
+ "OrbitalReinforced",
381
+ "OwnershipTransferred",
382
+ "RaffleCreated",
383
+ "RaffleExpired",
384
+ "RaffleFinished",
385
+ "ReimbursementMsg",
386
+ "ResearchMissionAvailableMsg",
387
+ "RetractsWar",
388
+ "SPAutoRedeemed",
389
+ "SeasonalChallengeCompleted",
390
+ "SkinSequencingCompleted",
391
+ "SkyhookDeployed",
392
+ "SkyhookDestroyed",
393
+ "SkyhookLostShields",
394
+ "SkyhookOnline",
395
+ "SkyhookUnderAttack",
396
+ "SovAllClaimAquiredMsg",
397
+ "SovAllClaimLostMsg",
398
+ "SovCommandNodeEventStarted",
399
+ "SovCorpBillLateMsg",
400
+ "SovCorpClaimFailMsg",
401
+ "SovDisruptorMsg",
402
+ "SovStationEnteredFreeport",
403
+ "SovStructureDestroyed",
404
+ "SovStructureReinforced",
405
+ "SovStructureSelfDestructCancel",
406
+ "SovStructureSelfDestructFinished",
407
+ "SovStructureSelfDestructRequested",
408
+ "SovereigntyIHDamageMsg",
409
+ "SovereigntySBUDamageMsg",
410
+ "SovereigntyTCUDamageMsg",
411
+ "StationAggressionMsg1",
412
+ "StationAggressionMsg2",
413
+ "StationConquerMsg",
414
+ "StationServiceDisabled",
415
+ "StationServiceEnabled",
416
+ "StationStateChangeMsg",
417
+ "StoryLineMissionAvailableMsg",
418
+ "StructureAnchoring",
419
+ "StructureCourierContractChanged",
420
+ "StructureDestroyed",
421
+ "StructureFuelAlert",
422
+ "StructureImpendingAbandonmentAssetsAtRisk",
423
+ "StructureItemsDelivered",
424
+ "StructureItemsMovedToSafety",
425
+ "StructureLostArmor",
426
+ "StructureLostShields",
427
+ "StructureLowReagentsAlert",
428
+ "StructureNoReagentsAlert",
429
+ "StructureOnline",
430
+ "StructurePaintPurchased",
431
+ "StructureServicesOffline",
432
+ "StructureUnanchoring",
433
+ "StructureUnderAttack",
434
+ "StructureWentHighPower",
435
+ "StructureWentLowPower",
436
+ "StructuresJobsCancelled",
437
+ "StructuresJobsPaused",
438
+ "StructuresReinforcementChanged",
439
+ "TowerAlertMsg",
440
+ "TowerResourceAlertMsg",
441
+ "TransactionReversalMsg",
442
+ "TutorialMsg",
443
+ "WarAdopted ",
444
+ "WarAllyInherited",
445
+ "WarAllyOfferDeclinedMsg",
446
+ "WarConcordInvalidates",
447
+ "WarDeclared",
448
+ "WarEndedHqSecurityDrop",
449
+ "WarHQRemovedFromSpace",
450
+ "WarInherited",
451
+ "WarInvalid",
452
+ "WarRetracted",
453
+ "WarRetractedByConcord",
454
+ "WarSurrenderDeclinedMsg",
455
+ "WarSurrenderOfferMsg"
456
+ ],
457
+ "type": "string"
458
+ }
459
+ },
460
+ "required": [
461
+ "notification_id",
462
+ "type",
463
+ "sender_id",
464
+ "sender_type",
465
+ "timestamp"
466
+ ],
467
+ "type": "object"
468
+ },
469
+ "type": "array"
470
+ },
471
+ "StatusGet": {
472
+ "properties": {
473
+ "players": {
474
+ "description": "Current online player count",
475
+ "type": "integer"
476
+ },
477
+ "server_version": {
478
+ "description": "Running version as string",
479
+ "type": "string"
480
+ },
481
+ "start_time": {
482
+ "description": "Server start timestamp",
483
+ "format": "date-time",
484
+ "type": "string"
485
+ },
486
+ "vip": {
487
+ "description": "If the server is in VIP mode",
488
+ "type": "boolean"
489
+ }
490
+ },
491
+ "required": ["start_time", "players", "server_version"],
492
+ "type": "object"
493
+ },
494
+ "Error": {
495
+ "additionalProperties": false,
496
+ "properties": {
497
+ "details": {
498
+ "description": "List of individual error details.",
499
+ "items": {
500
+ "$ref": "#/components/schemas/ErrorDetail"
501
+ },
502
+ "type": [
503
+ "array",
504
+ "null"
505
+ ]
506
+ },
507
+ "error": {
508
+ "description": "Error message.",
509
+ "type": "string"
510
+ }
511
+ },
512
+ "required": [
513
+ "error"
514
+ ],
515
+ "type": "object"
516
+ },
517
+ "ErrorDetail": {
518
+ "additionalProperties": false,
519
+ "properties": {
520
+ "location": {
521
+ "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
522
+ "type": "string"
523
+ },
524
+ "message": {
525
+ "description": "Error message text",
526
+ "type": "string"
527
+ },
528
+ "value": {
529
+ "description": "The value at the given location"
530
+ }
531
+ },
532
+ "type": "object"
533
+ },
534
+ "UniverseTypesGet": {
535
+ "items": { "format": "int64", "type": "integer" },
536
+ "type": "array"
537
+ }
538
+
539
+ },
540
+ "securitySchemes": {
541
+ "OAuth2": {
542
+ "flows": {
543
+ "authorizationCode": {
544
+ "authorizationUrl": "https://login.eveonline.com/v2/oauth/authorize",
545
+ "scopes": {
546
+ "esi-alliances.read_contacts.v1": "esi-alliances.read_contacts.v1",
547
+ "esi-assets.read_assets.v1": "esi-assets.read_assets.v1",
548
+ "esi-assets.read_corporation_assets.v1": "esi-assets.read_corporation_assets.v1",
549
+ "esi-calendar.read_calendar_events.v1": "esi-calendar.read_calendar_events.v1",
550
+ "esi-calendar.respond_calendar_events.v1": "esi-calendar.respond_calendar_events.v1",
551
+ "esi-characters.read_agents_research.v1": "esi-characters.read_agents_research.v1",
552
+ "esi-characters.read_blueprints.v1": "esi-characters.read_blueprints.v1",
553
+ "esi-characters.read_contacts.v1": "esi-characters.read_contacts.v1",
554
+ "esi-characters.read_corporation_roles.v1": "esi-characters.read_corporation_roles.v1",
555
+ "esi-characters.read_fatigue.v1": "esi-characters.read_fatigue.v1",
556
+ "esi-characters.read_fw_stats.v1": "esi-characters.read_fw_stats.v1",
557
+ "esi-characters.read_loyalty.v1": "esi-characters.read_loyalty.v1",
558
+ "esi-characters.read_medals.v1": "esi-characters.read_medals.v1",
559
+ "esi-characters.read_notifications.v1": "esi-characters.read_notifications.v1",
560
+ "esi-characters.read_standings.v1": "esi-characters.read_standings.v1",
561
+ "esi-characters.read_titles.v1": "esi-characters.read_titles.v1",
562
+ "esi-characters.write_contacts.v1": "esi-characters.write_contacts.v1",
563
+ "esi-clones.read_clones.v1": "esi-clones.read_clones.v1",
564
+ "esi-clones.read_implants.v1": "esi-clones.read_implants.v1",
565
+ "esi-contracts.read_character_contracts.v1": "esi-contracts.read_character_contracts.v1",
566
+ "esi-contracts.read_corporation_contracts.v1": "esi-contracts.read_corporation_contracts.v1",
567
+ "esi-corporations.read_blueprints.v1": "esi-corporations.read_blueprints.v1",
568
+ "esi-corporations.read_contacts.v1": "esi-corporations.read_contacts.v1",
569
+ "esi-corporations.read_container_logs.v1": "esi-corporations.read_container_logs.v1",
570
+ "esi-corporations.read_corporation_membership.v1": "esi-corporations.read_corporation_membership.v1",
571
+ "esi-corporations.read_divisions.v1": "esi-corporations.read_divisions.v1",
572
+ "esi-corporations.read_facilities.v1": "esi-corporations.read_facilities.v1",
573
+ "esi-corporations.read_fw_stats.v1": "esi-corporations.read_fw_stats.v1",
574
+ "esi-corporations.read_medals.v1": "esi-corporations.read_medals.v1",
575
+ "esi-corporations.read_projects.v1": "esi-corporations.read_projects.v1",
576
+ "esi-corporations.read_standings.v1": "esi-corporations.read_standings.v1",
577
+ "esi-corporations.read_starbases.v1": "esi-corporations.read_starbases.v1",
578
+ "esi-corporations.read_structures.v1": "esi-corporations.read_structures.v1",
579
+ "esi-corporations.read_titles.v1": "esi-corporations.read_titles.v1",
580
+ "esi-corporations.track_members.v1": "esi-corporations.track_members.v1",
581
+ "esi-fittings.read_fittings.v1": "esi-fittings.read_fittings.v1",
582
+ "esi-fittings.write_fittings.v1": "esi-fittings.write_fittings.v1",
583
+ "esi-fleets.read_fleet.v1": "esi-fleets.read_fleet.v1",
584
+ "esi-fleets.write_fleet.v1": "esi-fleets.write_fleet.v1",
585
+ "esi-industry.read_character_jobs.v1": "esi-industry.read_character_jobs.v1",
586
+ "esi-industry.read_character_mining.v1": "esi-industry.read_character_mining.v1",
587
+ "esi-industry.read_corporation_jobs.v1": "esi-industry.read_corporation_jobs.v1",
588
+ "esi-industry.read_corporation_mining.v1": "esi-industry.read_corporation_mining.v1",
589
+ "esi-killmails.read_corporation_killmails.v1": "esi-killmails.read_corporation_killmails.v1",
590
+ "esi-killmails.read_killmails.v1": "esi-killmails.read_killmails.v1",
591
+ "esi-location.read_location.v1": "esi-location.read_location.v1",
592
+ "esi-location.read_online.v1": "esi-location.read_online.v1",
593
+ "esi-location.read_ship_type.v1": "esi-location.read_ship_type.v1",
594
+ "esi-mail.organize_mail.v1": "esi-mail.organize_mail.v1",
595
+ "esi-mail.read_mail.v1": "esi-mail.read_mail.v1",
596
+ "esi-mail.send_mail.v1": "esi-mail.send_mail.v1",
597
+ "esi-markets.read_character_orders.v1": "esi-markets.read_character_orders.v1",
598
+ "esi-markets.read_corporation_orders.v1": "esi-markets.read_corporation_orders.v1",
599
+ "esi-markets.structure_markets.v1": "esi-markets.structure_markets.v1",
600
+ "esi-planets.manage_planets.v1": "esi-planets.manage_planets.v1",
601
+ "esi-planets.read_customs_offices.v1": "esi-planets.read_customs_offices.v1",
602
+ "esi-search.search_structures.v1": "esi-search.search_structures.v1",
603
+ "esi-skills.read_skillqueue.v1": "esi-skills.read_skillqueue.v1",
604
+ "esi-skills.read_skills.v1": "esi-skills.read_skills.v1",
605
+ "esi-ui.open_window.v1": "esi-ui.open_window.v1",
606
+ "esi-ui.write_waypoint.v1": "esi-ui.write_waypoint.v1",
607
+ "esi-universe.read_structures.v1": "esi-universe.read_structures.v1",
608
+ "esi-wallet.read_character_wallet.v1": "esi-wallet.read_character_wallet.v1",
609
+ "esi-wallet.read_corporation_wallets.v1": "esi-wallet.read_corporation_wallets.v1"
610
+ },
611
+ "tokenUrl": "https://login.eveonline.com/v2/oauth/token"
612
+ }
613
+ },
614
+ "type": "oauth2"
615
+ }
616
+ }
617
+ },
618
+ "info": {
619
+ "contact": {
620
+ "name": "ESI Support",
621
+ "url": "https://developers.eveonline.com/docs/support/"
622
+ },
623
+ "license": {
624
+ "name": "EVE Developer License",
625
+ "url": "https://developers.eveonline.com/license-agreement"
626
+ },
627
+ "termsOfService": "https://support.eveonline.com/hc/en-us/articles/8414770561948-EVE-Online-Terms-of-Service",
628
+ "title": "EVE Stable Infrastructure (ESI) - tranquility",
629
+ "version": "2025-08-26"
630
+ },
631
+ "openapi": "3.1.0",
632
+ "paths": {
633
+ "/characters/{character_id}/assets": {
634
+ "get": {
635
+ "description": "Return a list of the characters assets",
636
+ "operationId": "GetCharactersCharacterIdAssets",
637
+ "parameters": [
638
+ {
639
+ "description": "The ID of the character",
640
+ "in": "path",
641
+ "name": "character_id",
642
+ "required": true,
643
+ "schema": { "$ref": "#/components/schemas/CharacterID" }
644
+ },
645
+ {
646
+ "in": "query",
647
+ "name": "page",
648
+ "schema": {
649
+ "description": "Which page of results to return.",
650
+ "format": "int32",
651
+ "minimum": 1,
652
+ "type": "integer"
653
+ }
654
+ },
655
+ { "$ref": "#/components/parameters/AcceptLanguage" },
656
+ { "$ref": "#/components/parameters/IfNoneMatch" },
657
+ { "$ref": "#/components/parameters/CompatibilityDate" },
658
+ { "$ref": "#/components/parameters/Tenant" }
659
+ ],
660
+ "responses": {
661
+ "200": {
662
+ "content": {
663
+ "application/json": {
664
+ "schema": {
665
+ "$ref": "#/components/schemas/CharactersCharacterIdAssetsGet"
666
+ }
667
+ }
668
+ },
669
+ "description": "OK",
670
+ "headers": {
671
+ "Cache-Control": { "$ref": "#/components/headers/CacheControl" },
672
+ "ETag": { "$ref": "#/components/headers/ETag" },
673
+ "Last-Modified": { "$ref": "#/components/headers/LastModified" },
674
+ "X-Pages": {
675
+ "description": "The total number of pages in the result set.",
676
+ "schema": { "format": "int64", "type": "integer" }
677
+ }
678
+ }
679
+ },
680
+ "default": {
681
+ "content": {
682
+ "application/json": {
683
+ "schema": { "$ref": "#/components/schemas/Error" }
684
+ }
685
+ },
686
+ "description": "Error"
687
+ }
688
+ },
689
+ "security": [{ "OAuth2": ["esi-assets.read_assets.v1"] }],
690
+ "summary": "Get character assets",
691
+ "tags": ["Assets"],
692
+ "x-cache-age": 3600,
693
+ "x-compatibility-date": "2020-01-01"
694
+ }
695
+ },
696
+ "/characters/{character_id}/notifications": {
697
+ "get": {
698
+ "description": "Return character notifications",
699
+ "operationId": "GetCharactersCharacterIdNotifications",
700
+ "parameters": [
701
+ {
702
+ "description": "The ID of the character",
703
+ "in": "path",
704
+ "name": "character_id",
705
+ "required": true,
706
+ "schema": { "$ref": "#/components/schemas/CharacterID" }
707
+ },
708
+ { "$ref": "#/components/parameters/AcceptLanguage" },
709
+ { "$ref": "#/components/parameters/IfNoneMatch" },
710
+ { "$ref": "#/components/parameters/CompatibilityDate" },
711
+ { "$ref": "#/components/parameters/Tenant" }
712
+ ],
713
+ "responses": {
714
+ "200": {
715
+ "content": {
716
+ "application/json": {
717
+ "schema": {
718
+ "$ref": "#/components/schemas/CharactersCharacterIdNotificationsGet"
719
+ }
720
+ }
721
+ },
722
+ "description": "OK",
723
+ "headers": {
724
+ "Cache-Control": { "$ref": "#/components/headers/CacheControl" },
725
+ "ETag": { "$ref": "#/components/headers/ETag" },
726
+ "Last-Modified": { "$ref": "#/components/headers/LastModified" }
727
+ }
728
+ },
729
+ "default": {
730
+ "content": {
731
+ "application/json": {
732
+ "schema": { "$ref": "#/components/schemas/Error" }
733
+ }
734
+ },
735
+ "description": "Error"
736
+ }
737
+ },
738
+ "security": [{ "OAuth2": ["esi-characters.read_notifications.v1"] }],
739
+ "summary": "Get character notifications",
740
+ "tags": ["Character"],
741
+ "x-cache-age": 600,
742
+ "x-compatibility-date": "2020-01-01",
743
+ "x-rate-limit": {
744
+ "group": "char-notification",
745
+ "max-tokens": 15,
746
+ "window-size": "15m"
747
+ }
748
+ }
749
+ },
750
+ "/universe/types": {
751
+ "get": {
752
+ "description": "Get a list of type ids\n\nThis route expires daily at 11:05",
753
+ "operationId": "GetUniverseTypes",
754
+ "parameters": [
755
+ {
756
+ "in": "query",
757
+ "name": "page",
758
+ "schema": {
759
+ "description": "Which page of results to return.",
760
+ "format": "int32",
761
+ "minimum": 1,
762
+ "type": "integer"
763
+ }
764
+ },
765
+ { "$ref": "#/components/parameters/AcceptLanguage" },
766
+ { "$ref": "#/components/parameters/IfNoneMatch" },
767
+ { "$ref": "#/components/parameters/CompatibilityDate" },
768
+ { "$ref": "#/components/parameters/Tenant" }
769
+ ],
770
+ "responses": {
771
+ "200": {
772
+ "content": {
773
+ "application/json": {
774
+ "schema": { "$ref": "#/components/schemas/UniverseTypesGet" }
775
+ }
776
+ },
777
+ "description": "OK",
778
+ "headers": {
779
+ "Cache-Control": { "$ref": "#/components/headers/CacheControl" },
780
+ "ETag": { "$ref": "#/components/headers/ETag" },
781
+ "Last-Modified": { "$ref": "#/components/headers/LastModified" },
782
+ "X-Pages": {
783
+ "description": "The total number of pages in the result set.",
784
+ "schema": { "format": "int64", "type": "integer" }
785
+ }
786
+ }
787
+ },
788
+ "default": {
789
+ "content": {
790
+ "application/json": {
791
+ "schema": { "$ref": "#/components/schemas/Error" }
792
+ }
793
+ },
794
+ "description": "Error"
795
+ }
796
+ },
797
+ "summary": "Get types",
798
+ "tags": ["Universe"],
799
+ "x-compatibility-date": "2020-01-01"
800
+ }
801
+ },
802
+ "/status": {
803
+ "get": {
804
+ "description": "EVE Server status",
805
+ "operationId": "GetStatus",
806
+ "parameters": [
807
+ { "$ref": "#/components/parameters/AcceptLanguage" },
808
+ { "$ref": "#/components/parameters/IfNoneMatch" },
809
+ { "$ref": "#/components/parameters/CompatibilityDate" },
810
+ { "$ref": "#/components/parameters/Tenant" }
811
+ ],
812
+ "responses": {
813
+ "200": {
814
+ "content": {
815
+ "application/json": {
816
+ "schema": { "$ref": "#/components/schemas/StatusGet" }
817
+ }
818
+ },
819
+ "description": "OK",
820
+ "headers": {
821
+ "Cache-Control": { "$ref": "#/components/headers/CacheControl" },
822
+ "ETag": { "$ref": "#/components/headers/ETag" },
823
+ "Last-Modified": { "$ref": "#/components/headers/LastModified" }
824
+ }
825
+ },
826
+ "default": {
827
+ "content": {
828
+ "application/json": {
829
+ "schema": { "$ref": "#/components/schemas/Error" }
830
+ }
831
+ },
832
+ "description": "Error"
833
+ }
834
+ },
835
+ "summary": "Retrieve the uptime and player counts",
836
+ "tags": ["Status"],
837
+ "x-cache-age": 30,
838
+ "x-compatibility-date": "2020-01-01",
839
+ "x-rate-limit": {
840
+ "group": "status",
841
+ "max-tokens": 600,
842
+ "window-size": "15m"
843
+ }
844
+ }
845
+ }
846
+ },
847
+ "servers": [{ "url": "https://esi.evetech.net" }],
848
+ "tags": [
849
+ { "name": "Status" },
850
+ { "name": "Universe" },
851
+ { "name": "Character" },
852
+ { "name": "Assets" }
853
+ ]
854
+ }