@rebornteam/reborn-api 3.2.0 → 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.
- package/.openapi-generator/FILES +65 -3
- package/README.md +93 -6
- package/api.ts +3991 -467
- package/base.ts +1 -1
- package/common.ts +1 -1
- package/configuration.ts +1 -1
- package/dist/api.d.ts +2485 -364
- package/dist/api.js +2876 -425
- package/dist/base.d.ts +1 -1
- package/dist/base.js +1 -1
- package/dist/common.d.ts +1 -1
- package/dist/common.js +1 -1
- package/dist/configuration.d.ts +1 -1
- package/dist/configuration.js +1 -1
- package/dist/esm/api.d.ts +2485 -364
- package/dist/esm/api.js +2851 -420
- package/dist/esm/base.d.ts +1 -1
- package/dist/esm/base.js +1 -1
- package/dist/esm/common.d.ts +1 -1
- package/dist/esm/common.js +1 -1
- package/dist/esm/configuration.d.ts +1 -1
- package/dist/esm/configuration.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/docs/AdminAltAccount.md +27 -0
- package/docs/AdminAltExemption.md +31 -0
- package/docs/AdminApplyPunishmentResult.md +4 -4
- package/docs/AdminAsyncJob.md +47 -0
- package/docs/AdminAsyncJobStartResponse.md +21 -0
- package/docs/AdminAuditLogApi.md +141 -0
- package/docs/AdminAuditLogEntry.md +33 -0
- package/docs/AdminBulkRevokeRequest.md +25 -0
- package/docs/AdminBulkRevokeResponse.md +21 -0
- package/docs/AdminConnectionCheckResult.md +4 -0
- package/docs/AdminConnectionsApi.md +196 -34
- package/docs/AdminCreateAltExemptionRequest.md +23 -0
- package/docs/AdminCreatePlayerNoteRequest.md +21 -0
- package/docs/AdminDashboardConnectionResponse.md +4 -2
- package/docs/AdminJobsApi.md +175 -0
- package/docs/AdminPlayerDetailResponse.md +4 -4
- package/docs/AdminPlayerNote.md +31 -0
- package/docs/AdminPlayerPunishmentResponse.md +51 -0
- package/docs/AdminPlayerReport.md +39 -0
- package/docs/AdminPlayerSession.md +31 -0
- package/docs/AdminPlayerSessionStats.md +29 -0
- package/docs/AdminPlayerSummary.md +2 -4
- package/docs/AdminPlayersApi.md +936 -16
- package/docs/AdminPunishmentEvaluation.md +4 -8
- package/docs/AdminPunishmentsApi.md +78 -21
- package/docs/AdminReportTarget.md +23 -0
- package/docs/AdminReportsApi.md +123 -0
- package/docs/AdminResolveReportRequest.md +21 -0
- package/docs/AdminSetAggressiveModeImmunityRequest.md +21 -0
- package/docs/AdminTrustFactorBreakdown.md +61 -0
- package/docs/AdminTrustFactorHistoryEntry.md +23 -0
- package/docs/AdminTrustFactorImpact.md +23 -0
- package/docs/AdminUpdatePunishmentRequest.md +27 -0
- package/docs/ChatApi.md +4 -4
- package/docs/ConnectionApi.md +4 -4
- package/docs/ConnectionGetConnectionDetailsResponse.md +5 -1
- package/docs/ConnectionResult.md +1 -1
- package/docs/CreateReportRequest.md +27 -0
- package/docs/CreateReportResponse.md +23 -0
- package/docs/CursoredPageAdminAuditLogEntry.md +38 -0
- package/docs/CursoredPageable.md +30 -0
- package/docs/JobStatus.md +17 -0
- package/docs/PageAdminAltAccount.md +36 -0
- package/docs/PageAdminAltExemption.md +36 -0
- package/docs/PageAdminAsyncJob.md +36 -0
- package/docs/PageAdminAuditLogEntry.md +36 -0
- package/docs/PageAdminDashboardConnectionResponse.md +36 -0
- package/docs/PageAdminPlayerNote.md +36 -0
- package/docs/PageAdminPlayerPunishmentResponse.md +36 -0
- package/docs/PageAdminPlayerReport.md +36 -0
- package/docs/PageAdminPlayerSession.md +36 -0
- package/docs/PageAdminPlayerSummary.md +36 -0
- package/docs/PageAdminPunishmentListItem.md +36 -0
- package/docs/PagePunishmentGetPunishmentResponse.md +36 -0
- package/docs/Pageable.md +28 -0
- package/docs/PageableMode.md +12 -0
- package/docs/PlayerGetPlayerInformation.md +5 -3
- package/docs/PlayerSessionEndRequest.md +23 -0
- package/docs/PlayerSessionStartRequest.md +27 -0
- package/docs/PlayerSessionStartResponse.md +51 -0
- package/docs/PlayerSessionsApi.md +116 -0
- package/docs/PunishmentApi.md +22 -24
- package/docs/PunishmentSource.md +11 -0
- package/docs/PunishmentType.md +1 -0
- package/docs/ReportApi.md +64 -0
- package/docs/ReportCategory.md +17 -0
- package/docs/SliceAdminAltAccount.md +32 -0
- package/docs/SliceAdminAltExemption.md +32 -0
- package/docs/SliceAdminAsyncJob.md +32 -0
- package/docs/SliceAdminAuditLogEntry.md +32 -0
- package/docs/SliceAdminDashboardConnectionResponse.md +32 -0
- package/docs/SliceAdminPlayerNote.md +32 -0
- package/docs/SliceAdminPlayerPunishmentResponse.md +32 -0
- package/docs/SliceAdminPlayerReport.md +32 -0
- package/docs/SliceAdminPlayerSession.md +32 -0
- package/docs/SliceAdminPlayerSummary.md +32 -0
- package/docs/SliceAdminPunishmentListItem.md +32 -0
- package/docs/SlicePunishmentGetPunishmentResponse.md +32 -0
- package/docs/Sort.md +20 -0
- package/docs/SortOrder.md +26 -0
- package/docs/SortOrderDirection.md +10 -0
- package/index.ts +1 -1
- package/package.json +1 -1
- package/docs/AdminPagedConnectionResponse.md +0 -29
- package/docs/AdminPagedPlayerResponse.md +0 -29
- package/docs/AdminPagedPunishmentResponse.md +0 -29
|
@@ -8,14 +8,12 @@ Name | Type | Description | Notes
|
|
|
8
8
|
------------ | ------------- | ------------- | -------------
|
|
9
9
|
**target** | [**AdminPunishmentTarget**](AdminPunishmentTarget.md) | The target this evaluation applies to | [default to undefined]
|
|
10
10
|
**affectedPlayers** | [**Array<AdminPlayerSearchResult>**](AdminPlayerSearchResult.md) | Players affected — one player for UUID targets, all players on the IP for connection targets | [default to undefined]
|
|
11
|
-
**
|
|
12
|
-
**
|
|
13
|
-
**newScore** | **number** | Projected score after applying this punishment | [default to undefined]
|
|
14
|
-
**willBePermanent** | **boolean** | Whether this punishment would be permanent based on the current score threshold | [default to undefined]
|
|
11
|
+
**trustFactorImpact** | [**AdminTrustFactorImpact**](AdminTrustFactorImpact.md) | Trust factor preview for the targeted player. Present only when the target is a player; absent for any other target shape. | [optional] [default to undefined]
|
|
12
|
+
**willBePermanent** | **boolean** | Whether this punishment will be permanent. Mirrors the request\'s forcePermanent flag — auto-escalation has been removed. | [default to undefined]
|
|
15
13
|
**durationSeconds** | **number** | Resolved duration in seconds — null if permanent or a WARNING | [optional] [default to undefined]
|
|
16
14
|
**previousPunishmentCount** | **number** | Number of existing punishments on this target | [default to undefined]
|
|
17
15
|
**isConnectionTarget** | **boolean** | True when the target is an IP address (connection punishment) rather than a player UUID | [default to undefined]
|
|
18
|
-
**effectiveType** | [**PunishmentType**](PunishmentType.md) | The
|
|
16
|
+
**effectiveType** | [**PunishmentType**](PunishmentType.md) | The punishment type that will be applied. Equal to the requested type — auto-escalation has been removed. | [default to undefined]
|
|
19
17
|
|
|
20
18
|
## Example
|
|
21
19
|
|
|
@@ -25,9 +23,7 @@ import { AdminPunishmentEvaluation } from '@rebornteam/reborn-api';
|
|
|
25
23
|
const instance: AdminPunishmentEvaluation = {
|
|
26
24
|
target,
|
|
27
25
|
affectedPlayers,
|
|
28
|
-
|
|
29
|
-
pointsToAdd,
|
|
30
|
-
newScore,
|
|
26
|
+
trustFactorImpact,
|
|
31
27
|
willBePermanent,
|
|
32
28
|
durationSeconds,
|
|
33
29
|
previousPunishmentCount,
|
|
@@ -6,6 +6,7 @@ All URIs are relative to *https://api.smsh.sh*
|
|
|
6
6
|
|------------- | ------------- | -------------|
|
|
7
7
|
|[**applyPunishment**](#applypunishment) | **POST** /admin/punishment/apply | Apply punishment|
|
|
8
8
|
|[**createDraft**](#createdraft) | **POST** /admin/punishment/draft | Evaluate punishment impact|
|
|
9
|
+
|[**editPunishment**](#editpunishment) | **PATCH** /admin/punishment/{id} | Edit a punishment|
|
|
9
10
|
|[**getPunishments**](#getpunishments) | **GET** /admin/punishment | List punishments|
|
|
10
11
|
|[**searchTargets**](#searchtargets) | **GET** /admin/punishment/search | Search punishment targets|
|
|
11
12
|
|
|
@@ -119,8 +120,66 @@ const { status, data } = await apiInstance.createDraft(
|
|
|
119
120
|
|
|
120
121
|
[[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)
|
|
121
122
|
|
|
123
|
+
# **editPunishment**
|
|
124
|
+
> editPunishment(adminUpdatePunishmentRequest)
|
|
125
|
+
|
|
126
|
+
Partial update of a punishment record. Reason / notes / expiresAt are mutable; severity is intentionally immutable to keep the punishment score deterministic. To make a punishment permanent, set forcePermanent=true. The endpoint returns 404 if the id doesn\'t exist, 200 with the updated entity otherwise. Every edit is recorded in admin_audit_log with the before/after payload.
|
|
127
|
+
|
|
128
|
+
### Example
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
import {
|
|
132
|
+
AdminPunishmentsApi,
|
|
133
|
+
Configuration,
|
|
134
|
+
AdminUpdatePunishmentRequest
|
|
135
|
+
} from '@rebornteam/reborn-api';
|
|
136
|
+
|
|
137
|
+
const configuration = new Configuration();
|
|
138
|
+
const apiInstance = new AdminPunishmentsApi(configuration);
|
|
139
|
+
|
|
140
|
+
let id: number; //Punishment id (default to undefined)
|
|
141
|
+
let adminUpdatePunishmentRequest: AdminUpdatePunishmentRequest; //
|
|
142
|
+
|
|
143
|
+
const { status, data } = await apiInstance.editPunishment(
|
|
144
|
+
id,
|
|
145
|
+
adminUpdatePunishmentRequest
|
|
146
|
+
);
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Parameters
|
|
150
|
+
|
|
151
|
+
|Name | Type | Description | Notes|
|
|
152
|
+
|------------- | ------------- | ------------- | -------------|
|
|
153
|
+
| **adminUpdatePunishmentRequest** | **AdminUpdatePunishmentRequest**| | |
|
|
154
|
+
| **id** | [**number**] | Punishment id | defaults to undefined|
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Return type
|
|
158
|
+
|
|
159
|
+
void (empty response body)
|
|
160
|
+
|
|
161
|
+
### Authorization
|
|
162
|
+
|
|
163
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
164
|
+
|
|
165
|
+
### HTTP request headers
|
|
166
|
+
|
|
167
|
+
- **Content-Type**: application/json
|
|
168
|
+
- **Accept**: Not defined
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
### HTTP response details
|
|
172
|
+
| Status code | Description | Response headers |
|
|
173
|
+
|-------------|-------------|------------------|
|
|
174
|
+
|**204** | Punishment updated | - |
|
|
175
|
+
|**404** | Punishment not found | - |
|
|
176
|
+
|**401** | Unauthorized | - |
|
|
177
|
+
|**403** | Forbidden - Moderator role required | - |
|
|
178
|
+
|
|
179
|
+
[[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)
|
|
180
|
+
|
|
122
181
|
# **getPunishments**
|
|
123
|
-
>
|
|
182
|
+
> PageAdminPunishmentListItem getPunishments()
|
|
124
183
|
|
|
125
184
|
Returns a paginated list of punishments with optional filtering by player UUID, username, IP address, type, and date range.
|
|
126
185
|
|
|
@@ -129,24 +188,23 @@ Returns a paginated list of punishments with optional filtering by player UUID,
|
|
|
129
188
|
```typescript
|
|
130
189
|
import {
|
|
131
190
|
AdminPunishmentsApi,
|
|
132
|
-
Configuration
|
|
191
|
+
Configuration,
|
|
192
|
+
Pageable
|
|
133
193
|
} from '@rebornteam/reborn-api';
|
|
134
194
|
|
|
135
195
|
const configuration = new Configuration();
|
|
136
196
|
const apiInstance = new AdminPunishmentsApi(configuration);
|
|
137
197
|
|
|
138
|
-
let
|
|
139
|
-
let
|
|
140
|
-
let
|
|
141
|
-
let
|
|
142
|
-
let
|
|
143
|
-
let
|
|
144
|
-
let
|
|
145
|
-
let issuedBefore: number; //Filter punishments issued before this epoch timestamp (ms) (optional) (default to undefined)
|
|
198
|
+
let pageable: Pageable; // (default to undefined)
|
|
199
|
+
let uuid: string; // (optional) (default to undefined)
|
|
200
|
+
let username: string; // (optional) (default to undefined)
|
|
201
|
+
let ipAddress: string; // (optional) (default to undefined)
|
|
202
|
+
let type: Array<PunishmentType>; // (optional) (default to undefined)
|
|
203
|
+
let issuedAfter: number; // (optional) (default to undefined)
|
|
204
|
+
let issuedBefore: number; // (optional) (default to undefined)
|
|
146
205
|
|
|
147
206
|
const { status, data } = await apiInstance.getPunishments(
|
|
148
|
-
|
|
149
|
-
limit,
|
|
207
|
+
pageable,
|
|
150
208
|
uuid,
|
|
151
209
|
username,
|
|
152
210
|
ipAddress,
|
|
@@ -160,19 +218,18 @@ const { status, data } = await apiInstance.getPunishments(
|
|
|
160
218
|
|
|
161
219
|
|Name | Type | Description | Notes|
|
|
162
220
|
|------------- | ------------- | ------------- | -------------|
|
|
163
|
-
| **
|
|
164
|
-
| **
|
|
165
|
-
| **
|
|
166
|
-
| **
|
|
167
|
-
| **
|
|
168
|
-
| **
|
|
169
|
-
| **
|
|
170
|
-
| **issuedBefore** | [**number**] | Filter punishments issued before this epoch timestamp (ms) | (optional) defaults to undefined|
|
|
221
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
222
|
+
| **uuid** | [**string**] | | (optional) defaults to undefined|
|
|
223
|
+
| **username** | [**string**] | | (optional) defaults to undefined|
|
|
224
|
+
| **ipAddress** | [**string**] | | (optional) defaults to undefined|
|
|
225
|
+
| **type** | **Array<PunishmentType>** | | (optional) defaults to undefined|
|
|
226
|
+
| **issuedAfter** | [**number**] | | (optional) defaults to undefined|
|
|
227
|
+
| **issuedBefore** | [**number**] | | (optional) defaults to undefined|
|
|
171
228
|
|
|
172
229
|
|
|
173
230
|
### Return type
|
|
174
231
|
|
|
175
|
-
**
|
|
232
|
+
**PageAdminPunishmentListItem**
|
|
176
233
|
|
|
177
234
|
### Authorization
|
|
178
235
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# AdminReportTarget
|
|
2
|
+
|
|
3
|
+
One reported player attached to a report.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**uuid** | **string** | Target player\'s UUID | [default to undefined]
|
|
10
|
+
**username** | **string** | Target player\'s last-known username | [optional] [default to undefined]
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { AdminReportTarget } from '@rebornteam/reborn-api';
|
|
16
|
+
|
|
17
|
+
const instance: AdminReportTarget = {
|
|
18
|
+
uuid,
|
|
19
|
+
username,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# AdminReportsApi
|
|
2
|
+
|
|
3
|
+
All URIs are relative to *https://api.smsh.sh*
|
|
4
|
+
|
|
5
|
+
|Method | HTTP request | Description|
|
|
6
|
+
|------------- | ------------- | -------------|
|
|
7
|
+
|[**list1**](#list1) | **GET** /admin/report | List reports|
|
|
8
|
+
|[**resolve**](#resolve) | **POST** /admin/report/{id}/resolve | Resolve a report|
|
|
9
|
+
|
|
10
|
+
# **list1**
|
|
11
|
+
> PageAdminPlayerReport list1()
|
|
12
|
+
|
|
13
|
+
Paginated, newest first. Use openOnly=true to see the triage queue; reportedUuid filters to one player.
|
|
14
|
+
|
|
15
|
+
### Example
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import {
|
|
19
|
+
AdminReportsApi,
|
|
20
|
+
Configuration,
|
|
21
|
+
Pageable
|
|
22
|
+
} from '@rebornteam/reborn-api';
|
|
23
|
+
|
|
24
|
+
const configuration = new Configuration();
|
|
25
|
+
const apiInstance = new AdminReportsApi(configuration);
|
|
26
|
+
|
|
27
|
+
let pageable: Pageable; // (default to undefined)
|
|
28
|
+
let reportedUuid: string; //Filter to reports targeting this player UUID (optional) (default to undefined)
|
|
29
|
+
let openOnly: boolean; // (optional) (default to true)
|
|
30
|
+
|
|
31
|
+
const { status, data } = await apiInstance.list1(
|
|
32
|
+
pageable,
|
|
33
|
+
reportedUuid,
|
|
34
|
+
openOnly
|
|
35
|
+
);
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Parameters
|
|
39
|
+
|
|
40
|
+
|Name | Type | Description | Notes|
|
|
41
|
+
|------------- | ------------- | ------------- | -------------|
|
|
42
|
+
| **pageable** | **Pageable** | | defaults to undefined|
|
|
43
|
+
| **reportedUuid** | [**string**] | Filter to reports targeting this player UUID | (optional) defaults to undefined|
|
|
44
|
+
| **openOnly** | [**boolean**] | | (optional) defaults to true|
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Return type
|
|
48
|
+
|
|
49
|
+
**PageAdminPlayerReport**
|
|
50
|
+
|
|
51
|
+
### Authorization
|
|
52
|
+
|
|
53
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
54
|
+
|
|
55
|
+
### HTTP request headers
|
|
56
|
+
|
|
57
|
+
- **Content-Type**: Not defined
|
|
58
|
+
- **Accept**: application/json
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### HTTP response details
|
|
62
|
+
| Status code | Description | Response headers |
|
|
63
|
+
|-------------|-------------|------------------|
|
|
64
|
+
|**200** | Reports retrieved | - |
|
|
65
|
+
|
|
66
|
+
[[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)
|
|
67
|
+
|
|
68
|
+
# **resolve**
|
|
69
|
+
> resolve(adminResolveReportRequest)
|
|
70
|
+
|
|
71
|
+
Marks the report resolved with the staff member\'s note. 404 if already resolved or unknown id.
|
|
72
|
+
|
|
73
|
+
### Example
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
import {
|
|
77
|
+
AdminReportsApi,
|
|
78
|
+
Configuration,
|
|
79
|
+
AdminResolveReportRequest
|
|
80
|
+
} from '@rebornteam/reborn-api';
|
|
81
|
+
|
|
82
|
+
const configuration = new Configuration();
|
|
83
|
+
const apiInstance = new AdminReportsApi(configuration);
|
|
84
|
+
|
|
85
|
+
let id: number; //Report id (default to undefined)
|
|
86
|
+
let adminResolveReportRequest: AdminResolveReportRequest; //
|
|
87
|
+
|
|
88
|
+
const { status, data } = await apiInstance.resolve(
|
|
89
|
+
id,
|
|
90
|
+
adminResolveReportRequest
|
|
91
|
+
);
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Parameters
|
|
95
|
+
|
|
96
|
+
|Name | Type | Description | Notes|
|
|
97
|
+
|------------- | ------------- | ------------- | -------------|
|
|
98
|
+
| **adminResolveReportRequest** | **AdminResolveReportRequest**| | |
|
|
99
|
+
| **id** | [**number**] | Report id | defaults to undefined|
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### Return type
|
|
103
|
+
|
|
104
|
+
void (empty response body)
|
|
105
|
+
|
|
106
|
+
### Authorization
|
|
107
|
+
|
|
108
|
+
[DiscordAuth](../README.md#DiscordAuth)
|
|
109
|
+
|
|
110
|
+
### HTTP request headers
|
|
111
|
+
|
|
112
|
+
- **Content-Type**: application/json
|
|
113
|
+
- **Accept**: Not defined
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
### HTTP response details
|
|
117
|
+
| Status code | Description | Response headers |
|
|
118
|
+
|-------------|-------------|------------------|
|
|
119
|
+
|**204** | Report resolved | - |
|
|
120
|
+
|**404** | Report not found or already resolved | - |
|
|
121
|
+
|
|
122
|
+
[[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)
|
|
123
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# AdminResolveReportRequest
|
|
2
|
+
|
|
3
|
+
Resolve a player report. Sets resolved_at = NOW() and stores the staff note.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**resolutionNote** | **string** | Free-form resolution note from staff (e.g. \"Watched 10 min footage, no cheating evident.\") | [optional] [default to undefined]
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { AdminResolveReportRequest } from '@rebornteam/reborn-api';
|
|
15
|
+
|
|
16
|
+
const instance: AdminResolveReportRequest = {
|
|
17
|
+
resolutionNote,
|
|
18
|
+
};
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# AdminSetAggressiveModeImmunityRequest
|
|
2
|
+
|
|
3
|
+
Set whether a player is exempt from aggressive-mode punishment propagation. Toggling on also revokes all currently-active propagated links for the player.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**immune** | **boolean** | True to mark the player immune (no future propagation; existing propagated links bulk-revoked). False to re-enable propagation. | [default to undefined]
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { AdminSetAggressiveModeImmunityRequest } from '@rebornteam/reborn-api';
|
|
15
|
+
|
|
16
|
+
const instance: AdminSetAggressiveModeImmunityRequest = {
|
|
17
|
+
immune,
|
|
18
|
+
};
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# AdminTrustFactorBreakdown
|
|
2
|
+
|
|
3
|
+
Detailed breakdown of how a player\'s trust factor was computed. The final score is the same value returned by compute_trust_factor — this DTO carries the subtotals (bonuses, penalties) and the underlying signal counts that drove each subtotal. Powers the \"why is this score 65?\" admin tooltip. Informational only; trust factor does not auto-escalate punishments.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**baseTrust** | **number** | Starting score before any signals applied. Constant 75. | [default to undefined]
|
|
10
|
+
**ageBonus** | **number** | Bonus from account age (+1 per 30 days, capped at +15) | [default to undefined]
|
|
11
|
+
**cleanHistoryBonus** | **number** | Bonus from clean history. +10 if no active punishments; otherwise +1 per 60 days since the most recent one. Capped at +10. | [default to undefined]
|
|
12
|
+
**stabilityBonus** | **number** | Bonus from connection stability. Stair-step on distinct-connection count: ≤1=+5, ≤3=+3, ≤8=+1, else 0. | [default to undefined]
|
|
13
|
+
**adminAffirmationBonus** | **number** | Bonus from admin affirmation. alt-exemptions × 2 + active player-bypass × 4, capped at +10. | [default to undefined]
|
|
14
|
+
**punishmentPenalty** | **number** | Penalty from active punishments. Type-weighted, severity-scaled, time-decayed (BAN half-life 730d, MUTE 180d, WARNING 60d). Capped at -40. | [default to undefined]
|
|
15
|
+
**altPenalty** | **number** | Penalty from alts. dirty-alts × 4 + clean-alts × 0.5, after promiscuity/alt caps, excluding alt-exempted players. Capped at -20. | [default to undefined]
|
|
16
|
+
**vpnPenalty** | **number** | Penalty from VPN exposure. Fraction of the player\'s connections flagged > 50% positive × 15. | [default to undefined]
|
|
17
|
+
**propagationPenalty** | **number** | Penalty from active PROPAGATED punishment links × 3. Capped at -15. | [default to undefined]
|
|
18
|
+
**rawSum** | **number** | Sum of base + bonuses - penalties BEFORE clamping to 0..100. Useful for debugging \"why is my -50 raw sum clamped to 0?\" cases. | [default to undefined]
|
|
19
|
+
**finalScore** | **number** | The clamped final trust factor (0–100). Identical to what compute_trust_factor() returns. | [default to undefined]
|
|
20
|
+
**accountAgeDays** | **number** | Days since the player\'s account was created. | [default to undefined]
|
|
21
|
+
**daysSinceLastPunishment** | **number** | Days since the most recent active punishment landed. Null when the player has none — the clean_history bonus is at its cap. | [optional] [default to undefined]
|
|
22
|
+
**numConnections** | **number** | Distinct connections this player has used. Drives the stability bonus. | [default to undefined]
|
|
23
|
+
**numAltExemptions** | **number** | Alt-exemption rows attributed to this player (admin-asserted legitimate associates). | [default to undefined]
|
|
24
|
+
**hasPlayerBypass** | **boolean** | Whether this player currently has an active player_bypass row. | [default to undefined]
|
|
25
|
+
**numActivePunishments** | **number** | Count of active (non-revoked, non-expired) player_punishment rows on this player. Includes both DIRECT and PROPAGATED. | [default to undefined]
|
|
26
|
+
**numDirtyAlts** | **number** | Alts with active punishments (drives the bigger per-alt penalty multiplier). | [default to undefined]
|
|
27
|
+
**numCleanAlts** | **number** | Alts WITHOUT active punishments (drives the smaller per-alt penalty multiplier). | [default to undefined]
|
|
28
|
+
**vpnConnectionRatio** | **number** | Fraction of this player\'s connections flagged > 50% VPN-positive. Range 0..1. | [default to undefined]
|
|
29
|
+
**numPropagatedLinks** | **number** | Active PROPAGATED player_punishment links on this player (i.e. aggressive-mode propagation). | [default to undefined]
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { AdminTrustFactorBreakdown } from '@rebornteam/reborn-api';
|
|
35
|
+
|
|
36
|
+
const instance: AdminTrustFactorBreakdown = {
|
|
37
|
+
baseTrust,
|
|
38
|
+
ageBonus,
|
|
39
|
+
cleanHistoryBonus,
|
|
40
|
+
stabilityBonus,
|
|
41
|
+
adminAffirmationBonus,
|
|
42
|
+
punishmentPenalty,
|
|
43
|
+
altPenalty,
|
|
44
|
+
vpnPenalty,
|
|
45
|
+
propagationPenalty,
|
|
46
|
+
rawSum,
|
|
47
|
+
finalScore,
|
|
48
|
+
accountAgeDays,
|
|
49
|
+
daysSinceLastPunishment,
|
|
50
|
+
numConnections,
|
|
51
|
+
numAltExemptions,
|
|
52
|
+
hasPlayerBypass,
|
|
53
|
+
numActivePunishments,
|
|
54
|
+
numDirtyAlts,
|
|
55
|
+
numCleanAlts,
|
|
56
|
+
vpnConnectionRatio,
|
|
57
|
+
numPropagatedLinks,
|
|
58
|
+
};
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# AdminTrustFactorHistoryEntry
|
|
2
|
+
|
|
3
|
+
One trust factor snapshot for a player on a given day.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**snapshotDate** | **string** | UTC date the snapshot was taken | [default to undefined]
|
|
10
|
+
**trustFactor** | **number** | Trust factor (0–100, higher = more trusted) on that day | [default to undefined]
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { AdminTrustFactorHistoryEntry } from '@rebornteam/reborn-api';
|
|
16
|
+
|
|
17
|
+
const instance: AdminTrustFactorHistoryEntry = {
|
|
18
|
+
snapshotDate,
|
|
19
|
+
trustFactor,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# AdminTrustFactorImpact
|
|
2
|
+
|
|
3
|
+
Trust factor impact preview for a player-targeted punishment.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**currentTrustFactor** | **number** | Trust factor right now (0-100, higher = more trusted). Computed by compute_trust_factor in the database. | [default to undefined]
|
|
10
|
+
**projectedTrustFactor** | **number** | Approximate trust factor AFTER this punishment would land. Approximate because caps in the underlying signals can absorb part of the impact, so the actual post-apply value may be higher than this preview. | [default to undefined]
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { AdminTrustFactorImpact } from '@rebornteam/reborn-api';
|
|
16
|
+
|
|
17
|
+
const instance: AdminTrustFactorImpact = {
|
|
18
|
+
currentTrustFactor,
|
|
19
|
+
projectedTrustFactor,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# AdminUpdatePunishmentRequest
|
|
2
|
+
|
|
3
|
+
Partial update for a punishment. Only reason / notes / expiresAt may be edited — severity is intentionally immutable to keep the punishment score deterministic.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**reason** | **string** | Replace the visible reason. Min 3, max 500 characters. | [optional] [default to undefined]
|
|
10
|
+
**notes** | **string** | Replace the internal admin notes. Null leaves them untouched; empty string clears them. | [optional] [default to undefined]
|
|
11
|
+
**expiresAt** | **string** | Replace the expiry timestamp (ISO-8601). Send an explicit null in JSON to make permanent — but note: omitting the field leaves expiry untouched. Use \'forcePermanent\' if you want to clear. | [optional] [default to undefined]
|
|
12
|
+
**forcePermanent** | **boolean** | When true, clears expiresAt (makes the punishment permanent). Takes precedence over expiresAt. | [optional] [default to undefined]
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { AdminUpdatePunishmentRequest } from '@rebornteam/reborn-api';
|
|
18
|
+
|
|
19
|
+
const instance: AdminUpdatePunishmentRequest = {
|
|
20
|
+
reason,
|
|
21
|
+
notes,
|
|
22
|
+
expiresAt,
|
|
23
|
+
forcePermanent,
|
|
24
|
+
};
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
package/docs/ChatApi.md
CHANGED
|
@@ -23,14 +23,14 @@ import {
|
|
|
23
23
|
const configuration = new Configuration();
|
|
24
24
|
const apiInstance = new ChatApi(configuration);
|
|
25
25
|
|
|
26
|
-
let limit: number; //Maximum number of messages to return (1–100) (default to 50)
|
|
27
26
|
let sessionId: string; //Filter to a specific server session. Omit for global history. (optional) (default to undefined)
|
|
28
27
|
let before: string; //ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now. (optional) (default to undefined)
|
|
28
|
+
let limit: number; //Maximum number of messages to return (1–100) (optional) (default to 50)
|
|
29
29
|
|
|
30
30
|
const { status, data } = await apiInstance.history(
|
|
31
|
-
limit,
|
|
32
31
|
sessionId,
|
|
33
|
-
before
|
|
32
|
+
before,
|
|
33
|
+
limit
|
|
34
34
|
);
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -38,9 +38,9 @@ const { status, data } = await apiInstance.history(
|
|
|
38
38
|
|
|
39
39
|
|Name | Type | Description | Notes|
|
|
40
40
|
|------------- | ------------- | ------------- | -------------|
|
|
41
|
-
| **limit** | [**number**] | Maximum number of messages to return (1–100) | defaults to 50|
|
|
42
41
|
| **sessionId** | [**string**] | Filter to a specific server session. Omit for global history. | (optional) defaults to undefined|
|
|
43
42
|
| **before** | [**string**] | ISO-8601 timestamp cursor — return messages sent before this time. Omit to start from now. | (optional) defaults to undefined|
|
|
43
|
+
| **limit** | [**number**] | Maximum number of messages to return (1–100) | (optional) defaults to 50|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
### Return type
|
package/docs/ConnectionApi.md
CHANGED
|
@@ -4,12 +4,12 @@ All URIs are relative to *https://api.smsh.sh*
|
|
|
4
4
|
|
|
5
5
|
|Method | HTTP request | Description|
|
|
6
6
|
|------------- | ------------- | -------------|
|
|
7
|
-
|[**getConnectionDetails**](#getconnectiondetails) | **GET** /v1/connection/get-connection-details/{ip} | Check Connection and Detect VPN/Proxy|
|
|
7
|
+
|[**getConnectionDetails**](#getconnectiondetails) | **GET** /v1/connection/get-connection-details/{ip} | Check Connection and Detect VPN/Proxy (DEPRECATED for player-join use)|
|
|
8
8
|
|
|
9
9
|
# **getConnectionDetails**
|
|
10
10
|
> ConnectionGetConnectionDetailsResponse getConnectionDetails()
|
|
11
11
|
|
|
12
|
-
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.
|
|
12
|
+
**DEPRECATED for game-server player-join flows.** Use `POST /v1/player-session/start` instead — it runs the same authorization check AND opens the player_session row in a single round-trip, returning the same connection / player / punishment context plus aggregate session stats. This endpoint remains available for admin and debugging scenarios where you want to inspect a connection\'s state without opening a session (e.g. one-off lookups, batch sweeps, support troubleshooting). 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.
|
|
13
13
|
|
|
14
14
|
### Example
|
|
15
15
|
|
|
@@ -23,7 +23,7 @@ const configuration = new Configuration();
|
|
|
23
23
|
const apiInstance = new ConnectionApi(configuration);
|
|
24
24
|
|
|
25
25
|
let ip: string; //IPv4 address to analyze for VPN/proxy detection and geolocation (default to undefined)
|
|
26
|
-
let forceRecheck: boolean; //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 (default to false)
|
|
26
|
+
let forceRecheck: boolean; //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 (optional) (default to false)
|
|
27
27
|
let associateUuid: string; //Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'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\'t block the response. (optional) (default to undefined)
|
|
28
28
|
|
|
29
29
|
const { status, data } = await apiInstance.getConnectionDetails(
|
|
@@ -38,7 +38,7 @@ const { status, data } = await apiInstance.getConnectionDetails(
|
|
|
38
38
|
|Name | Type | Description | Notes|
|
|
39
39
|
|------------- | ------------- | ------------- | -------------|
|
|
40
40
|
| **ip** | [**string**] | IPv4 address to analyze for VPN/proxy detection and geolocation | defaults to undefined|
|
|
41
|
-
| **forceRecheck** | [**boolean**] | 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 | defaults to false|
|
|
41
|
+
| **forceRecheck** | [**boolean**] | 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 | (optional) defaults to false|
|
|
42
42
|
| **associateUuid** | [**string**] | Minecraft player UUID to associate with this IP address. When provided, the API will: - Link this connection to the player\'s history - Update the player\'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\'t block the response. | (optional) defaults to undefined|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -7,7 +7,9 @@ Comprehensive connection analysis response including VPN detection, geolocation,
|
|
|
7
7
|
Name | Type | Description | Notes
|
|
8
8
|
------------ | ------------- | ------------- | -------------
|
|
9
9
|
**ipAddress** | **string** | The analyzed IPv4 address | [default to undefined]
|
|
10
|
-
**
|
|
10
|
+
**city** | **string** | City reported by the first VPN provider that returned one for this IP. Null for localhost / private IPs or when no provider returned a city. | [optional] [default to undefined]
|
|
11
|
+
**country** | **string** | Country code reported by the first VPN provider that returned one (ISO 3166-1 alpha-2 or alpha-3 depending on provider). | [optional] [default to undefined]
|
|
12
|
+
**approximateLocation** | **string** | **DEPRECATED.** Combined city + country string retained for clients pinned to ≤ 3.6.0. Reads as \"City, COUNTRY\" when both are present, the available one when only one is, null when neither is. Use {@link #city} and {@link #country} directly. | [optional] [default to undefined]
|
|
11
13
|
**percentPositive** | **number** | Confidence score representing the percentage of VPN detection services that flagged this IP as suspicious. Range: 0.0 (clean) to 100.0 (definitely VPN/proxy). | [default to undefined]
|
|
12
14
|
**numberOfChecks** | **number** | Total number of VPN detection services successfully queried during the last check. | [default to undefined]
|
|
13
15
|
**isBypassed** | **boolean** | Indicates if this IP address has been administratively bypassed. | [default to undefined]
|
|
@@ -24,6 +26,8 @@ import { ConnectionGetConnectionDetailsResponse } from '@rebornteam/reborn-api';
|
|
|
24
26
|
|
|
25
27
|
const instance: ConnectionGetConnectionDetailsResponse = {
|
|
26
28
|
ipAddress,
|
|
29
|
+
city,
|
|
30
|
+
country,
|
|
27
31
|
approximateLocation,
|
|
28
32
|
percentPositive,
|
|
29
33
|
numberOfChecks,
|
package/docs/ConnectionResult.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ConnectionResult
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Final allow/deny verdict plus formatted kick message if denied.
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# CreateReportRequest
|
|
2
|
+
|
|
3
|
+
Game-server-issued peer report. Sent when a player runs /report in-game. A single report can target multiple players (\"these 3 were griefing together\"); the same reporter resubmitting the EXACT same target set while the prior report is unresolved updates it in place (response\'s deduplicated = true). Any different target set, even an overlapping one, creates a new report.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**reporterUuid** | **string** | Reporter\'s UUID (the player who ran /report) | [default to undefined]
|
|
10
|
+
**reportedUuids** | **Array<string>** | One or more reported player UUIDs. Duplicates within the list are de-duped server-side. The reporter MUST NOT appear in this list. | [default to undefined]
|
|
11
|
+
**category** | [**ReportCategory**](ReportCategory.md) | Category of misconduct. Coarse on purpose — staff refine in triage. | [default to undefined]
|
|
12
|
+
**reason** | **string** | Free-form description from the reporter (1–500 chars) | [default to undefined]
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
import { CreateReportRequest } from '@rebornteam/reborn-api';
|
|
18
|
+
|
|
19
|
+
const instance: CreateReportRequest = {
|
|
20
|
+
reporterUuid,
|
|
21
|
+
reportedUuids,
|
|
22
|
+
category,
|
|
23
|
+
reason,
|
|
24
|
+
};
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# CreateReportResponse
|
|
2
|
+
|
|
3
|
+
Acknowledgement that a peer report was accepted by the API.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
Name | Type | Description | Notes
|
|
8
|
+
------------ | ------------- | ------------- | -------------
|
|
9
|
+
**reportId** | **number** | Server-assigned report id | [default to undefined]
|
|
10
|
+
**deduplicated** | **boolean** | True if an active report from this reporter against this target already existed; the row\'s reason/category were updated in place. False on first report. | [default to undefined]
|
|
11
|
+
|
|
12
|
+
## Example
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
import { CreateReportResponse } from '@rebornteam/reborn-api';
|
|
16
|
+
|
|
17
|
+
const instance: CreateReportResponse = {
|
|
18
|
+
reportId,
|
|
19
|
+
deduplicated,
|
|
20
|
+
};
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|