@rebornteam/reborn-api 3.2.1 → 4.0.0

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 (113) hide show
  1. package/.openapi-generator/FILES +65 -4
  2. package/README.md +93 -8
  3. package/api.ts +3979 -537
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +2462 -386
  8. package/dist/api.js +2750 -361
  9. package/dist/base.d.ts +1 -1
  10. package/dist/base.js +1 -1
  11. package/dist/common.d.ts +1 -1
  12. package/dist/common.js +1 -1
  13. package/dist/configuration.d.ts +1 -1
  14. package/dist/configuration.js +1 -1
  15. package/dist/esm/api.d.ts +2462 -386
  16. package/dist/esm/api.js +2722 -353
  17. package/dist/esm/base.d.ts +1 -1
  18. package/dist/esm/base.js +1 -1
  19. package/dist/esm/common.d.ts +1 -1
  20. package/dist/esm/common.js +1 -1
  21. package/dist/esm/configuration.d.ts +1 -1
  22. package/dist/esm/configuration.js +1 -1
  23. package/dist/esm/index.d.ts +1 -1
  24. package/dist/esm/index.js +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +1 -1
  27. package/docs/AdminAltAccount.md +27 -0
  28. package/docs/AdminAltExemption.md +31 -0
  29. package/docs/AdminApplyPunishmentResult.md +4 -4
  30. package/docs/AdminAsyncJob.md +47 -0
  31. package/docs/AdminAsyncJobStartResponse.md +21 -0
  32. package/docs/AdminAuditLogApi.md +141 -0
  33. package/docs/AdminAuditLogEntry.md +33 -0
  34. package/docs/AdminBulkRevokeRequest.md +25 -0
  35. package/docs/AdminBulkRevokeResponse.md +21 -0
  36. package/docs/AdminConnectionCheckResult.md +4 -0
  37. package/docs/AdminConnectionsApi.md +154 -39
  38. package/docs/AdminCreateAltExemptionRequest.md +23 -0
  39. package/docs/AdminCreatePlayerNoteRequest.md +21 -0
  40. package/docs/AdminDashboardConnectionResponse.md +4 -2
  41. package/docs/AdminJobsApi.md +175 -0
  42. package/docs/AdminPlayerDetailResponse.md +4 -4
  43. package/docs/AdminPlayerNote.md +31 -0
  44. package/docs/AdminPlayerPunishmentResponse.md +51 -0
  45. package/docs/AdminPlayerReport.md +39 -0
  46. package/docs/AdminPlayerSession.md +31 -0
  47. package/docs/AdminPlayerSessionStats.md +29 -0
  48. package/docs/AdminPlayerSummary.md +2 -4
  49. package/docs/AdminPlayersApi.md +936 -16
  50. package/docs/AdminPunishmentEvaluation.md +4 -8
  51. package/docs/AdminPunishmentsApi.md +78 -21
  52. package/docs/AdminReportTarget.md +23 -0
  53. package/docs/AdminReportsApi.md +123 -0
  54. package/docs/AdminResolveReportRequest.md +21 -0
  55. package/docs/AdminSetAggressiveModeImmunityRequest.md +21 -0
  56. package/docs/AdminTrustFactorBreakdown.md +61 -0
  57. package/docs/AdminTrustFactorHistoryEntry.md +23 -0
  58. package/docs/AdminTrustFactorImpact.md +23 -0
  59. package/docs/AdminUpdatePunishmentRequest.md +27 -0
  60. package/docs/ChatApi.md +4 -4
  61. package/docs/ConnectionApi.md +4 -4
  62. package/docs/ConnectionGetConnectionDetailsResponse.md +5 -1
  63. package/docs/ConnectionResult.md +1 -1
  64. package/docs/CreateReportRequest.md +27 -0
  65. package/docs/CreateReportResponse.md +23 -0
  66. package/docs/CursoredPageAdminAuditLogEntry.md +38 -0
  67. package/docs/CursoredPageable.md +30 -0
  68. package/docs/JobStatus.md +17 -0
  69. package/docs/PageAdminAltAccount.md +36 -0
  70. package/docs/PageAdminAltExemption.md +36 -0
  71. package/docs/PageAdminAsyncJob.md +36 -0
  72. package/docs/PageAdminAuditLogEntry.md +36 -0
  73. package/docs/PageAdminDashboardConnectionResponse.md +36 -0
  74. package/docs/PageAdminPlayerNote.md +36 -0
  75. package/docs/PageAdminPlayerPunishmentResponse.md +36 -0
  76. package/docs/PageAdminPlayerReport.md +36 -0
  77. package/docs/PageAdminPlayerSession.md +36 -0
  78. package/docs/PageAdminPlayerSummary.md +36 -0
  79. package/docs/PageAdminPunishmentListItem.md +36 -0
  80. package/docs/PagePunishmentGetPunishmentResponse.md +36 -0
  81. package/docs/Pageable.md +28 -0
  82. package/docs/PageableMode.md +12 -0
  83. package/docs/PlayerGetPlayerInformation.md +5 -3
  84. package/docs/PlayerSessionEndRequest.md +23 -0
  85. package/docs/PlayerSessionStartRequest.md +27 -0
  86. package/docs/PlayerSessionStartResponse.md +51 -0
  87. package/docs/PlayerSessionsApi.md +116 -0
  88. package/docs/PunishmentApi.md +22 -24
  89. package/docs/PunishmentSource.md +11 -0
  90. package/docs/PunishmentType.md +1 -0
  91. package/docs/ReportApi.md +64 -0
  92. package/docs/ReportCategory.md +17 -0
  93. package/docs/SliceAdminAltAccount.md +32 -0
  94. package/docs/SliceAdminAltExemption.md +32 -0
  95. package/docs/SliceAdminAsyncJob.md +32 -0
  96. package/docs/SliceAdminAuditLogEntry.md +32 -0
  97. package/docs/SliceAdminDashboardConnectionResponse.md +32 -0
  98. package/docs/SliceAdminPlayerNote.md +32 -0
  99. package/docs/SliceAdminPlayerPunishmentResponse.md +32 -0
  100. package/docs/SliceAdminPlayerReport.md +32 -0
  101. package/docs/SliceAdminPlayerSession.md +32 -0
  102. package/docs/SliceAdminPlayerSummary.md +32 -0
  103. package/docs/SliceAdminPunishmentListItem.md +32 -0
  104. package/docs/SlicePunishmentGetPunishmentResponse.md +32 -0
  105. package/docs/Sort.md +20 -0
  106. package/docs/SortOrder.md +26 -0
  107. package/docs/SortOrderDirection.md +10 -0
  108. package/index.ts +1 -1
  109. package/package.json +1 -1
  110. package/docs/AdminBackfillLocationResponse.md +0 -25
  111. package/docs/AdminPagedConnectionResponse.md +0 -29
  112. package/docs/AdminPagedPlayerResponse.md +0 -29
  113. package/docs/AdminPagedPunishmentResponse.md +0 -29
@@ -4,8 +4,253 @@ All URIs are relative to *https://api.smsh.sh*
4
4
 
5
5
  |Method | HTTP request | Description|
6
6
  |------------- | ------------- | -------------|
7
+ |[**addAltExemption**](#addaltexemption) | **POST** /admin/player/{uuid}/alt-exemption | Add an alt exemption|
8
+ |[**bulkRevokePropagated**](#bulkrevokepropagated) | **POST** /admin/player/player-punishment/bulk-revoke | Bulk-revoke PROPAGATED links by source|
9
+ |[**createPlayerNote**](#createplayernote) | **POST** /admin/player/{uuid}/note | Create a staff note on a player|
10
+ |[**deletePlayerNote**](#deleteplayernote) | **DELETE** /admin/player/{uuid}/note/{noteId} | Soft-delete a staff note|
7
11
  |[**getPlayer**](#getplayer) | **GET** /admin/player/{uuid} | Get player detail|
12
+ |[**getPlayerAlts**](#getplayeralts) | **GET** /admin/player/{uuid}/alts | List a player\'s alt accounts|
13
+ |[**getPlayerConnections**](#getplayerconnections) | **GET** /admin/player/{uuid}/connections | List a player\'s connection history|
14
+ |[**getPlayerPunishments**](#getplayerpunishments) | **GET** /admin/player/{uuid}/player-punishments | List a player\'s full punishment history|
15
+ |[**getSessionStats**](#getsessionstats) | **GET** /admin/player/{uuid}/session-stats | Get a player\'s aggregate session stats|
16
+ |[**listAltExemptions**](#listaltexemptions) | **GET** /admin/player/{uuid}/alt-exemption | List a player\'s alt exemptions|
17
+ |[**listPlayerNotes**](#listplayernotes) | **GET** /admin/player/{uuid}/notes | List staff notes on a player|
8
18
  |[**listPlayers**](#listplayers) | **GET** /admin/player | List players|
19
+ |[**listSessions**](#listsessions) | **GET** /admin/player/{uuid}/sessions | List a player\'s session history|
20
+ |[**removeAltExemption**](#removealtexemption) | **DELETE** /admin/player/{uuid}/alt-exemption/{altPlayerUuid} | Remove an alt exemption|
21
+ |[**revokePropagatedLink**](#revokepropagatedlink) | **DELETE** /admin/player/{uuid}/player-punishment/{playerPunishmentId} | Revoke a propagated punishment link|
22
+ |[**setAggressiveModeImmunity**](#setaggressivemodeimmunity) | **PATCH** /admin/player/{uuid}/aggressive-mode-immunity | Toggle aggressive-mode immunity|
23
+ |[**trustFactorBreakdown**](#trustfactorbreakdown) | **GET** /admin/player/{uuid}/trust-factor-breakdown | Trust factor breakdown for a player|
24
+ |[**trustFactorHistory**](#trustfactorhistory) | **GET** /admin/player/{uuid}/trust-factor-history | Trust factor history for a player|
25
+
26
+ # **addAltExemption**
27
+ > addAltExemption(adminCreateAltExemptionRequest)
28
+
29
+ Mark another player as a known-legitimate associate (e.g. roommate). The relationship is stored symmetrically: subsequent aggressive-mode propagation skips this pair as an alt source in either direction. Finer-grained than the per-player aggressive_mode_immunity flag.
30
+
31
+ ### Example
32
+
33
+ ```typescript
34
+ import {
35
+ AdminPlayersApi,
36
+ Configuration,
37
+ AdminCreateAltExemptionRequest
38
+ } from '@rebornteam/reborn-api';
39
+
40
+ const configuration = new Configuration();
41
+ const apiInstance = new AdminPlayersApi(configuration);
42
+
43
+ let uuid: string; //Player Minecraft UUID (default to undefined)
44
+ let adminCreateAltExemptionRequest: AdminCreateAltExemptionRequest; //
45
+
46
+ const { status, data } = await apiInstance.addAltExemption(
47
+ uuid,
48
+ adminCreateAltExemptionRequest
49
+ );
50
+ ```
51
+
52
+ ### Parameters
53
+
54
+ |Name | Type | Description | Notes|
55
+ |------------- | ------------- | ------------- | -------------|
56
+ | **adminCreateAltExemptionRequest** | **AdminCreateAltExemptionRequest**| | |
57
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
58
+
59
+
60
+ ### Return type
61
+
62
+ void (empty response body)
63
+
64
+ ### Authorization
65
+
66
+ [DiscordAuth](../README.md#DiscordAuth)
67
+
68
+ ### HTTP request headers
69
+
70
+ - **Content-Type**: application/json
71
+ - **Accept**: Not defined
72
+
73
+
74
+ ### HTTP response details
75
+ | Status code | Description | Response headers |
76
+ |-------------|-------------|------------------|
77
+ |**201** | Exemption created (or already existed; idempotent) | - |
78
+ |**400** | Cannot exempt a player from themselves | - |
79
+ |**404** | Either UUID does not match a known player | - |
80
+ |**401** | Unauthorized | - |
81
+ |**403** | Forbidden - Moderator role required | - |
82
+
83
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
84
+
85
+ # **bulkRevokePropagated**
86
+ > AdminBulkRevokeResponse bulkRevokePropagated(adminBulkRevokeRequest)
87
+
88
+ Soft-revokes every currently active PROPAGATED player_punishment row whose source matches the supplied id. Exactly one of sourcePlayerId / sourceConnectionId must be set. Useful when staff identify a single source as a false positive (e.g. shared NAT, legitimate roommate) and want to undo every link it caused in one operation.
89
+
90
+ ### Example
91
+
92
+ ```typescript
93
+ import {
94
+ AdminPlayersApi,
95
+ Configuration,
96
+ AdminBulkRevokeRequest
97
+ } from '@rebornteam/reborn-api';
98
+
99
+ const configuration = new Configuration();
100
+ const apiInstance = new AdminPlayersApi(configuration);
101
+
102
+ let adminBulkRevokeRequest: AdminBulkRevokeRequest; //
103
+
104
+ const { status, data } = await apiInstance.bulkRevokePropagated(
105
+ adminBulkRevokeRequest
106
+ );
107
+ ```
108
+
109
+ ### Parameters
110
+
111
+ |Name | Type | Description | Notes|
112
+ |------------- | ------------- | ------------- | -------------|
113
+ | **adminBulkRevokeRequest** | **AdminBulkRevokeRequest**| | |
114
+
115
+
116
+ ### Return type
117
+
118
+ **AdminBulkRevokeResponse**
119
+
120
+ ### Authorization
121
+
122
+ [DiscordAuth](../README.md#DiscordAuth)
123
+
124
+ ### HTTP request headers
125
+
126
+ - **Content-Type**: application/json
127
+ - **Accept**: application/json
128
+
129
+
130
+ ### HTTP response details
131
+ | Status code | Description | Response headers |
132
+ |-------------|-------------|------------------|
133
+ |**200** | Bulk revoke complete; response carries the number of rows updated | - |
134
+ |**400** | Both or neither source field supplied | - |
135
+ |**401** | Unauthorized | - |
136
+ |**403** | Forbidden - Moderator role required | - |
137
+
138
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
139
+
140
+ # **createPlayerNote**
141
+ > AdminPlayerNote createPlayerNote(adminCreatePlayerNoteRequest)
142
+
143
+ Appends a free-form note (1–4000 chars). Notes are not editable — to revise, post a new one and soft-delete the old.
144
+
145
+ ### Example
146
+
147
+ ```typescript
148
+ import {
149
+ AdminPlayersApi,
150
+ Configuration,
151
+ AdminCreatePlayerNoteRequest
152
+ } from '@rebornteam/reborn-api';
153
+
154
+ const configuration = new Configuration();
155
+ const apiInstance = new AdminPlayersApi(configuration);
156
+
157
+ let uuid: string; //Player Minecraft UUID (default to undefined)
158
+ let adminCreatePlayerNoteRequest: AdminCreatePlayerNoteRequest; //
159
+
160
+ const { status, data } = await apiInstance.createPlayerNote(
161
+ uuid,
162
+ adminCreatePlayerNoteRequest
163
+ );
164
+ ```
165
+
166
+ ### Parameters
167
+
168
+ |Name | Type | Description | Notes|
169
+ |------------- | ------------- | ------------- | -------------|
170
+ | **adminCreatePlayerNoteRequest** | **AdminCreatePlayerNoteRequest**| | |
171
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
172
+
173
+
174
+ ### Return type
175
+
176
+ **AdminPlayerNote**
177
+
178
+ ### Authorization
179
+
180
+ [DiscordAuth](../README.md#DiscordAuth)
181
+
182
+ ### HTTP request headers
183
+
184
+ - **Content-Type**: application/json
185
+ - **Accept**: application/json
186
+
187
+
188
+ ### HTTP response details
189
+ | Status code | Description | Response headers |
190
+ |-------------|-------------|------------------|
191
+ |**201** | Note created | - |
192
+ |**404** | Player not found | - |
193
+ |**401** | Unauthorized | - |
194
+ |**403** | Forbidden - Moderator role required | - |
195
+
196
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
197
+
198
+ # **deletePlayerNote**
199
+ > deletePlayerNote()
200
+
201
+ Marks the note as deleted but keeps the row for audit. Idempotent — 404 if already deleted or unknown id.
202
+
203
+ ### Example
204
+
205
+ ```typescript
206
+ import {
207
+ AdminPlayersApi,
208
+ Configuration
209
+ } from '@rebornteam/reborn-api';
210
+
211
+ const configuration = new Configuration();
212
+ const apiInstance = new AdminPlayersApi(configuration);
213
+
214
+ let uuid: string; //Player Minecraft UUID (routing only) (default to undefined)
215
+ let noteId: number; //Note id (default to undefined)
216
+
217
+ const { status, data } = await apiInstance.deletePlayerNote(
218
+ uuid,
219
+ noteId
220
+ );
221
+ ```
222
+
223
+ ### Parameters
224
+
225
+ |Name | Type | Description | Notes|
226
+ |------------- | ------------- | ------------- | -------------|
227
+ | **uuid** | [**string**] | Player Minecraft UUID (routing only) | defaults to undefined|
228
+ | **noteId** | [**number**] | Note id | defaults to undefined|
229
+
230
+
231
+ ### Return type
232
+
233
+ void (empty response body)
234
+
235
+ ### Authorization
236
+
237
+ [DiscordAuth](../README.md#DiscordAuth)
238
+
239
+ ### HTTP request headers
240
+
241
+ - **Content-Type**: Not defined
242
+ - **Accept**: Not defined
243
+
244
+
245
+ ### HTTP response details
246
+ | Status code | Description | Response headers |
247
+ |-------------|-------------|------------------|
248
+ |**204** | Note deleted | - |
249
+ |**404** | Note not found or already deleted | - |
250
+ |**401** | Unauthorized | - |
251
+ |**403** | Forbidden - Moderator role required | - |
252
+
253
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
9
254
 
10
255
  # **getPlayer**
11
256
  > AdminPlayerDetailResponse getPlayer()
@@ -61,30 +306,29 @@ const { status, data } = await apiInstance.getPlayer(
61
306
 
62
307
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
63
308
 
64
- # **listPlayers**
65
- > AdminPagedPlayerResponse listPlayers()
309
+ # **getPlayerAlts**
310
+ > PageAdminAltAccount getPlayerAlts()
66
311
 
67
- Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
312
+ Other players who have been seen on at least one of this player\'s historical connections. Sorted by shared-connection count desc, then last seen desc.
68
313
 
69
314
  ### Example
70
315
 
71
316
  ```typescript
72
317
  import {
73
318
  AdminPlayersApi,
74
- Configuration
319
+ Configuration,
320
+ Pageable
75
321
  } from '@rebornteam/reborn-api';
76
322
 
77
323
  const configuration = new Configuration();
78
324
  const apiInstance = new AdminPlayersApi(configuration);
79
325
 
80
- let page: number; //Page number (1-indexed) (default to 1)
81
- let limit: number; //Page size (default to 50)
82
- let search: string; //Optional search string matched against UUID or username (case-insensitive substring) (optional) (default to undefined)
326
+ let uuid: string; //Player Minecraft UUID (default to undefined)
327
+ let pageable: Pageable; // (default to undefined)
83
328
 
84
- const { status, data } = await apiInstance.listPlayers(
85
- page,
86
- limit,
87
- search
329
+ const { status, data } = await apiInstance.getPlayerAlts(
330
+ uuid,
331
+ pageable
88
332
  );
89
333
  ```
90
334
 
@@ -92,14 +336,13 @@ const { status, data } = await apiInstance.listPlayers(
92
336
 
93
337
  |Name | Type | Description | Notes|
94
338
  |------------- | ------------- | ------------- | -------------|
95
- | **page** | [**number**] | Page number (1-indexed) | defaults to 1|
96
- | **limit** | [**number**] | Page size | defaults to 50|
97
- | **search** | [**string**] | Optional search string matched against UUID or username (case-insensitive substring) | (optional) defaults to undefined|
339
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
340
+ | **pageable** | **Pageable** | | defaults to undefined|
98
341
 
99
342
 
100
343
  ### Return type
101
344
 
102
- **AdminPagedPlayerResponse**
345
+ **PageAdminAltAccount**
103
346
 
104
347
  ### Authorization
105
348
 
@@ -114,7 +357,684 @@ const { status, data } = await apiInstance.listPlayers(
114
357
  ### HTTP response details
115
358
  | Status code | Description | Response headers |
116
359
  |-------------|-------------|------------------|
117
- |**200** | Player list retrieved successfully | - |
360
+ |**200** | Alt list retrieved successfully | - |
361
+ |**401** | Unauthorized | - |
362
+ |**403** | Forbidden - Moderator role required | - |
363
+
364
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
365
+
366
+ # **getPlayerConnections**
367
+ > PageAdminDashboardConnectionResponse getPlayerConnections()
368
+
369
+ Paginated list of every connection this player has used (latest first). Same shape as the dashboard connection list, suitable for an infinite-scroll panel inside the player detail modal.
370
+
371
+ ### Example
372
+
373
+ ```typescript
374
+ import {
375
+ AdminPlayersApi,
376
+ Configuration,
377
+ Pageable
378
+ } from '@rebornteam/reborn-api';
379
+
380
+ const configuration = new Configuration();
381
+ const apiInstance = new AdminPlayersApi(configuration);
382
+
383
+ let uuid: string; //Player Minecraft UUID (default to undefined)
384
+ let pageable: Pageable; // (default to undefined)
385
+
386
+ const { status, data } = await apiInstance.getPlayerConnections(
387
+ uuid,
388
+ pageable
389
+ );
390
+ ```
391
+
392
+ ### Parameters
393
+
394
+ |Name | Type | Description | Notes|
395
+ |------------- | ------------- | ------------- | -------------|
396
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
397
+ | **pageable** | **Pageable** | | defaults to undefined|
398
+
399
+
400
+ ### Return type
401
+
402
+ **PageAdminDashboardConnectionResponse**
403
+
404
+ ### Authorization
405
+
406
+ [DiscordAuth](../README.md#DiscordAuth)
407
+
408
+ ### HTTP request headers
409
+
410
+ - **Content-Type**: Not defined
411
+ - **Accept**: application/json
412
+
413
+
414
+ ### HTTP response details
415
+ | Status code | Description | Response headers |
416
+ |-------------|-------------|------------------|
417
+ |**200** | Connection history retrieved successfully | - |
418
+ |**401** | Unauthorized | - |
419
+ |**403** | Forbidden - Moderator role required | - |
420
+
421
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
422
+
423
+ # **getPlayerPunishments**
424
+ > PageAdminPlayerPunishmentResponse getPlayerPunishments()
425
+
426
+ Paginated list of every player_punishment row for this player — DIRECT and PROPAGATED, active and revoked. Includes the transfer_note explaining why each propagated link was inserted and the revocation audit trail. The admin UI uses this to render a punishment-history section inside the player detail modal.
427
+
428
+ ### Example
429
+
430
+ ```typescript
431
+ import {
432
+ AdminPlayersApi,
433
+ Configuration,
434
+ Pageable
435
+ } from '@rebornteam/reborn-api';
436
+
437
+ const configuration = new Configuration();
438
+ const apiInstance = new AdminPlayersApi(configuration);
439
+
440
+ let uuid: string; //Player Minecraft UUID (default to undefined)
441
+ let pageable: Pageable; // (default to undefined)
442
+
443
+ const { status, data } = await apiInstance.getPlayerPunishments(
444
+ uuid,
445
+ pageable
446
+ );
447
+ ```
448
+
449
+ ### Parameters
450
+
451
+ |Name | Type | Description | Notes|
452
+ |------------- | ------------- | ------------- | -------------|
453
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
454
+ | **pageable** | **Pageable** | | defaults to undefined|
455
+
456
+
457
+ ### Return type
458
+
459
+ **PageAdminPlayerPunishmentResponse**
460
+
461
+ ### Authorization
462
+
463
+ [DiscordAuth](../README.md#DiscordAuth)
464
+
465
+ ### HTTP request headers
466
+
467
+ - **Content-Type**: Not defined
468
+ - **Accept**: application/json
469
+
470
+
471
+ ### HTTP response details
472
+ | Status code | Description | Response headers |
473
+ |-------------|-------------|------------------|
474
+ |**200** | Punishment history retrieved | - |
475
+ |**401** | Unauthorized | - |
476
+ |**403** | Forbidden - Moderator role required | - |
477
+
478
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
479
+
480
+ # **getSessionStats**
481
+ > AdminPlayerSessionStats getSessionStats()
482
+
483
+ Single-row summary: total seconds played, session count, distinct days active, most recent session start, and whether the player is currently online. Computed on demand from player_session. Feeds the trust factor system.
484
+
485
+ ### Example
486
+
487
+ ```typescript
488
+ import {
489
+ AdminPlayersApi,
490
+ Configuration
491
+ } from '@rebornteam/reborn-api';
492
+
493
+ const configuration = new Configuration();
494
+ const apiInstance = new AdminPlayersApi(configuration);
495
+
496
+ let uuid: string; //Player Minecraft UUID (default to undefined)
497
+
498
+ const { status, data } = await apiInstance.getSessionStats(
499
+ uuid
500
+ );
501
+ ```
502
+
503
+ ### Parameters
504
+
505
+ |Name | Type | Description | Notes|
506
+ |------------- | ------------- | ------------- | -------------|
507
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
508
+
509
+
510
+ ### Return type
511
+
512
+ **AdminPlayerSessionStats**
513
+
514
+ ### Authorization
515
+
516
+ [DiscordAuth](../README.md#DiscordAuth)
517
+
518
+ ### HTTP request headers
519
+
520
+ - **Content-Type**: Not defined
521
+ - **Accept**: application/json
522
+
523
+
524
+ ### HTTP response details
525
+ | Status code | Description | Response headers |
526
+ |-------------|-------------|------------------|
527
+ |**200** | Stats retrieved | - |
528
+ |**401** | Unauthorized | - |
529
+ |**403** | Forbidden - Moderator role required | - |
530
+
531
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
532
+
533
+ # **listAltExemptions**
534
+ > PageAdminAltExemption listAltExemptions()
535
+
536
+ Paginated list of the player\'s known-legitimate-associate exemptions. The list reflects rows where this player is the source side (player_id = this); since exemptions are stored symmetrically the reciprocal rows exist too.
537
+
538
+ ### Example
539
+
540
+ ```typescript
541
+ import {
542
+ AdminPlayersApi,
543
+ Configuration,
544
+ Pageable
545
+ } from '@rebornteam/reborn-api';
546
+
547
+ const configuration = new Configuration();
548
+ const apiInstance = new AdminPlayersApi(configuration);
549
+
550
+ let uuid: string; //Player Minecraft UUID (default to undefined)
551
+ let pageable: Pageable; // (default to undefined)
552
+
553
+ const { status, data } = await apiInstance.listAltExemptions(
554
+ uuid,
555
+ pageable
556
+ );
557
+ ```
558
+
559
+ ### Parameters
560
+
561
+ |Name | Type | Description | Notes|
562
+ |------------- | ------------- | ------------- | -------------|
563
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
564
+ | **pageable** | **Pageable** | | defaults to undefined|
565
+
566
+
567
+ ### Return type
568
+
569
+ **PageAdminAltExemption**
570
+
571
+ ### Authorization
572
+
573
+ [DiscordAuth](../README.md#DiscordAuth)
574
+
575
+ ### HTTP request headers
576
+
577
+ - **Content-Type**: Not defined
578
+ - **Accept**: application/json
579
+
580
+
581
+ ### HTTP response details
582
+ | Status code | Description | Response headers |
583
+ |-------------|-------------|------------------|
584
+ |**200** | Exemption list retrieved | - |
585
+ |**401** | Unauthorized | - |
586
+ |**403** | Forbidden - Moderator role required | - |
587
+
588
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
589
+
590
+ # **listPlayerNotes**
591
+ > PageAdminPlayerNote listPlayerNotes()
592
+
593
+ Paginated, newest first. Soft-deleted notes are included; the UI styles them as struck-through.
594
+
595
+ ### Example
596
+
597
+ ```typescript
598
+ import {
599
+ AdminPlayersApi,
600
+ Configuration,
601
+ Pageable
602
+ } from '@rebornteam/reborn-api';
603
+
604
+ const configuration = new Configuration();
605
+ const apiInstance = new AdminPlayersApi(configuration);
606
+
607
+ let uuid: string; //Player Minecraft UUID (default to undefined)
608
+ let pageable: Pageable; // (default to undefined)
609
+
610
+ const { status, data } = await apiInstance.listPlayerNotes(
611
+ uuid,
612
+ pageable
613
+ );
614
+ ```
615
+
616
+ ### Parameters
617
+
618
+ |Name | Type | Description | Notes|
619
+ |------------- | ------------- | ------------- | -------------|
620
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
621
+ | **pageable** | **Pageable** | | defaults to undefined|
622
+
623
+
624
+ ### Return type
625
+
626
+ **PageAdminPlayerNote**
627
+
628
+ ### Authorization
629
+
630
+ [DiscordAuth](../README.md#DiscordAuth)
631
+
632
+ ### HTTP request headers
633
+
634
+ - **Content-Type**: Not defined
635
+ - **Accept**: application/json
636
+
637
+
638
+ ### HTTP response details
639
+ | Status code | Description | Response headers |
640
+ |-------------|-------------|------------------|
641
+ |**200** | Notes retrieved | - |
642
+ |**401** | Unauthorized | - |
643
+ |**403** | Forbidden - Moderator role required | - |
644
+
645
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
646
+
647
+ # **listPlayers**
648
+ > PageAdminPlayerSummary listPlayers()
649
+
650
+ Returns up to 500 players ordered by most recently seen. Optionally filter by UUID or username substring.
651
+
652
+ ### Example
653
+
654
+ ```typescript
655
+ import {
656
+ AdminPlayersApi,
657
+ Configuration,
658
+ Pageable
659
+ } from '@rebornteam/reborn-api';
660
+
661
+ const configuration = new Configuration();
662
+ const apiInstance = new AdminPlayersApi(configuration);
663
+
664
+ let pageable: Pageable; // (default to undefined)
665
+ let search: string; //Optional search string matched against UUID or username (case-insensitive substring) (optional) (default to undefined)
666
+
667
+ const { status, data } = await apiInstance.listPlayers(
668
+ pageable,
669
+ search
670
+ );
671
+ ```
672
+
673
+ ### Parameters
674
+
675
+ |Name | Type | Description | Notes|
676
+ |------------- | ------------- | ------------- | -------------|
677
+ | **pageable** | **Pageable** | | defaults to undefined|
678
+ | **search** | [**string**] | Optional search string matched against UUID or username (case-insensitive substring) | (optional) defaults to undefined|
679
+
680
+
681
+ ### Return type
682
+
683
+ **PageAdminPlayerSummary**
684
+
685
+ ### Authorization
686
+
687
+ [DiscordAuth](../README.md#DiscordAuth)
688
+
689
+ ### HTTP request headers
690
+
691
+ - **Content-Type**: Not defined
692
+ - **Accept**: application/json
693
+
694
+
695
+ ### HTTP response details
696
+ | Status code | Description | Response headers |
697
+ |-------------|-------------|------------------|
698
+ |**200** | Player list retrieved successfully | - |
699
+ |**401** | Unauthorized | - |
700
+ |**403** | Forbidden - Moderator role required | - |
701
+
702
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
703
+
704
+ # **listSessions**
705
+ > PageAdminPlayerSession listSessions()
706
+
707
+ Paginated history of player_session rows (active + closed), newest first. Each row records one visit by this player to one game server. Used by the admin player detail view and as the underlying data for the session-stats aggregate.
708
+
709
+ ### Example
710
+
711
+ ```typescript
712
+ import {
713
+ AdminPlayersApi,
714
+ Configuration,
715
+ Pageable
716
+ } from '@rebornteam/reborn-api';
717
+
718
+ const configuration = new Configuration();
719
+ const apiInstance = new AdminPlayersApi(configuration);
720
+
721
+ let uuid: string; //Player Minecraft UUID (default to undefined)
722
+ let pageable: Pageable; // (default to undefined)
723
+
724
+ const { status, data } = await apiInstance.listSessions(
725
+ uuid,
726
+ pageable
727
+ );
728
+ ```
729
+
730
+ ### Parameters
731
+
732
+ |Name | Type | Description | Notes|
733
+ |------------- | ------------- | ------------- | -------------|
734
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
735
+ | **pageable** | **Pageable** | | defaults to undefined|
736
+
737
+
738
+ ### Return type
739
+
740
+ **PageAdminPlayerSession**
741
+
742
+ ### Authorization
743
+
744
+ [DiscordAuth](../README.md#DiscordAuth)
745
+
746
+ ### HTTP request headers
747
+
748
+ - **Content-Type**: Not defined
749
+ - **Accept**: application/json
750
+
751
+
752
+ ### HTTP response details
753
+ | Status code | Description | Response headers |
754
+ |-------------|-------------|------------------|
755
+ |**200** | Session history retrieved | - |
756
+ |**401** | Unauthorized | - |
757
+ |**403** | Forbidden - Moderator role required | - |
758
+
759
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
760
+
761
+ # **removeAltExemption**
762
+ > removeAltExemption()
763
+
764
+ Delete the symmetric exemption pair between two players. Both directions are removed.
765
+
766
+ ### Example
767
+
768
+ ```typescript
769
+ import {
770
+ AdminPlayersApi,
771
+ Configuration
772
+ } from '@rebornteam/reborn-api';
773
+
774
+ const configuration = new Configuration();
775
+ const apiInstance = new AdminPlayersApi(configuration);
776
+
777
+ let uuid: string; //Player Minecraft UUID (default to undefined)
778
+ let altPlayerUuid: string; //UUID of the alt to remove from exemption (default to undefined)
779
+
780
+ const { status, data } = await apiInstance.removeAltExemption(
781
+ uuid,
782
+ altPlayerUuid
783
+ );
784
+ ```
785
+
786
+ ### Parameters
787
+
788
+ |Name | Type | Description | Notes|
789
+ |------------- | ------------- | ------------- | -------------|
790
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
791
+ | **altPlayerUuid** | [**string**] | UUID of the alt to remove from exemption | defaults to undefined|
792
+
793
+
794
+ ### Return type
795
+
796
+ void (empty response body)
797
+
798
+ ### Authorization
799
+
800
+ [DiscordAuth](../README.md#DiscordAuth)
801
+
802
+ ### HTTP request headers
803
+
804
+ - **Content-Type**: Not defined
805
+ - **Accept**: Not defined
806
+
807
+
808
+ ### HTTP response details
809
+ | Status code | Description | Response headers |
810
+ |-------------|-------------|------------------|
811
+ |**204** | Exemption(s) deleted; or no rows existed | - |
812
+ |**404** | Either UUID does not match a known player | - |
813
+ |**401** | Unauthorized | - |
814
+ |**403** | Forbidden - Moderator role required | - |
815
+
816
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
817
+
818
+ # **revokePropagatedLink**
819
+ > revokePropagatedLink()
820
+
821
+ Soft-deletes a single player_punishment row that was inserted by aggressive-mode propagation. The source punishment record is untouched — only the link between this player and that punishment is removed from enforcement. Rejected with 404 if the row is DIRECT (the original punishment record) or already revoked.
822
+
823
+ ### Example
824
+
825
+ ```typescript
826
+ import {
827
+ AdminPlayersApi,
828
+ Configuration
829
+ } from '@rebornteam/reborn-api';
830
+
831
+ const configuration = new Configuration();
832
+ const apiInstance = new AdminPlayersApi(configuration);
833
+
834
+ let uuid: string; //Player Minecraft UUID (for routing/audit context; the link id is the source of truth) (default to undefined)
835
+ let playerPunishmentId: number; //player_punishment row id (default to undefined)
836
+
837
+ const { status, data } = await apiInstance.revokePropagatedLink(
838
+ uuid,
839
+ playerPunishmentId
840
+ );
841
+ ```
842
+
843
+ ### Parameters
844
+
845
+ |Name | Type | Description | Notes|
846
+ |------------- | ------------- | ------------- | -------------|
847
+ | **uuid** | [**string**] | Player Minecraft UUID (for routing/audit context; the link id is the source of truth) | defaults to undefined|
848
+ | **playerPunishmentId** | [**number**] | player_punishment row id | defaults to undefined|
849
+
850
+
851
+ ### Return type
852
+
853
+ void (empty response body)
854
+
855
+ ### Authorization
856
+
857
+ [DiscordAuth](../README.md#DiscordAuth)
858
+
859
+ ### HTTP request headers
860
+
861
+ - **Content-Type**: Not defined
862
+ - **Accept**: Not defined
863
+
864
+
865
+ ### HTTP response details
866
+ | Status code | Description | Response headers |
867
+ |-------------|-------------|------------------|
868
+ |**204** | Link revoked | - |
869
+ |**404** | Link not found, already revoked, or DIRECT (cannot revoke a non-propagated link via this endpoint) | - |
870
+ |**401** | Unauthorized | - |
871
+ |**403** | Forbidden - Moderator role required | - |
872
+
873
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
874
+
875
+ # **setAggressiveModeImmunity**
876
+ > AdminPlayerDetailResponse setAggressiveModeImmunity(adminSetAggressiveModeImmunityRequest)
877
+
878
+ Sets whether a player is exempt from aggressive-mode propagation. Flipping the flag ON also bulk-revokes every currently active PROPAGATED link for the player in the same transaction, so the player\'s enforcement state immediately reflects the cleared status. Flipping back to OFF re-enables propagation but does NOT un-revoke previously-revoked links.
879
+
880
+ ### Example
881
+
882
+ ```typescript
883
+ import {
884
+ AdminPlayersApi,
885
+ Configuration,
886
+ AdminSetAggressiveModeImmunityRequest
887
+ } from '@rebornteam/reborn-api';
888
+
889
+ const configuration = new Configuration();
890
+ const apiInstance = new AdminPlayersApi(configuration);
891
+
892
+ let uuid: string; //Player Minecraft UUID (default to undefined)
893
+ let adminSetAggressiveModeImmunityRequest: AdminSetAggressiveModeImmunityRequest; //
894
+
895
+ const { status, data } = await apiInstance.setAggressiveModeImmunity(
896
+ uuid,
897
+ adminSetAggressiveModeImmunityRequest
898
+ );
899
+ ```
900
+
901
+ ### Parameters
902
+
903
+ |Name | Type | Description | Notes|
904
+ |------------- | ------------- | ------------- | -------------|
905
+ | **adminSetAggressiveModeImmunityRequest** | **AdminSetAggressiveModeImmunityRequest**| | |
906
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
907
+
908
+
909
+ ### Return type
910
+
911
+ **AdminPlayerDetailResponse**
912
+
913
+ ### Authorization
914
+
915
+ [DiscordAuth](../README.md#DiscordAuth)
916
+
917
+ ### HTTP request headers
918
+
919
+ - **Content-Type**: application/json
920
+ - **Accept**: application/json
921
+
922
+
923
+ ### HTTP response details
924
+ | Status code | Description | Response headers |
925
+ |-------------|-------------|------------------|
926
+ |**200** | Immunity flag updated; returns the refreshed player detail | - |
927
+ |**404** | Player not found | - |
928
+ |**401** | Unauthorized | - |
929
+ |**403** | Forbidden - Moderator role required | - |
930
+
931
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
932
+
933
+ # **trustFactorBreakdown**
934
+ > AdminTrustFactorBreakdown trustFactorBreakdown()
935
+
936
+ Returns every subtotal (bonuses / penalties) and the underlying signal counts that fed compute_trust_factor for this player. The {@code finalScore} matches what GET /admin/player/{uuid} returns; this endpoint adds the per-component detail. Used by the admin UI \"why is this score what it is?\" tooltip. Informational only — trust factor never auto-escalates punishments.
937
+
938
+ ### Example
939
+
940
+ ```typescript
941
+ import {
942
+ AdminPlayersApi,
943
+ Configuration
944
+ } from '@rebornteam/reborn-api';
945
+
946
+ const configuration = new Configuration();
947
+ const apiInstance = new AdminPlayersApi(configuration);
948
+
949
+ let uuid: string; //Player Minecraft UUID (default to undefined)
950
+
951
+ const { status, data } = await apiInstance.trustFactorBreakdown(
952
+ uuid
953
+ );
954
+ ```
955
+
956
+ ### Parameters
957
+
958
+ |Name | Type | Description | Notes|
959
+ |------------- | ------------- | ------------- | -------------|
960
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
961
+
962
+
963
+ ### Return type
964
+
965
+ **AdminTrustFactorBreakdown**
966
+
967
+ ### Authorization
968
+
969
+ [DiscordAuth](../README.md#DiscordAuth)
970
+
971
+ ### HTTP request headers
972
+
973
+ - **Content-Type**: Not defined
974
+ - **Accept**: application/json
975
+
976
+
977
+ ### HTTP response details
978
+ | Status code | Description | Response headers |
979
+ |-------------|-------------|------------------|
980
+ |**200** | Breakdown computed | - |
981
+ |**404** | Player not found | - |
982
+ |**401** | Unauthorized | - |
983
+ |**403** | Forbidden - Moderator role required | - |
984
+
985
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
986
+
987
+ # **trustFactorHistory**
988
+ > AdminTrustFactorHistoryEntry trustFactorHistory()
989
+
990
+ Returns one snapshot per day (oldest first) over the requested window. Useful for trend visualization. The daily snapshot job runs at 03:00 UTC; days with no row indicate the snapshot job didn\'t run that day (e.g., outage).
991
+
992
+ ### Example
993
+
994
+ ```typescript
995
+ import {
996
+ AdminPlayersApi,
997
+ Configuration
998
+ } from '@rebornteam/reborn-api';
999
+
1000
+ const configuration = new Configuration();
1001
+ const apiInstance = new AdminPlayersApi(configuration);
1002
+
1003
+ let uuid: string; //Player Minecraft UUID (default to undefined)
1004
+ let days: number; //Window in days (default 30, max 365) (optional) (default to 30)
1005
+
1006
+ const { status, data } = await apiInstance.trustFactorHistory(
1007
+ uuid,
1008
+ days
1009
+ );
1010
+ ```
1011
+
1012
+ ### Parameters
1013
+
1014
+ |Name | Type | Description | Notes|
1015
+ |------------- | ------------- | ------------- | -------------|
1016
+ | **uuid** | [**string**] | Player Minecraft UUID | defaults to undefined|
1017
+ | **days** | [**number**] | Window in days (default 30, max 365) | (optional) defaults to 30|
1018
+
1019
+
1020
+ ### Return type
1021
+
1022
+ **AdminTrustFactorHistoryEntry**
1023
+
1024
+ ### Authorization
1025
+
1026
+ [DiscordAuth](../README.md#DiscordAuth)
1027
+
1028
+ ### HTTP request headers
1029
+
1030
+ - **Content-Type**: Not defined
1031
+ - **Accept**: application/json
1032
+
1033
+
1034
+ ### HTTP response details
1035
+ | Status code | Description | Response headers |
1036
+ |-------------|-------------|------------------|
1037
+ |**200** | History retrieved | - |
118
1038
  |**401** | Unauthorized | - |
119
1039
  |**403** | Forbidden - Moderator role required | - |
120
1040