@rebornteam/reborn-api 2.6.0 → 2.7.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 (57) hide show
  1. package/.openapi-generator/FILES +19 -5
  2. package/README.md +33 -11
  3. package/api.ts +1572 -588
  4. package/base.ts +1 -1
  5. package/common.ts +1 -1
  6. package/configuration.ts +1 -1
  7. package/dist/api.d.ts +776 -248
  8. package/dist/api.js +1264 -467
  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 +776 -248
  16. package/dist/esm/api.js +1243 -454
  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/AdminApplyPunishmentRequest.md +33 -0
  28. package/docs/AdminApplyPunishmentResponse.md +21 -0
  29. package/docs/AdminApplyPunishmentResult.md +33 -0
  30. package/docs/AdminCreatePunishmentDraftRequest.md +31 -0
  31. package/docs/AdminIpSearchResult.md +23 -0
  32. package/docs/AdminPagedPunishmentResponse.md +1 -1
  33. package/docs/AdminPlayerSearchResult.md +23 -0
  34. package/docs/AdminPunishmentDraftResponse.md +21 -0
  35. package/docs/AdminPunishmentEvaluation.md +39 -0
  36. package/docs/AdminPunishmentListItem.md +42 -0
  37. package/docs/AdminPunishmentSearchResponse.md +25 -0
  38. package/docs/AdminPunishmentTarget.md +23 -0
  39. package/docs/AdminPunishmentsApi.md +168 -2
  40. package/docs/AuthenticationApi.md +167 -0
  41. package/docs/ChatApi.md +121 -0
  42. package/docs/ChatMessageDTO.md +30 -0
  43. package/docs/ChatMessageRequest.md +26 -0
  44. package/docs/PlayerApi.md +56 -3
  45. package/docs/PunishmentApi.md +0 -106
  46. package/docs/PunishmentGetPunishmentResponse.md +5 -3
  47. package/docs/ServerRegisterRequest.md +24 -0
  48. package/docs/ServerSessionDTO.md +36 -0
  49. package/docs/ServerSessionsApi.md +261 -0
  50. package/docs/TokenRequest.md +24 -0
  51. package/index.ts +1 -1
  52. package/package.json +1 -1
  53. package/docs/ApplyPunishmentRequest.md +0 -31
  54. package/docs/ApplyPunishmentResponse.md +0 -33
  55. package/docs/CreatePunishmentDraftRequest.md +0 -29
  56. package/docs/DefaultApi.md +0 -105
  57. package/docs/PunishmentDraftResponse.md +0 -39
package/dist/api.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Reborn API
3
3
  * The Reborn API serves as the central backend for the platform, orchestrating secure communication between game clients and data services. This API supports two authentication methods: - **OAuth 2.0 Client Credentials**: For programmatic API access - **Discord SSO Bearer Token**: For admin endpoints requiring Discord authentication
4
4
  *
5
- * The version of the OpenAPI document: 2.6.0
5
+ * The version of the OpenAPI document: 2.7.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -13,6 +13,87 @@ import type { Configuration } from './configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import type { RequestArgs } from './base';
15
15
  import { BaseAPI } from './base';
16
+ /**
17
+ * Request to apply a punishment to one or more targets
18
+ */
19
+ export interface AdminApplyPunishmentRequest {
20
+ /**
21
+ * List of targets to punish — each must have either a uuid or ipAddress
22
+ */
23
+ 'targets': Array<AdminPunishmentTarget>;
24
+ /**
25
+ * Punishment type
26
+ */
27
+ 'type': AdminApplyPunishmentRequestTypeEnum;
28
+ /**
29
+ * Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical
30
+ */
31
+ 'severity'?: number;
32
+ /**
33
+ * Reason for the punishment
34
+ */
35
+ 'reason': string;
36
+ /**
37
+ * Custom duration in seconds — if omitted the suggested duration for the type and severity is used
38
+ */
39
+ 'durationSeconds'?: number | null;
40
+ /**
41
+ * Force the punishment to be permanent regardless of the target\'s current score
42
+ */
43
+ 'forcePermanent'?: boolean;
44
+ /**
45
+ * Internal notes visible only to administrators — not shown to the punished player
46
+ */
47
+ 'notes'?: string | null;
48
+ }
49
+ export declare const AdminApplyPunishmentRequestTypeEnum: {
50
+ readonly Ban: "BAN";
51
+ readonly Mute: "MUTE";
52
+ readonly Warning: "WARNING";
53
+ };
54
+ export type AdminApplyPunishmentRequestTypeEnum = typeof AdminApplyPunishmentRequestTypeEnum[keyof typeof AdminApplyPunishmentRequestTypeEnum];
55
+ /**
56
+ * Batch punishment apply result — one result per target
57
+ */
58
+ export interface AdminApplyPunishmentResponse {
59
+ /**
60
+ * Ordered list of results, one per target in the request
61
+ */
62
+ 'results'?: Array<AdminApplyPunishmentResult>;
63
+ }
64
+ /**
65
+ * Result of applying a punishment to a single target
66
+ */
67
+ export interface AdminApplyPunishmentResult {
68
+ /**
69
+ * The target this result applies to
70
+ */
71
+ 'target'?: AdminPunishmentTarget;
72
+ /**
73
+ * ID of the created punishment record
74
+ */
75
+ 'punishmentId'?: number;
76
+ /**
77
+ * Punishment type applied
78
+ */
79
+ 'type'?: string;
80
+ /**
81
+ * Severity level applied
82
+ */
83
+ 'severity'?: number;
84
+ /**
85
+ * Updated punishment score after applying
86
+ */
87
+ 'newScore'?: number;
88
+ /**
89
+ * Whether the punishment was made permanent
90
+ */
91
+ 'isPermanent'?: boolean;
92
+ /**
93
+ * When the punishment expires — null if permanent or a WARNING
94
+ */
95
+ 'expiresAt'?: string | null;
96
+ }
16
97
  /**
17
98
  * Client credential response
18
99
  */
@@ -71,6 +152,41 @@ export interface AdminConnectionBypassResponse {
71
152
  */
72
153
  'createdAt'?: string;
73
154
  }
155
+ /**
156
+ * Request to evaluate the impact of a punishment across one or more targets before applying
157
+ */
158
+ export interface AdminCreatePunishmentDraftRequest {
159
+ /**
160
+ * List of targets to evaluate — each must have either a uuid or ipAddress
161
+ */
162
+ 'targets': Array<AdminPunishmentTarget>;
163
+ /**
164
+ * Punishment type
165
+ */
166
+ 'type': AdminCreatePunishmentDraftRequestTypeEnum;
167
+ /**
168
+ * Severity level: 1=Minor, 2=Moderate, 3=Severe, 4=Critical
169
+ */
170
+ 'severity'?: number;
171
+ /**
172
+ * Reason for the punishment (not used in evaluation, required for apply)
173
+ */
174
+ 'reason': string;
175
+ /**
176
+ * Custom duration in seconds — if omitted the suggested duration for the type and severity is used
177
+ */
178
+ 'durationSeconds'?: number | null;
179
+ /**
180
+ * Force the punishment to be permanent regardless of the target\'s current score
181
+ */
182
+ 'forcePermanent'?: boolean;
183
+ }
184
+ export declare const AdminCreatePunishmentDraftRequestTypeEnum: {
185
+ readonly Ban: "BAN";
186
+ readonly Mute: "MUTE";
187
+ readonly Warning: "WARNING";
188
+ };
189
+ export type AdminCreatePunishmentDraftRequestTypeEnum = typeof AdminCreatePunishmentDraftRequestTypeEnum[keyof typeof AdminCreatePunishmentDraftRequestTypeEnum];
74
190
  export interface AdminDashboardConnectionResponse {
75
191
  'id': number;
76
192
  'ipAddress': string;
@@ -88,6 +204,19 @@ export interface AdminGetDashboardStats {
88
204
  'totalConnections': number;
89
205
  'totalClients': number;
90
206
  }
207
+ /**
208
+ * A single IP address match in a punishment search, with all players ever seen on that IP
209
+ */
210
+ export interface AdminIpSearchResult {
211
+ /**
212
+ * IP address
213
+ */
214
+ 'ipAddress'?: string;
215
+ /**
216
+ * Players ever seen on this IP
217
+ */
218
+ 'players'?: Array<AdminPlayerSearchResult>;
219
+ }
91
220
  /**
92
221
  * Paginated connection list response
93
222
  */
@@ -145,7 +274,7 @@ export interface AdminPagedPunishmentResponse {
145
274
  /**
146
275
  * Punishments on the current page
147
276
  */
148
- 'data'?: Array<PunishmentGetPunishmentResponse>;
277
+ 'data'?: Array<AdminPunishmentListItem>;
149
278
  /**
150
279
  * Total number of punishments matching the filters
151
280
  */
@@ -204,6 +333,19 @@ export interface AdminPlayerDetailResponse {
204
333
  */
205
334
  'usernameHistory'?: Array<AdminUsernameHistoryEntry>;
206
335
  }
336
+ /**
337
+ * Lightweight player reference used in search results and punishment evaluations
338
+ */
339
+ export interface AdminPlayerSearchResult {
340
+ /**
341
+ * Player Minecraft UUID
342
+ */
343
+ 'uuid'?: string;
344
+ /**
345
+ * Most recently seen username, null if never recorded
346
+ */
347
+ 'username'?: string | null;
348
+ }
207
349
  /**
208
350
  * Summary of a player record, used in list views
209
351
  */
@@ -242,79 +384,134 @@ export interface AdminPlayerSummary {
242
384
  'punishmentPointsPercent'?: number;
243
385
  }
244
386
  /**
245
- * A single entry in a player\'s username history
387
+ * Batch punishment draft one evaluation per target
246
388
  */
247
- export interface AdminUsernameHistoryEntry {
248
- /**
249
- * The username at this point in time
250
- */
251
- 'username'?: string;
389
+ export interface AdminPunishmentDraftResponse {
252
390
  /**
253
- * When this username was first observed (ISO-8601)
391
+ * Ordered list of evaluations, one per target in the request
254
392
  */
255
- 'changedAt'?: string;
393
+ 'evaluations'?: Array<AdminPunishmentEvaluation>;
256
394
  }
257
395
  /**
258
- * Request to apply a punishment to a player
396
+ * Evaluation of a punishment\'s impact on a single target
259
397
  */
260
- export interface ApplyPunishmentRequest {
398
+ export interface AdminPunishmentEvaluation {
261
399
  /**
262
- * Player UUID to punish
400
+ * The target this evaluation applies to
263
401
  */
264
- 'playerUuid': string;
402
+ 'target'?: AdminPunishmentTarget;
265
403
  /**
266
- * Reason for the punishment
404
+ * Players affected — one player for UUID targets, all players on the IP for connection targets
267
405
  */
268
- 'reason': string;
406
+ 'affectedPlayers'?: Array<AdminPlayerSearchResult>;
269
407
  /**
270
- * Type of punishment
408
+ * Current punishment score before applying this punishment (0–100+)
271
409
  */
272
- 'type': string;
410
+ 'currentScore'?: number;
273
411
  /**
274
- * Severity level of the punishment (1-10)
412
+ * Points this punishment would add to the score
275
413
  */
276
- 'severity': number;
414
+ 'pointsToAdd'?: number;
277
415
  /**
278
- * Staff member applying the punishment
416
+ * Projected score after applying this punishment
279
417
  */
280
- 'createdBy': string;
418
+ 'newScore'?: number;
419
+ /**
420
+ * Whether this punishment would be permanent based on the current score threshold
421
+ */
422
+ 'willBePermanent'?: boolean;
281
423
  /**
282
- * Duration of the punishment in seconds. Null means permanent.
424
+ * Resolved duration in seconds null if permanent or a WARNING
283
425
  */
284
426
  'durationSeconds'?: number | null;
427
+ /**
428
+ * Number of existing punishments on this target
429
+ */
430
+ 'previousPunishmentCount'?: number;
431
+ /**
432
+ * True when the target is an IP address (connection punishment) rather than a player UUID
433
+ */
434
+ 'isConnectionTarget'?: boolean;
435
+ /**
436
+ * The effective punishment type that will be applied — may differ from the requested type if escalated to BAN at threshold
437
+ */
438
+ 'effectiveType'?: string;
439
+ }
440
+ export interface AdminPunishmentListItem {
441
+ 'id': number;
442
+ 'reason': string;
443
+ 'notes'?: string | null;
444
+ 'type': string;
445
+ 'severity': number;
446
+ 'createdBy': string;
447
+ 'expiresAt'?: string | null;
448
+ 'createdAt': string;
449
+ 'targetType': string;
450
+ 'targetUuid'?: string | null;
451
+ 'targetUsername'?: string | null;
452
+ 'targetIp'?: string | null;
285
453
  }
286
454
  /**
287
- * Response after applying a punishment
455
+ * Result of a punishment target search — either a list of matching players or a list of matching IP addresses
288
456
  */
289
- export interface ApplyPunishmentResponse {
457
+ export interface AdminPunishmentSearchResponse {
290
458
  /**
291
- * ID of the created punishment
459
+ * Search kind \'player\' for UUID/username searches, \'ip\' for IP address searches
292
460
  */
293
- 'punishmentId'?: number;
461
+ 'kind'?: AdminPunishmentSearchResponseKindEnum;
294
462
  /**
295
- * Player UUID punished
463
+ * Matching players — only populated when kind=\'player\'
296
464
  */
297
- 'playerUuid'?: string;
465
+ 'players'?: Array<AdminPlayerSearchResult>;
298
466
  /**
299
- * Type of punishment applied
467
+ * Matching IP addresses with their associated players — only populated when kind=\'ip\'
300
468
  */
301
- 'type'?: string;
469
+ 'ipResults'?: Array<AdminIpSearchResult>;
470
+ }
471
+ export declare const AdminPunishmentSearchResponseKindEnum: {
472
+ readonly Player: "player";
473
+ readonly Ip: "ip";
474
+ };
475
+ export type AdminPunishmentSearchResponseKindEnum = typeof AdminPunishmentSearchResponseKindEnum[keyof typeof AdminPunishmentSearchResponseKindEnum];
476
+ /**
477
+ * A target for a punishment — either a player UUID or an IP address (mutually exclusive)
478
+ */
479
+ export interface AdminPunishmentTarget {
302
480
  /**
303
- * Severity level (1-10)
481
+ * Player Minecraft UUID
304
482
  */
305
- 'severity'?: number;
483
+ 'uuid'?: string | null;
306
484
  /**
307
- * New total punishment score after applying
485
+ * IP address — when specified, the punishment is linked to the connection record and all players on that IP are shown as affected
308
486
  */
309
- 'newScore'?: number;
487
+ 'ipAddress'?: string | null;
488
+ }
489
+ /**
490
+ * A single entry in a player\'s username history
491
+ */
492
+ export interface AdminUsernameHistoryEntry {
310
493
  /**
311
- * Whether this punishment is permanent
494
+ * The username at this point in time
312
495
  */
313
- 'isPermanent'?: boolean;
496
+ 'username'?: string;
314
497
  /**
315
- * Timestamp when punishment expires (ISO-8601 format, null if permanent)
498
+ * When this username was first observed (ISO-8601)
316
499
  */
317
- 'expiresAt'?: string;
500
+ 'changedAt'?: string;
501
+ }
502
+ export interface ChatMessageDTO {
503
+ 'id': number;
504
+ 'sentAt': string;
505
+ 'sessionId': string;
506
+ 'playerUuid': string;
507
+ 'message': string;
508
+ 'channel': string;
509
+ }
510
+ export interface ChatMessageRequest {
511
+ 'sessionId': string;
512
+ 'playerUuid': string;
513
+ 'message': string;
514
+ 'channel'?: string | null;
318
515
  }
319
516
  /**
320
517
  * Request to create new client credentials
@@ -380,31 +577,6 @@ export interface CreateBypassRequest {
380
577
  */
381
578
  'expiresAtEpoch': number;
382
579
  }
383
- /**
384
- * Request to create a punishment draft for preview before applying
385
- */
386
- export interface CreatePunishmentDraftRequest {
387
- /**
388
- * Player UUID to punish
389
- */
390
- 'playerUuid': string;
391
- /**
392
- * Reason for the punishment
393
- */
394
- 'reason': string;
395
- /**
396
- * Type of punishment
397
- */
398
- 'type': string;
399
- /**
400
- * Severity level of the punishment (1-10)
401
- */
402
- 'severity': number;
403
- /**
404
- * Duration of the punishment in seconds. Null means permanent.
405
- */
406
- 'durationSeconds'?: number | null;
407
- }
408
580
  /**
409
581
  * Player information including join history, tracking data, and punishment scoring
410
582
  */
@@ -426,51 +598,6 @@ export interface PlayerGetPlayerInformation {
426
598
  */
427
599
  'punishmentPointsPercent'?: number;
428
600
  }
429
- /**
430
- * Response containing punishment draft preview with calculated points and thresholds
431
- */
432
- export interface PunishmentDraftResponse {
433
- /**
434
- * Player UUID this punishment would apply to
435
- */
436
- 'playerUuid'?: string;
437
- /**
438
- * Reason for the punishment
439
- */
440
- 'reason'?: string;
441
- /**
442
- * Type of punishment
443
- */
444
- 'type'?: string;
445
- /**
446
- * Severity level (1-10)
447
- */
448
- 'severity'?: number;
449
- /**
450
- * Current total punishment score before applying this punishment
451
- */
452
- 'currentScore'?: number;
453
- /**
454
- * Points this punishment would add
455
- */
456
- 'pointsToAdd'?: number;
457
- /**
458
- * New total score after applying this punishment
459
- */
460
- 'newScore'?: number;
461
- /**
462
- * Whether this punishment will be permanent
463
- */
464
- 'willBePermanent'?: boolean;
465
- /**
466
- * Duration in seconds (null if permanent)
467
- */
468
- 'durationSeconds'?: number;
469
- /**
470
- * Number of previous punishments for this player
471
- */
472
- 'previousPunishmentCount'?: number;
473
- }
474
601
  /**
475
602
  * Punishment information including reason, type, creator, and expiration
476
603
  */
@@ -480,15 +607,19 @@ export interface PunishmentGetPunishmentResponse {
480
607
  */
481
608
  'id'?: number;
482
609
  /**
483
- * Reason for the punishment
610
+ * Reason for the punishment, shown to the punished player
484
611
  */
485
612
  'reason'?: string;
486
613
  /**
487
- * Type of punishment (e.g., BAN, MUTE, KICK, WARNING)
614
+ * Internal administrator notes not shown to the punished player
615
+ */
616
+ 'notes'?: string | null;
617
+ /**
618
+ * Type of punishment (BAN, MUTE, WARNING)
488
619
  */
489
620
  'type'?: string;
490
621
  /**
491
- * Severity level of the punishment (1-10, where 10 is most severe)
622
+ * Severity level (1=Minor, 2=Moderate, 3=Severe, 4=Critical)
492
623
  */
493
624
  'severity'?: number;
494
625
  /**
@@ -539,6 +670,27 @@ export interface PunishmentSeveritiesResponseSeverityInfo {
539
670
  */
540
671
  'durationSeconds'?: number;
541
672
  }
673
+ export interface ServerRegisterRequest {
674
+ 'region': string;
675
+ 'gameType': string;
676
+ 'containerId'?: string | null;
677
+ }
678
+ export interface ServerSessionDTO {
679
+ 'id': string;
680
+ 'region': string;
681
+ 'gameType': string;
682
+ 'instanceName': string;
683
+ 'containerId'?: string | null;
684
+ 'startedAt': string;
685
+ 'lastHeartbeat': string;
686
+ 'endedAt'?: string | null;
687
+ 'online': boolean;
688
+ }
689
+ export interface TokenRequest {
690
+ 'grant_type'?: string | null;
691
+ 'client_id'?: string | null;
692
+ 'client_secret'?: string | null;
693
+ }
542
694
  /**
543
695
  * Request to update client metadata
544
696
  */
@@ -1096,6 +1248,22 @@ export declare class AdminPlayersApi extends BaseAPI {
1096
1248
  * AdminPunishmentsApi - axios parameter creator
1097
1249
  */
1098
1250
  export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Configuration) => {
1251
+ /**
1252
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1253
+ * @summary Apply punishment
1254
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1255
+ * @param {*} [options] Override http request option.
1256
+ * @throws {RequiredError}
1257
+ */
1258
+ applyPunishment: (adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1259
+ /**
1260
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1261
+ * @summary Evaluate punishment impact
1262
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1263
+ * @param {*} [options] Override http request option.
1264
+ * @throws {RequiredError}
1265
+ */
1266
+ createDraft: (adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1099
1267
  /**
1100
1268
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1101
1269
  * @summary List punishments
@@ -1104,18 +1272,42 @@ export declare const AdminPunishmentsApiAxiosParamCreator: (configuration?: Conf
1104
1272
  * @param {string | null} [uuid] Filter by player UUID
1105
1273
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1106
1274
  * @param {string | null} [ipAddress] Filter by IP address
1107
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1275
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1108
1276
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1109
1277
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1110
1278
  * @param {*} [options] Override http request option.
1111
1279
  * @throws {RequiredError}
1112
1280
  */
1113
1281
  getPunishments: (page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1282
+ /**
1283
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1284
+ * @summary Search punishment targets
1285
+ * @param {string} q UUID, username, or partial/full IP address to search for
1286
+ * @param {*} [options] Override http request option.
1287
+ * @throws {RequiredError}
1288
+ */
1289
+ searchTargets: (q: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1114
1290
  };
1115
1291
  /**
1116
1292
  * AdminPunishmentsApi - functional programming interface
1117
1293
  */
1118
1294
  export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
1295
+ /**
1296
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1297
+ * @summary Apply punishment
1298
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1299
+ * @param {*} [options] Override http request option.
1300
+ * @throws {RequiredError}
1301
+ */
1302
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminApplyPunishmentResponse>>;
1303
+ /**
1304
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1305
+ * @summary Evaluate punishment impact
1306
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1307
+ * @param {*} [options] Override http request option.
1308
+ * @throws {RequiredError}
1309
+ */
1310
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentDraftResponse>>;
1119
1311
  /**
1120
1312
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1121
1313
  * @summary List punishments
@@ -1124,18 +1316,42 @@ export declare const AdminPunishmentsApiFp: (configuration?: Configuration) => {
1124
1316
  * @param {string | null} [uuid] Filter by player UUID
1125
1317
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1126
1318
  * @param {string | null} [ipAddress] Filter by IP address
1127
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1319
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1128
1320
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1129
1321
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1130
1322
  * @param {*} [options] Override http request option.
1131
1323
  * @throws {RequiredError}
1132
1324
  */
1133
1325
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPagedPunishmentResponse>>;
1326
+ /**
1327
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1328
+ * @summary Search punishment targets
1329
+ * @param {string} q UUID, username, or partial/full IP address to search for
1330
+ * @param {*} [options] Override http request option.
1331
+ * @throws {RequiredError}
1332
+ */
1333
+ searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminPunishmentSearchResponse>>;
1134
1334
  };
1135
1335
  /**
1136
1336
  * AdminPunishmentsApi - factory interface
1137
1337
  */
1138
1338
  export declare const AdminPunishmentsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1339
+ /**
1340
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1341
+ * @summary Apply punishment
1342
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1343
+ * @param {*} [options] Override http request option.
1344
+ * @throws {RequiredError}
1345
+ */
1346
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminApplyPunishmentResponse>;
1347
+ /**
1348
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1349
+ * @summary Evaluate punishment impact
1350
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1351
+ * @param {*} [options] Override http request option.
1352
+ * @throws {RequiredError}
1353
+ */
1354
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentDraftResponse>;
1139
1355
  /**
1140
1356
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1141
1357
  * @summary List punishments
@@ -1144,18 +1360,42 @@ export declare const AdminPunishmentsApiFactory: (configuration?: Configuration,
1144
1360
  * @param {string | null} [uuid] Filter by player UUID
1145
1361
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1146
1362
  * @param {string | null} [ipAddress] Filter by IP address
1147
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1363
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1148
1364
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1149
1365
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1150
1366
  * @param {*} [options] Override http request option.
1151
1367
  * @throws {RequiredError}
1152
1368
  */
1153
1369
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<AdminPagedPunishmentResponse>;
1370
+ /**
1371
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1372
+ * @summary Search punishment targets
1373
+ * @param {string} q UUID, username, or partial/full IP address to search for
1374
+ * @param {*} [options] Override http request option.
1375
+ * @throws {RequiredError}
1376
+ */
1377
+ searchTargets(q: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminPunishmentSearchResponse>;
1154
1378
  };
1155
1379
  /**
1156
1380
  * AdminPunishmentsApi - object-oriented interface
1157
1381
  */
1158
1382
  export declare class AdminPunishmentsApi extends BaseAPI {
1383
+ /**
1384
+ * Apply a punishment to one or more targets. Player targets are linked via player_punishment; IP targets are linked via connection_punishment. The authenticated user is recorded as the issuer.
1385
+ * @summary Apply punishment
1386
+ * @param {AdminApplyPunishmentRequest} adminApplyPunishmentRequest
1387
+ * @param {*} [options] Override http request option.
1388
+ * @throws {RequiredError}
1389
+ */
1390
+ applyPunishment(adminApplyPunishmentRequest: AdminApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminApplyPunishmentResponse, any, {}>>;
1391
+ /**
1392
+ * Preview the impact of a punishment across one or more targets. Returns current score, points to add, projected new score, and affected players per target. No changes are made.
1393
+ * @summary Evaluate punishment impact
1394
+ * @param {AdminCreatePunishmentDraftRequest} adminCreatePunishmentDraftRequest
1395
+ * @param {*} [options] Override http request option.
1396
+ * @throws {RequiredError}
1397
+ */
1398
+ createDraft(adminCreatePunishmentDraftRequest: AdminCreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentDraftResponse, any, {}>>;
1159
1399
  /**
1160
1400
  * Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
1161
1401
  * @summary List punishments
@@ -1164,149 +1404,297 @@ export declare class AdminPunishmentsApi extends BaseAPI {
1164
1404
  * @param {string | null} [uuid] Filter by player UUID
1165
1405
  * @param {string | null} [username] Filter by player username (case-insensitive substring match)
1166
1406
  * @param {string | null} [ipAddress] Filter by IP address
1167
- * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, KICK, WARNING). Repeatable.
1407
+ * @param {Array<string> | null} [type] Filter by punishment type (BAN, MUTE, WARNING). Repeatable.
1168
1408
  * @param {number | null} [issuedAfter] Filter punishments issued after this epoch timestamp (ms)
1169
1409
  * @param {number | null} [issuedBefore] Filter punishments issued before this epoch timestamp (ms)
1170
1410
  * @param {*} [options] Override http request option.
1171
1411
  * @throws {RequiredError}
1172
1412
  */
1173
1413
  getPunishments(page: number, limit: number, uuid?: string | null, username?: string | null, ipAddress?: string | null, type?: Array<string> | null, issuedAfter?: number | null, issuedBefore?: number | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPagedPunishmentResponse, any, {}>>;
1414
+ /**
1415
+ * Search for players by UUID or username, or look up all players associated with an IP address. Used to populate the target table before issuing a punishment.
1416
+ * @summary Search punishment targets
1417
+ * @param {string} q UUID, username, or partial/full IP address to search for
1418
+ * @param {*} [options] Override http request option.
1419
+ * @throws {RequiredError}
1420
+ */
1421
+ searchTargets(q: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<AdminPunishmentSearchResponse, any, {}>>;
1174
1422
  }
1175
1423
  /**
1176
- * ConnectionApi - axios parameter creator
1424
+ * AuthenticationApi - axios parameter creator
1177
1425
  */
1178
- export declare const ConnectionApiAxiosParamCreator: (configuration?: Configuration) => {
1426
+ export declare const AuthenticationApiAxiosParamCreator: (configuration?: Configuration) => {
1179
1427
  /**
1180
- * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1181
- * @summary Check Connection and Detect VPN/Proxy
1182
- * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1183
- * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1184
- * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1428
+ * Receives the authorization code from Discord after the user approves the OAuth2 prompt. Exchanges the code for an access token, verifies the user holds an admin guild role, then redirects back to the admin frontend with a signed JWT in the query string (`?token=...`). On failure, redirects with `?error=<reason>` instead.
1429
+ * @summary Discord - OAuth2 callback
1430
+ * @param {string | null} [code] Authorization code provided by Discord on successful approval
1431
+ * @param {string | null} [error] Error code provided by Discord if the user denied access
1185
1432
  * @param {*} [options] Override http request option.
1186
1433
  * @throws {RequiredError}
1187
1434
  */
1188
- getConnectionDetails: (ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1435
+ callback: (code?: string | null, error?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1436
+ /**
1437
+ * Redirects the browser to Discord\'s OAuth2 authorization page. Not called directly — the admin frontend navigates to this URL to begin the login flow.
1438
+ * @summary Discord - Initiate login
1439
+ * @param {*} [options] Override http request option.
1440
+ * @throws {RequiredError}
1441
+ */
1442
+ initiateLogin: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1443
+ /**
1444
+ * Exchange service client credentials for a Bearer JWT using the OAuth2 client_credentials grant. Used by game server plugins to authenticate against the API.
1445
+ * @summary Service - Exchange client credentials for token
1446
+ * @param {string | null} [grantType]
1447
+ * @param {string | null} [clientId]
1448
+ * @param {string | null} [clientSecret]
1449
+ * @param {*} [options] Override http request option.
1450
+ * @throws {RequiredError}
1451
+ */
1452
+ token: (grantType?: string | null, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1189
1453
  };
1190
1454
  /**
1191
- * ConnectionApi - functional programming interface
1455
+ * AuthenticationApi - functional programming interface
1192
1456
  */
1193
- export declare const ConnectionApiFp: (configuration?: Configuration) => {
1457
+ export declare const AuthenticationApiFp: (configuration?: Configuration) => {
1194
1458
  /**
1195
- * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1196
- * @summary Check Connection and Detect VPN/Proxy
1197
- * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1198
- * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1199
- * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1459
+ * Receives the authorization code from Discord after the user approves the OAuth2 prompt. Exchanges the code for an access token, verifies the user holds an admin guild role, then redirects back to the admin frontend with a signed JWT in the query string (`?token=...`). On failure, redirects with `?error=<reason>` instead.
1460
+ * @summary Discord - OAuth2 callback
1461
+ * @param {string | null} [code] Authorization code provided by Discord on successful approval
1462
+ * @param {string | null} [error] Error code provided by Discord if the user denied access
1200
1463
  * @param {*} [options] Override http request option.
1201
1464
  * @throws {RequiredError}
1202
1465
  */
1203
- getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConnectionGetConnectionDetailsResponse>>;
1466
+ callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
1467
+ /**
1468
+ * Redirects the browser to Discord\'s OAuth2 authorization page. Not called directly — the admin frontend navigates to this URL to begin the login flow.
1469
+ * @summary Discord - Initiate login
1470
+ * @param {*} [options] Override http request option.
1471
+ * @throws {RequiredError}
1472
+ */
1473
+ initiateLogin(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
1474
+ /**
1475
+ * Exchange service client credentials for a Bearer JWT using the OAuth2 client_credentials grant. Used by game server plugins to authenticate against the API.
1476
+ * @summary Service - Exchange client credentials for token
1477
+ * @param {string | null} [grantType]
1478
+ * @param {string | null} [clientId]
1479
+ * @param {string | null} [clientSecret]
1480
+ * @param {*} [options] Override http request option.
1481
+ * @throws {RequiredError}
1482
+ */
1483
+ token(grantType?: string | null, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
1204
1484
  };
1205
1485
  /**
1206
- * ConnectionApi - factory interface
1486
+ * AuthenticationApi - factory interface
1207
1487
  */
1208
- export declare const ConnectionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1488
+ export declare const AuthenticationApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1209
1489
  /**
1210
- * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1211
- * @summary Check Connection and Detect VPN/Proxy
1212
- * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1213
- * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1214
- * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1490
+ * Receives the authorization code from Discord after the user approves the OAuth2 prompt. Exchanges the code for an access token, verifies the user holds an admin guild role, then redirects back to the admin frontend with a signed JWT in the query string (`?token=...`). On failure, redirects with `?error=<reason>` instead.
1491
+ * @summary Discord - OAuth2 callback
1492
+ * @param {string | null} [code] Authorization code provided by Discord on successful approval
1493
+ * @param {string | null} [error] Error code provided by Discord if the user denied access
1215
1494
  * @param {*} [options] Override http request option.
1216
1495
  * @throws {RequiredError}
1217
1496
  */
1218
- getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<ConnectionGetConnectionDetailsResponse>;
1497
+ callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<void>;
1498
+ /**
1499
+ * Redirects the browser to Discord\'s OAuth2 authorization page. Not called directly — the admin frontend navigates to this URL to begin the login flow.
1500
+ * @summary Discord - Initiate login
1501
+ * @param {*} [options] Override http request option.
1502
+ * @throws {RequiredError}
1503
+ */
1504
+ initiateLogin(options?: RawAxiosRequestConfig): AxiosPromise<void>;
1505
+ /**
1506
+ * Exchange service client credentials for a Bearer JWT using the OAuth2 client_credentials grant. Used by game server plugins to authenticate against the API.
1507
+ * @summary Service - Exchange client credentials for token
1508
+ * @param {string | null} [grantType]
1509
+ * @param {string | null} [clientId]
1510
+ * @param {string | null} [clientSecret]
1511
+ * @param {*} [options] Override http request option.
1512
+ * @throws {RequiredError}
1513
+ */
1514
+ token(grantType?: string | null, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<object>;
1219
1515
  };
1220
1516
  /**
1221
- * ConnectionApi - object-oriented interface
1517
+ * AuthenticationApi - object-oriented interface
1222
1518
  */
1223
- export declare class ConnectionApi extends BaseAPI {
1519
+ export declare class AuthenticationApi extends BaseAPI {
1224
1520
  /**
1225
- * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1226
- * @summary Check Connection and Detect VPN/Proxy
1227
- * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1228
- * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1229
- * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1521
+ * Receives the authorization code from Discord after the user approves the OAuth2 prompt. Exchanges the code for an access token, verifies the user holds an admin guild role, then redirects back to the admin frontend with a signed JWT in the query string (`?token=...`). On failure, redirects with `?error=<reason>` instead.
1522
+ * @summary Discord - OAuth2 callback
1523
+ * @param {string | null} [code] Authorization code provided by Discord on successful approval
1524
+ * @param {string | null} [error] Error code provided by Discord if the user denied access
1230
1525
  * @param {*} [options] Override http request option.
1231
1526
  * @throws {RequiredError}
1232
1527
  */
1233
- getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ConnectionGetConnectionDetailsResponse, any, {}>>;
1528
+ callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
1529
+ /**
1530
+ * Redirects the browser to Discord\'s OAuth2 authorization page. Not called directly — the admin frontend navigates to this URL to begin the login flow.
1531
+ * @summary Discord - Initiate login
1532
+ * @param {*} [options] Override http request option.
1533
+ * @throws {RequiredError}
1534
+ */
1535
+ initiateLogin(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
1536
+ /**
1537
+ * Exchange service client credentials for a Bearer JWT using the OAuth2 client_credentials grant. Used by game server plugins to authenticate against the API.
1538
+ * @summary Service - Exchange client credentials for token
1539
+ * @param {string | null} [grantType]
1540
+ * @param {string | null} [clientId]
1541
+ * @param {string | null} [clientSecret]
1542
+ * @param {*} [options] Override http request option.
1543
+ * @throws {RequiredError}
1544
+ */
1545
+ token(grantType?: string | null, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
1234
1546
  }
1235
1547
  /**
1236
- * DefaultApi - axios parameter creator
1548
+ * ChatApi - axios parameter creator
1237
1549
  */
1238
- export declare const DefaultApiAxiosParamCreator: (configuration?: Configuration) => {
1550
+ export declare const ChatApiAxiosParamCreator: (configuration?: Configuration) => {
1239
1551
  /**
1240
- *
1241
- * @param {string | null} [code]
1242
- * @param {string | null} [error]
1552
+ * Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
1553
+ * @summary Get chat history
1554
+ * @param {number} limit Maximum number of messages to return (1–100)
1555
+ * @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
1556
+ * @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
1243
1557
  * @param {*} [options] Override http request option.
1244
1558
  * @throws {RequiredError}
1245
1559
  */
1246
- callback: (code?: string | null, error?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1560
+ history: (limit: number, sessionId?: string | null, before?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1247
1561
  /**
1248
- *
1562
+ * Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
1563
+ * @summary Ingest a chat message
1564
+ * @param {ChatMessageRequest} chatMessageRequest
1249
1565
  * @param {*} [options] Override http request option.
1250
1566
  * @throws {RequiredError}
1251
1567
  */
1252
- initiateLogin: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1568
+ ingest: (chatMessageRequest: ChatMessageRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1253
1569
  };
1254
1570
  /**
1255
- * DefaultApi - functional programming interface
1571
+ * ChatApi - functional programming interface
1256
1572
  */
1257
- export declare const DefaultApiFp: (configuration?: Configuration) => {
1573
+ export declare const ChatApiFp: (configuration?: Configuration) => {
1258
1574
  /**
1259
- *
1260
- * @param {string | null} [code]
1261
- * @param {string | null} [error]
1575
+ * Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
1576
+ * @summary Get chat history
1577
+ * @param {number} limit Maximum number of messages to return (1–100)
1578
+ * @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
1579
+ * @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
1262
1580
  * @param {*} [options] Override http request option.
1263
1581
  * @throws {RequiredError}
1264
1582
  */
1265
- callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
1583
+ history(limit: number, sessionId?: string | null, before?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ChatMessageDTO>>>;
1266
1584
  /**
1267
- *
1585
+ * Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
1586
+ * @summary Ingest a chat message
1587
+ * @param {ChatMessageRequest} chatMessageRequest
1268
1588
  * @param {*} [options] Override http request option.
1269
1589
  * @throws {RequiredError}
1270
1590
  */
1271
- initiateLogin(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
1591
+ ingest(chatMessageRequest: ChatMessageRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ChatMessageDTO>>;
1272
1592
  };
1273
1593
  /**
1274
- * DefaultApi - factory interface
1594
+ * ChatApi - factory interface
1275
1595
  */
1276
- export declare const DefaultApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1596
+ export declare const ChatApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1277
1597
  /**
1278
- *
1279
- * @param {string | null} [code]
1280
- * @param {string | null} [error]
1598
+ * Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
1599
+ * @summary Get chat history
1600
+ * @param {number} limit Maximum number of messages to return (1–100)
1601
+ * @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
1602
+ * @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
1281
1603
  * @param {*} [options] Override http request option.
1282
1604
  * @throws {RequiredError}
1283
1605
  */
1284
- callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<object>;
1606
+ history(limit: number, sessionId?: string | null, before?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<Array<ChatMessageDTO>>;
1285
1607
  /**
1286
- *
1608
+ * Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
1609
+ * @summary Ingest a chat message
1610
+ * @param {ChatMessageRequest} chatMessageRequest
1287
1611
  * @param {*} [options] Override http request option.
1288
1612
  * @throws {RequiredError}
1289
1613
  */
1290
- initiateLogin(options?: RawAxiosRequestConfig): AxiosPromise<object>;
1614
+ ingest(chatMessageRequest: ChatMessageRequest, options?: RawAxiosRequestConfig): AxiosPromise<ChatMessageDTO>;
1291
1615
  };
1292
1616
  /**
1293
- * DefaultApi - object-oriented interface
1617
+ * ChatApi - object-oriented interface
1294
1618
  */
1295
- export declare class DefaultApi extends BaseAPI {
1619
+ export declare class ChatApi extends BaseAPI {
1296
1620
  /**
1297
- *
1298
- * @param {string | null} [code]
1299
- * @param {string | null} [error]
1621
+ * Returns up to `limit` chat messages before the given `before` timestamp (keyset pagination). Results are returned in ascending chronological order. Omit `before` to start from the current time. Scroll back through history by passing the `sentAt` of the oldest message received as the next `before` value.
1622
+ * @summary Get chat history
1623
+ * @param {number} limit Maximum number of messages to return (1–100)
1624
+ * @param {string | null} [sessionId] Filter to a specific server session. Omit for global history.
1625
+ * @param {string | null} [before] ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now.
1300
1626
  * @param {*} [options] Override http request option.
1301
1627
  * @throws {RequiredError}
1302
1628
  */
1303
- callback(code?: string | null, error?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
1629
+ history(limit: number, sessionId?: string | null, before?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatMessageDTO[], any, {}>>;
1304
1630
  /**
1305
- *
1631
+ * Stores a chat message from a game server and fans it out to all connected WebSocket clients via PostgreSQL LISTEN/NOTIFY. The session must be currently online. Only the player UUID is stored — usernames are resolved on the web UI from the player database cache.
1632
+ * @summary Ingest a chat message
1633
+ * @param {ChatMessageRequest} chatMessageRequest
1306
1634
  * @param {*} [options] Override http request option.
1307
1635
  * @throws {RequiredError}
1308
1636
  */
1309
- initiateLogin(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
1637
+ ingest(chatMessageRequest: ChatMessageRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ChatMessageDTO, any, {}>>;
1638
+ }
1639
+ /**
1640
+ * ConnectionApi - axios parameter creator
1641
+ */
1642
+ export declare const ConnectionApiAxiosParamCreator: (configuration?: Configuration) => {
1643
+ /**
1644
+ * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1645
+ * @summary Check Connection and Detect VPN/Proxy
1646
+ * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1647
+ * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1648
+ * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1649
+ * @param {*} [options] Override http request option.
1650
+ * @throws {RequiredError}
1651
+ */
1652
+ getConnectionDetails: (ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1653
+ };
1654
+ /**
1655
+ * ConnectionApi - functional programming interface
1656
+ */
1657
+ export declare const ConnectionApiFp: (configuration?: Configuration) => {
1658
+ /**
1659
+ * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1660
+ * @summary Check Connection and Detect VPN/Proxy
1661
+ * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1662
+ * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1663
+ * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1664
+ * @param {*} [options] Override http request option.
1665
+ * @throws {RequiredError}
1666
+ */
1667
+ getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConnectionGetConnectionDetailsResponse>>;
1668
+ };
1669
+ /**
1670
+ * ConnectionApi - factory interface
1671
+ */
1672
+ export declare const ConnectionApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1673
+ /**
1674
+ * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1675
+ * @summary Check Connection and Detect VPN/Proxy
1676
+ * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1677
+ * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1678
+ * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1679
+ * @param {*} [options] Override http request option.
1680
+ * @throws {RequiredError}
1681
+ */
1682
+ getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<ConnectionGetConnectionDetailsResponse>;
1683
+ };
1684
+ /**
1685
+ * ConnectionApi - object-oriented interface
1686
+ */
1687
+ export declare class ConnectionApi extends BaseAPI {
1688
+ /**
1689
+ * Performs comprehensive analysis of an IPv4 address to detect VPN, proxy, or suspicious connections. **Features:** - Multi-provider VPN/proxy detection with aggregated confidence scoring - Approximate geolocation lookup (city and country) - Connection bypass status and expiration tracking - Optional player UUID association for connection history **Use Cases:** - Prevent VPN/proxy usage during player authentication - Track player connection history across sessions - Implement temporary bypass systems for false positives - Monitor suspicious connection patterns **Query Parameters:** - `force_recheck`: Bypass cache and re-run all detection services - `associate_uuid`: Link this IP to a player UUID and return player info **Caching:** Results are cached unless `force_recheck=true` is specified, reducing API costs and improving response times.
1690
+ * @summary Check Connection and Detect VPN/Proxy
1691
+ * @param {string} ip IPv4 address to analyze for VPN/proxy detection and geolocation
1692
+ * @param {boolean} forceRecheck When true, bypasses cached results and re-runs all VPN detection services. Use this when you need the most up-to-date analysis or suspect cached data may be stale. Default: false
1693
+ * @param {string | null} [associateUuid] Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\&#39;s history - Update the player\&#39;s username from Mojang API - Return player information (first join status, first login time) in the response - Track connection history for fraud detection This operation is asynchronous and won\&#39;t block the response.
1694
+ * @param {*} [options] Override http request option.
1695
+ * @throws {RequiredError}
1696
+ */
1697
+ getConnectionDetails(ip: string, forceRecheck: boolean, associateUuid?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ConnectionGetConnectionDetailsResponse, any, {}>>;
1310
1698
  }
1311
1699
  /**
1312
1700
  * PlayerApi - axios parameter creator
@@ -1314,12 +1702,20 @@ export declare class DefaultApi extends BaseAPI {
1314
1702
  export declare const PlayerApiAxiosParamCreator: (configuration?: Configuration) => {
1315
1703
  /**
1316
1704
  * Retrieves player information by their Minecraft UUID. Returns whether this is the player\'s first join and their first login timestamp. This endpoint is useful for tracking player join history and implementing first-join rewards or tutorials.
1317
- * @summary Get Player Information
1705
+ * @summary Get player information
1318
1706
  * @param {string} uuid The Minecraft player UUID (with or without dashes)
1319
1707
  * @param {*} [options] Override http request option.
1320
1708
  * @throws {RequiredError}
1321
1709
  */
1322
1710
  getPlayer1: (uuid: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1711
+ /**
1712
+ * Accepts a list of player UUIDs and returns a map of `uuid → username` for those that have a recorded username. UUIDs with no username record (e.g. players who have never joined) are omitted from the response. Used by the web UI to display player names in the chat log.
1713
+ * @summary Batch resolve UUIDs to usernames
1714
+ * @param {Array<string>} uuids List of player UUIDs to resolve (repeatable query param)
1715
+ * @param {*} [options] Override http request option.
1716
+ * @throws {RequiredError}
1717
+ */
1718
+ getUsernames: (uuids: Array<string>, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1323
1719
  };
1324
1720
  /**
1325
1721
  * PlayerApi - functional programming interface
@@ -1327,12 +1723,20 @@ export declare const PlayerApiAxiosParamCreator: (configuration?: Configuration)
1327
1723
  export declare const PlayerApiFp: (configuration?: Configuration) => {
1328
1724
  /**
1329
1725
  * Retrieves player information by their Minecraft UUID. Returns whether this is the player\'s first join and their first login timestamp. This endpoint is useful for tracking player join history and implementing first-join rewards or tutorials.
1330
- * @summary Get Player Information
1726
+ * @summary Get player information
1331
1727
  * @param {string} uuid The Minecraft player UUID (with or without dashes)
1332
1728
  * @param {*} [options] Override http request option.
1333
1729
  * @throws {RequiredError}
1334
1730
  */
1335
1731
  getPlayer1(uuid: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlayerGetPlayerInformation>>;
1732
+ /**
1733
+ * Accepts a list of player UUIDs and returns a map of `uuid → username` for those that have a recorded username. UUIDs with no username record (e.g. players who have never joined) are omitted from the response. Used by the web UI to display player names in the chat log.
1734
+ * @summary Batch resolve UUIDs to usernames
1735
+ * @param {Array<string>} uuids List of player UUIDs to resolve (repeatable query param)
1736
+ * @param {*} [options] Override http request option.
1737
+ * @throws {RequiredError}
1738
+ */
1739
+ getUsernames(uuids: Array<string>, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
1336
1740
  };
1337
1741
  /**
1338
1742
  * PlayerApi - factory interface
@@ -1340,12 +1744,20 @@ export declare const PlayerApiFp: (configuration?: Configuration) => {
1340
1744
  export declare const PlayerApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1341
1745
  /**
1342
1746
  * Retrieves player information by their Minecraft UUID. Returns whether this is the player\'s first join and their first login timestamp. This endpoint is useful for tracking player join history and implementing first-join rewards or tutorials.
1343
- * @summary Get Player Information
1747
+ * @summary Get player information
1344
1748
  * @param {string} uuid The Minecraft player UUID (with or without dashes)
1345
1749
  * @param {*} [options] Override http request option.
1346
1750
  * @throws {RequiredError}
1347
1751
  */
1348
1752
  getPlayer1(uuid: string, options?: RawAxiosRequestConfig): AxiosPromise<PlayerGetPlayerInformation>;
1753
+ /**
1754
+ * Accepts a list of player UUIDs and returns a map of `uuid → username` for those that have a recorded username. UUIDs with no username record (e.g. players who have never joined) are omitted from the response. Used by the web UI to display player names in the chat log.
1755
+ * @summary Batch resolve UUIDs to usernames
1756
+ * @param {Array<string>} uuids List of player UUIDs to resolve (repeatable query param)
1757
+ * @param {*} [options] Override http request option.
1758
+ * @throws {RequiredError}
1759
+ */
1760
+ getUsernames(uuids: Array<string>, options?: RawAxiosRequestConfig): AxiosPromise<void>;
1349
1761
  };
1350
1762
  /**
1351
1763
  * PlayerApi - object-oriented interface
@@ -1353,33 +1765,25 @@ export declare const PlayerApiFactory: (configuration?: Configuration, basePath?
1353
1765
  export declare class PlayerApi extends BaseAPI {
1354
1766
  /**
1355
1767
  * Retrieves player information by their Minecraft UUID. Returns whether this is the player\'s first join and their first login timestamp. This endpoint is useful for tracking player join history and implementing first-join rewards or tutorials.
1356
- * @summary Get Player Information
1768
+ * @summary Get player information
1357
1769
  * @param {string} uuid The Minecraft player UUID (with or without dashes)
1358
1770
  * @param {*} [options] Override http request option.
1359
1771
  * @throws {RequiredError}
1360
1772
  */
1361
1773
  getPlayer1(uuid: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PlayerGetPlayerInformation, any, {}>>;
1774
+ /**
1775
+ * Accepts a list of player UUIDs and returns a map of `uuid → username` for those that have a recorded username. UUIDs with no username record (e.g. players who have never joined) are omitted from the response. Used by the web UI to display player names in the chat log.
1776
+ * @summary Batch resolve UUIDs to usernames
1777
+ * @param {Array<string>} uuids List of player UUIDs to resolve (repeatable query param)
1778
+ * @param {*} [options] Override http request option.
1779
+ * @throws {RequiredError}
1780
+ */
1781
+ getUsernames(uuids: Array<string>, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
1362
1782
  }
1363
1783
  /**
1364
1784
  * PunishmentApi - axios parameter creator
1365
1785
  */
1366
1786
  export declare const PunishmentApiAxiosParamCreator: (configuration?: Configuration) => {
1367
- /**
1368
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1369
- * @summary Apply a punishment
1370
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1371
- * @param {*} [options] Override http request option.
1372
- * @throws {RequiredError}
1373
- */
1374
- applyPunishment: (applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1375
- /**
1376
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1377
- * @summary Create a punishment draft
1378
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1379
- * @param {*} [options] Override http request option.
1380
- * @throws {RequiredError}
1381
- */
1382
- createPunishmentDraft: (createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1383
1787
  /**
1384
1788
  * Retrieve duration information for each punishment type and severity level (1-10)
1385
1789
  * @summary Get punishment severities
@@ -1427,22 +1831,6 @@ export declare const PunishmentApiAxiosParamCreator: (configuration?: Configurat
1427
1831
  * PunishmentApi - functional programming interface
1428
1832
  */
1429
1833
  export declare const PunishmentApiFp: (configuration?: Configuration) => {
1430
- /**
1431
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1432
- * @summary Apply a punishment
1433
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1434
- * @param {*} [options] Override http request option.
1435
- * @throws {RequiredError}
1436
- */
1437
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplyPunishmentResponse>>;
1438
- /**
1439
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1440
- * @summary Create a punishment draft
1441
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1442
- * @param {*} [options] Override http request option.
1443
- * @throws {RequiredError}
1444
- */
1445
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PunishmentDraftResponse>>;
1446
1834
  /**
1447
1835
  * Retrieve duration information for each punishment type and severity level (1-10)
1448
1836
  * @summary Get punishment severities
@@ -1490,22 +1878,6 @@ export declare const PunishmentApiFp: (configuration?: Configuration) => {
1490
1878
  * PunishmentApi - factory interface
1491
1879
  */
1492
1880
  export declare const PunishmentApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
1493
- /**
1494
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1495
- * @summary Apply a punishment
1496
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1497
- * @param {*} [options] Override http request option.
1498
- * @throws {RequiredError}
1499
- */
1500
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): AxiosPromise<ApplyPunishmentResponse>;
1501
- /**
1502
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1503
- * @summary Create a punishment draft
1504
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1505
- * @param {*} [options] Override http request option.
1506
- * @throws {RequiredError}
1507
- */
1508
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): AxiosPromise<PunishmentDraftResponse>;
1509
1881
  /**
1510
1882
  * Retrieve duration information for each punishment type and severity level (1-10)
1511
1883
  * @summary Get punishment severities
@@ -1553,22 +1925,6 @@ export declare const PunishmentApiFactory: (configuration?: Configuration, baseP
1553
1925
  * PunishmentApi - object-oriented interface
1554
1926
  */
1555
1927
  export declare class PunishmentApi extends BaseAPI {
1556
- /**
1557
- * Create and apply a punishment to a player. Automatically determines if permanent based on current score threshold (≥100%).
1558
- * @summary Apply a punishment
1559
- * @param {ApplyPunishmentRequest} applyPunishmentRequest
1560
- * @param {*} [options] Override http request option.
1561
- * @throws {RequiredError}
1562
- */
1563
- applyPunishment(applyPunishmentRequest: ApplyPunishmentRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ApplyPunishmentResponse, any, {}>>;
1564
- /**
1565
- * Preview punishment impact before applying. Returns calculated points, current/new thresholds, and whether it will be permanent.
1566
- * @summary Create a punishment draft
1567
- * @param {CreatePunishmentDraftRequest} createPunishmentDraftRequest
1568
- * @param {*} [options] Override http request option.
1569
- * @throws {RequiredError}
1570
- */
1571
- createPunishmentDraft(createPunishmentDraftRequest: CreatePunishmentDraftRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PunishmentDraftResponse, any, {}>>;
1572
1928
  /**
1573
1929
  * Retrieve duration information for each punishment type and severity level (1-10)
1574
1930
  * @summary Get punishment severities
@@ -1612,3 +1968,175 @@ export declare class PunishmentApi extends BaseAPI {
1612
1968
  */
1613
1969
  getRecentPunishments(limit: number, page: number, issuedAfter?: number | null, issuedBefore?: number | null, expiresAfter?: number | null, expiresBefore?: number | null, type?: Array<string> | null, uuid?: string | null, ipAddress?: string | null, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<PunishmentGetPunishmentResponse[], any, {}>>;
1614
1970
  }
1971
+ /**
1972
+ * ServerSessionsApi - axios parameter creator
1973
+ */
1974
+ export declare const ServerSessionsApiAxiosParamCreator: (configuration?: Configuration) => {
1975
+ /**
1976
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
1977
+ * @summary Send a heartbeat
1978
+ * @param {string} id Session UUID returned from the registration call
1979
+ * @param {*} [options] Override http request option.
1980
+ * @throws {RequiredError}
1981
+ */
1982
+ heartbeat: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1983
+ /**
1984
+ * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
1985
+ * @summary List all server sessions
1986
+ * @param {*} [options] Override http request option.
1987
+ * @throws {RequiredError}
1988
+ */
1989
+ listAll: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1990
+ /**
1991
+ * Returns all currently online server sessions, ordered by start time descending.
1992
+ * @summary List online server sessions
1993
+ * @param {*} [options] Override http request option.
1994
+ * @throws {RequiredError}
1995
+ */
1996
+ listOnline: (options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
1997
+ /**
1998
+ * Marks the session as offline with the current timestamp as `endedAt`. Call this from the game server\'s shutdown hook for a clean shutdown signal. Sessions that crash without calling this endpoint will be tombstoned automatically by the 2-minute heartbeat scheduler.
1999
+ * @summary Mark a session offline
2000
+ * @param {string} id Session UUID returned from the registration call
2001
+ * @param {*} [options] Override http request option.
2002
+ * @throws {RequiredError}
2003
+ */
2004
+ markOffline: (id: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
2005
+ /**
2006
+ * Registers a game server instance and returns a session ID used for subsequent heartbeats and chat ingestion. If a `containerId` is provided and an online session already exists for that container (e.g. after a Velocity restart), the existing session is returned unchanged. Otherwise a fresh session is created with an auto-generated instance name.
2007
+ * @summary Register a server session
2008
+ * @param {ServerRegisterRequest} serverRegisterRequest
2009
+ * @param {*} [options] Override http request option.
2010
+ * @throws {RequiredError}
2011
+ */
2012
+ register: (serverRegisterRequest: ServerRegisterRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
2013
+ };
2014
+ /**
2015
+ * ServerSessionsApi - functional programming interface
2016
+ */
2017
+ export declare const ServerSessionsApiFp: (configuration?: Configuration) => {
2018
+ /**
2019
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
2020
+ * @summary Send a heartbeat
2021
+ * @param {string} id Session UUID returned from the registration call
2022
+ * @param {*} [options] Override http request option.
2023
+ * @throws {RequiredError}
2024
+ */
2025
+ heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
2026
+ /**
2027
+ * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
2028
+ * @summary List all server sessions
2029
+ * @param {*} [options] Override http request option.
2030
+ * @throws {RequiredError}
2031
+ */
2032
+ listAll(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServerSessionDTO>>>;
2033
+ /**
2034
+ * Returns all currently online server sessions, ordered by start time descending.
2035
+ * @summary List online server sessions
2036
+ * @param {*} [options] Override http request option.
2037
+ * @throws {RequiredError}
2038
+ */
2039
+ listOnline(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ServerSessionDTO>>>;
2040
+ /**
2041
+ * Marks the session as offline with the current timestamp as `endedAt`. Call this from the game server\'s shutdown hook for a clean shutdown signal. Sessions that crash without calling this endpoint will be tombstoned automatically by the 2-minute heartbeat scheduler.
2042
+ * @summary Mark a session offline
2043
+ * @param {string} id Session UUID returned from the registration call
2044
+ * @param {*} [options] Override http request option.
2045
+ * @throws {RequiredError}
2046
+ */
2047
+ markOffline(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
2048
+ /**
2049
+ * Registers a game server instance and returns a session ID used for subsequent heartbeats and chat ingestion. If a `containerId` is provided and an online session already exists for that container (e.g. after a Velocity restart), the existing session is returned unchanged. Otherwise a fresh session is created with an auto-generated instance name.
2050
+ * @summary Register a server session
2051
+ * @param {ServerRegisterRequest} serverRegisterRequest
2052
+ * @param {*} [options] Override http request option.
2053
+ * @throws {RequiredError}
2054
+ */
2055
+ register(serverRegisterRequest: ServerRegisterRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ServerSessionDTO>>;
2056
+ };
2057
+ /**
2058
+ * ServerSessionsApi - factory interface
2059
+ */
2060
+ export declare const ServerSessionsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
2061
+ /**
2062
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
2063
+ * @summary Send a heartbeat
2064
+ * @param {string} id Session UUID returned from the registration call
2065
+ * @param {*} [options] Override http request option.
2066
+ * @throws {RequiredError}
2067
+ */
2068
+ heartbeat(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
2069
+ /**
2070
+ * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
2071
+ * @summary List all server sessions
2072
+ * @param {*} [options] Override http request option.
2073
+ * @throws {RequiredError}
2074
+ */
2075
+ listAll(options?: RawAxiosRequestConfig): AxiosPromise<Array<ServerSessionDTO>>;
2076
+ /**
2077
+ * Returns all currently online server sessions, ordered by start time descending.
2078
+ * @summary List online server sessions
2079
+ * @param {*} [options] Override http request option.
2080
+ * @throws {RequiredError}
2081
+ */
2082
+ listOnline(options?: RawAxiosRequestConfig): AxiosPromise<Array<ServerSessionDTO>>;
2083
+ /**
2084
+ * Marks the session as offline with the current timestamp as `endedAt`. Call this from the game server\'s shutdown hook for a clean shutdown signal. Sessions that crash without calling this endpoint will be tombstoned automatically by the 2-minute heartbeat scheduler.
2085
+ * @summary Mark a session offline
2086
+ * @param {string} id Session UUID returned from the registration call
2087
+ * @param {*} [options] Override http request option.
2088
+ * @throws {RequiredError}
2089
+ */
2090
+ markOffline(id: string, options?: RawAxiosRequestConfig): AxiosPromise<void>;
2091
+ /**
2092
+ * Registers a game server instance and returns a session ID used for subsequent heartbeats and chat ingestion. If a `containerId` is provided and an online session already exists for that container (e.g. after a Velocity restart), the existing session is returned unchanged. Otherwise a fresh session is created with an auto-generated instance name.
2093
+ * @summary Register a server session
2094
+ * @param {ServerRegisterRequest} serverRegisterRequest
2095
+ * @param {*} [options] Override http request option.
2096
+ * @throws {RequiredError}
2097
+ */
2098
+ register(serverRegisterRequest: ServerRegisterRequest, options?: RawAxiosRequestConfig): AxiosPromise<ServerSessionDTO>;
2099
+ };
2100
+ /**
2101
+ * ServerSessionsApi - object-oriented interface
2102
+ */
2103
+ export declare class ServerSessionsApi extends BaseAPI {
2104
+ /**
2105
+ * Updates the `last_heartbeat` timestamp for the given session, keeping it marked as online. Sessions that miss heartbeats for more than 2 minutes are automatically tombstoned by the scheduler. Call this every 30 seconds from the game server.
2106
+ * @summary Send a heartbeat
2107
+ * @param {string} id Session UUID returned from the registration call
2108
+ * @param {*} [options] Override http request option.
2109
+ * @throws {RequiredError}
2110
+ */
2111
+ heartbeat(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
2112
+ /**
2113
+ * Returns all server sessions — both online and historical — ordered by start time descending. Used by the web UI to populate the session filter dropdown.
2114
+ * @summary List all server sessions
2115
+ * @param {*} [options] Override http request option.
2116
+ * @throws {RequiredError}
2117
+ */
2118
+ listAll(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ServerSessionDTO[], any, {}>>;
2119
+ /**
2120
+ * Returns all currently online server sessions, ordered by start time descending.
2121
+ * @summary List online server sessions
2122
+ * @param {*} [options] Override http request option.
2123
+ * @throws {RequiredError}
2124
+ */
2125
+ listOnline(options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ServerSessionDTO[], any, {}>>;
2126
+ /**
2127
+ * Marks the session as offline with the current timestamp as `endedAt`. Call this from the game server\'s shutdown hook for a clean shutdown signal. Sessions that crash without calling this endpoint will be tombstoned automatically by the 2-minute heartbeat scheduler.
2128
+ * @summary Mark a session offline
2129
+ * @param {string} id Session UUID returned from the registration call
2130
+ * @param {*} [options] Override http request option.
2131
+ * @throws {RequiredError}
2132
+ */
2133
+ markOffline(id: string, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
2134
+ /**
2135
+ * Registers a game server instance and returns a session ID used for subsequent heartbeats and chat ingestion. If a `containerId` is provided and an online session already exists for that container (e.g. after a Velocity restart), the existing session is returned unchanged. Otherwise a fresh session is created with an auto-generated instance name.
2136
+ * @summary Register a server session
2137
+ * @param {ServerRegisterRequest} serverRegisterRequest
2138
+ * @param {*} [options] Override http request option.
2139
+ * @throws {RequiredError}
2140
+ */
2141
+ register(serverRegisterRequest: ServerRegisterRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<ServerSessionDTO, any, {}>>;
2142
+ }