@dossier-wiki/os-sdk 0.7.0 → 1.4.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/README.md +401 -14
- package/dist/alert-workflow-types.d.ts +115 -0
- package/dist/alert-workflow-types.d.ts.map +1 -0
- package/dist/alert-workflow-types.js +2 -0
- package/dist/alert-workflow-types.js.map +1 -0
- package/dist/service.d.ts +593 -15
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +871 -18
- package/dist/service.js.map +1 -1
- package/dist/types.d.ts +2454 -100
- package/dist/types.d.ts.map +1 -1
- package/docs/REFERENCE.md +430 -5
- package/package.json +1 -1
package/dist/service.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AlertWorkflowVersion, RestoreAlertWorkflowInput, AlertWorkflowExperienceSettings, SaveAlertWorkflowExperienceInput, AlertWorkflowSettings, SaveAlertWorkflowInput, WorkflowAlertType } from "./types.js";
|
|
2
|
+
import type { AccountResponseDto, AddFaceImageDto, AlertResourceDto, AlertResourceRefDto, AlertResponseDto, CreateCustomAlertDto, CreateCustomAlertTypeDto, CustomAlertTypeResponseDto, UpdateAlertNotesDto, UpdateCustomAlertTypeDto, TagFieldKey, TagCatalogueEntry, TagGroup, TagGroupInput, UpdateTagGroupInput, RegroupReport, TagCatalogueEntryInput, UpdateTagCatalogueEntryInput, ApiKeyResponseDto, ArchiveIdentificationDocumentInput, BulkCurrencyStatusInput, BulkUpsertOtherInformationInput, CustomerOtherInformationEntry, BulkCurrencyStatusResponseDto, CommentResourceType, ConfirmUploadDto, ConfirmedMatchDto, ConstantResponseDto, ChangeResourceStateInput, CreateStateDefinitionInput, CounterpartyResponseDto, CreateAccountDto, CreateApiKeyDto, CreateConstantDto, CreateCounterpartyDto, CreateCurrencyInput, CreateEntityInput, CreateEventDefinitionDto, CreateIdentificationDocumentInput, CreateIndividualInput, CreateNoteDto, CreateProductDto, CreateRiskAssessmentDto, CreateCustomerRiskAssessmentDto, CreateRuleDto, CreateStakeholderDto, CreateWebhookDto, CurrencyResponseDto, CursorPaginationQuery, DeleteConstantQuery, DeleteIdentificationDocumentResponse, DeviceResponseDto, DeviceMergeResponseDto, MergeDeviceDto, DeviceSummaryDto, EntityResponseDto, EntityCreatedResponseDto, CreateCustomerOptions, EventDefinitionResponseDto, ExpectedActivityResponseDto, FileResponseDto, GetCustomerQuery, IdentificationDocument, IndividualResponseDto, IndividualCreatedResponseDto, IngestEventDto, IngestEventResponse, IngestTransactionAsyncResponse, IngestTransactionAttemptDto, IngestTransactionAttemptResponse, ListTransactionAttemptsInput, TransactionAttemptDto, TransactionAttemptPage, AlertAttemptEvidence, TenantBehaviorSettings, UpdateTenantBehaviorSettingsInput, IngestTransactionDto, IngestTransactionResponse, InitializeSetupDto, InvitationDetailsDto, LinkCounterpartyDto, MergeCounterpartiesDto, ListAccountsResponse, ListCounterpartiesResponse, ListCurrenciesQuery, ListEntitiesResponse, ListIdentificationDocumentsQuery, ListIndividualsResponse, NoteResponseDto, PatchTransactionStatusDto, TransactionResponseDto, PaymentInstrumentDto, CreatePaymentInstrumentDto, UpdatePaymentInstrumentDto, LinkPaymentInstrumentAccountDto, LinkPaymentInstrumentCustomerDto, PaymentInstrumentAccountRelationshipDto, PaymentInstrumentCustomerRelationshipDto, PlatformComment, PlatformConfirmUploadDto, PlatformConfirmUploadResponseDto, PlatformCreateCommentDto, PlatformRequestUploadUrlDto, PlatformUpdateCommentDto, PlatformUploadUrlResponseDto, ProductResponseDto, PushExchangeRatesDto, PushExchangeRatesResponseDto, RegisterDeviceDto, RequestUploadUrlDto, ResetConfigResponseDto, ResetMemberPasswordDto, RiskAssessmentResponseDto, CustomerRiskAssessmentResponseDto, RuleResponseDto, RuleVersionResponseDto, RuleAnalyticsResponseDto, ScreeningResultDto, ScreeningHistoryEntryDto, StartKycSessionResponseDto, KycSessionDto, ScreeningMatchResultDto, SimulateRulesDto, SimulationReportDto, SetupInitializeResponseDto, SetupStatusDto, StakeholderResponseDto, SyncSnapshotDto, SyncDriftDto, CreateSyncSnapshotInput, SyncKeyQuery, ListConstantsQuery, ResourceStateDto, ResourceStateHistoryDto, StateDefinitionDto, StateResourceType, SyncConfig, SyncValidationResult, SyncPlanResult, SyncApplyResult, SyncExportQuery, TokenResponseDto, TransitionIdentificationDocumentStatusInput, UploadUrlResponseDto, UpdateAccountDto, UpdateConstantDto, UpdateCounterpartyDto, UpdateCurrencyInput, UpdateDeviceTrustDto, UpdateEntityDto, UpdateEventDefinitionDto, UpdateExpectedActivityDto, UpdateFaceImageDto, UpdateIdentificationDocumentDto, UpdateIdentificationDocumentInput, UpdateIndividualDto, UpdateNoteDto, UpsertOtherInformationValueInput, UpdateProductDto, UpdateRiskRatingDto, UpdateCustomerStatusDto, UpdateCustomerStatusResponse, ArchiveCustomerDto, ArchiveCustomerResponse, UpdateRuleDto, UpdateStakeholderDto, UpdateWebhookDto, WebhookResponseDto, BulkCustomListImportResultDto, CreateCustomScreeningListInput, CustomListEntryDto, CustomListEntryInput, CustomListEntryListResponse, CustomScreeningListDto, CustomScreeningListListResponse, UpdateCustomListEntryInput, UpdateCustomScreeningListInput, AssignmentPolicyResponseDto, CreateAssignmentPolicyDto, UpdateAssignmentPolicyDto, ReorderAssignmentPoliciesDto, TeamRefDto, TeamDto, CreateTeamDto, UpdateTeamDto, TeamMemberIdsDto, CustomerAssignmentInput, BulkCustomerAssignmentInput, CustomerAssignmentResponse, BulkCustomerAssignmentResult, SessionDto, UpdateSessionDto, ChannelEndpointDto, UpdateChannelEndpointDto, Branch, BranchListResponse, CreateBranchInput, UpdateBranchInput, Employee, EmployeeListResponse, CreateEmployeeInput, UpdateEmployeeInput, CreateRiskSignalInput, ListRiskSignalsQuery, RiskSignal, RiskSignalListResponse, PartyRelationship, PartyRelationshipPartyType, PartyRelationshipType, CreatePartyRelationshipInput, CreatePartyRelationshipTypeInput } from './types.js';
|
|
2
3
|
export interface DossiersOSAPIServiceOptions {
|
|
3
4
|
/** Base URL of the OS API host, e.g. `https://sandbox-os.dossiers.wiki`. The `/v1` prefix is added by the SDK. */
|
|
4
5
|
baseUrl: string;
|
|
@@ -17,6 +18,7 @@ type RequestOptions = {
|
|
|
17
18
|
query?: Record<string, unknown> | object;
|
|
18
19
|
};
|
|
19
20
|
type RequestFn = <T>(method: HttpMethod, path: string, opts?: RequestOptions) => Promise<T>;
|
|
21
|
+
type BinaryRequestFn = (path: string) => Promise<Uint8Array>;
|
|
20
22
|
export declare class DossiersOSAPIService {
|
|
21
23
|
private readonly apiKey;
|
|
22
24
|
private readonly baseUrl;
|
|
@@ -28,17 +30,41 @@ export declare class DossiersOSAPIService {
|
|
|
28
30
|
readonly accounts: AccountsResource;
|
|
29
31
|
readonly counterparties: CounterpartiesResource;
|
|
30
32
|
readonly devices: DevicesResource;
|
|
33
|
+
readonly paymentInstruments: PaymentInstrumentsResource;
|
|
34
|
+
readonly sessions: SessionsResource;
|
|
35
|
+
readonly channelEndpoints: ChannelEndpointsResource;
|
|
31
36
|
readonly transactions: TransactionsResource;
|
|
37
|
+
readonly transactionAttempts: TransactionAttemptsResource;
|
|
38
|
+
readonly behaviorSettings: BehaviorSettingsResource;
|
|
32
39
|
readonly events: EventsResource;
|
|
40
|
+
readonly riskSignals: RiskSignalsResource;
|
|
41
|
+
readonly employees: EmployeesResource;
|
|
42
|
+
readonly branches: BranchesResource;
|
|
33
43
|
readonly exchangeRates: ExchangeRatesResource;
|
|
44
|
+
readonly states: StatesResource;
|
|
34
45
|
readonly identificationDocuments: IdentificationDocumentsResource;
|
|
35
46
|
readonly alerts: AlertsResource;
|
|
36
47
|
readonly platform: PlatformResource;
|
|
37
48
|
readonly config: ConfigResource;
|
|
38
49
|
readonly setup: SetupResource;
|
|
39
50
|
readonly settings: SettingsResource;
|
|
51
|
+
readonly customLists: CustomListsResource;
|
|
52
|
+
readonly teams: TeamsResource;
|
|
53
|
+
readonly reports: ReportsResource;
|
|
54
|
+
readonly partyRelationships: PartyRelationshipsResource;
|
|
40
55
|
constructor(options: DossiersOSAPIServiceOptions);
|
|
41
56
|
private request;
|
|
57
|
+
/** GET a binary body (PDF reports). Errors are parsed the same way as JSON requests. */
|
|
58
|
+
private requestBinary;
|
|
59
|
+
}
|
|
60
|
+
export declare class PartyRelationshipsResource {
|
|
61
|
+
private readonly req;
|
|
62
|
+
constructor(req: RequestFn);
|
|
63
|
+
listTypes(): Promise<PartyRelationshipType[]>;
|
|
64
|
+
createType(input: CreatePartyRelationshipTypeInput): Promise<PartyRelationshipType>;
|
|
65
|
+
list(partyType: PartyRelationshipPartyType, partyId: string): Promise<PartyRelationship[]>;
|
|
66
|
+
create(input: CreatePartyRelationshipInput): Promise<PartyRelationship>;
|
|
67
|
+
end(id: string): Promise<PartyRelationship>;
|
|
42
68
|
}
|
|
43
69
|
/**
|
|
44
70
|
* Scoped view of `/v1/platform/v1/comments` for a single resourceType.
|
|
@@ -89,7 +115,12 @@ export declare class IndividualsResource {
|
|
|
89
115
|
readonly otherInformation: CustomerOtherInformationResource;
|
|
90
116
|
constructor(req: RequestFn);
|
|
91
117
|
list(query?: CursorPaginationQuery): Promise<ListIndividualsResponse>;
|
|
92
|
-
|
|
118
|
+
/**
|
|
119
|
+
* `POST /v1/customers/individuals` — create an individual. Pass
|
|
120
|
+
* `{ screening: 'sync' }` to run the INITIAL screening before the call
|
|
121
|
+
* returns; the result and its matches then arrive under `screening`.
|
|
122
|
+
*/
|
|
123
|
+
create(input: CreateIndividualInput, options?: CreateCustomerOptions): Promise<IndividualCreatedResponseDto>;
|
|
93
124
|
get(customerId: string, query?: GetCustomerQuery): Promise<IndividualResponseDto>;
|
|
94
125
|
update(customerId: string, input: UpdateIndividualDto): Promise<IndividualResponseDto>;
|
|
95
126
|
}
|
|
@@ -118,7 +149,12 @@ export declare class EntitiesResource {
|
|
|
118
149
|
readonly otherInformation: CustomerOtherInformationResource;
|
|
119
150
|
constructor(req: RequestFn);
|
|
120
151
|
list(query?: CursorPaginationQuery): Promise<ListEntitiesResponse>;
|
|
121
|
-
|
|
152
|
+
/**
|
|
153
|
+
* `POST /v1/customers/entities` — create an entity. Pass
|
|
154
|
+
* `{ screening: 'sync' }` to run the INITIAL screening before the call
|
|
155
|
+
* returns; the result and its matches then arrive under `screening`.
|
|
156
|
+
*/
|
|
157
|
+
create(input: CreateEntityInput, options?: CreateCustomerOptions): Promise<EntityCreatedResponseDto>;
|
|
122
158
|
get(customerId: string, query?: GetCustomerQuery): Promise<EntityResponseDto>;
|
|
123
159
|
update(customerId: string, input: UpdateEntityDto): Promise<EntityResponseDto>;
|
|
124
160
|
}
|
|
@@ -137,15 +173,62 @@ export declare class EntityIdentificationDocumentsResource {
|
|
|
137
173
|
create(customerId: string, input: CreateIdentificationDocumentInput): Promise<IdentificationDocument>;
|
|
138
174
|
}
|
|
139
175
|
export declare class CustomersResource {
|
|
176
|
+
private readonly req;
|
|
140
177
|
readonly notes: CustomerNotesResource;
|
|
141
178
|
readonly files: CustomerFilesResource;
|
|
142
179
|
readonly screening: CustomerScreeningResource;
|
|
180
|
+
readonly kyc: CustomerKycResource;
|
|
143
181
|
readonly riskRating: CustomerRiskRatingResource;
|
|
144
182
|
readonly status: CustomerStatusResource;
|
|
145
183
|
readonly riskAssessments: CustomerRiskAssessmentsResource;
|
|
146
184
|
readonly expectedActivity: CustomerExpectedActivityResource;
|
|
147
185
|
readonly devices: CustomerDevicesResource;
|
|
186
|
+
readonly assignment: CustomerAssignmentResource;
|
|
187
|
+
constructor(req: RequestFn);
|
|
188
|
+
/**
|
|
189
|
+
* `POST /v1/customers/{customerId}/archive` — archive a customer
|
|
190
|
+
* (organization owner/admin only, irreversible). Frees the customer's
|
|
191
|
+
* external ID for reuse and makes the record read-only.
|
|
192
|
+
*/
|
|
193
|
+
archive(customerId: string, input?: ArchiveCustomerDto): Promise<ArchiveCustomerResponse>;
|
|
194
|
+
}
|
|
195
|
+
export declare class CustomerAssignmentResource {
|
|
196
|
+
private readonly req;
|
|
197
|
+
constructor(req: RequestFn);
|
|
198
|
+
/**
|
|
199
|
+
* `POST /v1/customers/{customerId}/assignment` — add users/teams to a
|
|
200
|
+
* customer's standing assignment (additive; never silently removes).
|
|
201
|
+
*/
|
|
202
|
+
assign(customerId: string, input: CustomerAssignmentInput): Promise<CustomerAssignmentResponse>;
|
|
203
|
+
/**
|
|
204
|
+
* `DELETE /v1/customers/{customerId}/assignment` — remove users/teams from
|
|
205
|
+
* a customer's standing assignment.
|
|
206
|
+
*/
|
|
207
|
+
unassign(customerId: string, input: CustomerAssignmentInput): Promise<CustomerAssignmentResponse>;
|
|
208
|
+
/**
|
|
209
|
+
* `POST /v1/customers/assignment` — assign many customers to the same
|
|
210
|
+
* users/teams. Customers that already carry the target are skipped.
|
|
211
|
+
*/
|
|
212
|
+
assignMany(input: BulkCustomerAssignmentInput): Promise<BulkCustomerAssignmentResult>;
|
|
213
|
+
}
|
|
214
|
+
export declare class TeamsResource {
|
|
215
|
+
private readonly req;
|
|
148
216
|
constructor(req: RequestFn);
|
|
217
|
+
/**
|
|
218
|
+
* Active teams. `tags` is an any-of filter over the team's `team.tags`
|
|
219
|
+
* catalogue values (repeated as `?tags=a&tags=b`).
|
|
220
|
+
*/
|
|
221
|
+
list(query?: {
|
|
222
|
+
search?: string;
|
|
223
|
+
tags?: string[];
|
|
224
|
+
}): Promise<TeamRefDto[]>;
|
|
225
|
+
get(id: string): Promise<TeamDto>;
|
|
226
|
+
create(input: CreateTeamDto): Promise<TeamDto>;
|
|
227
|
+
update(id: string, input: UpdateTeamDto): Promise<TeamDto>;
|
|
228
|
+
archive(id: string): Promise<TeamDto>;
|
|
229
|
+
delete(id: string): Promise<boolean>;
|
|
230
|
+
addMembers(id: string, input: TeamMemberIdsDto): Promise<TeamDto>;
|
|
231
|
+
removeMembers(id: string, input: TeamMemberIdsDto): Promise<TeamDto>;
|
|
149
232
|
}
|
|
150
233
|
export declare class CustomerNotesResource {
|
|
151
234
|
private readonly req;
|
|
@@ -168,8 +251,69 @@ export declare class CustomerScreeningResource {
|
|
|
168
251
|
private readonly req;
|
|
169
252
|
constructor(req: RequestFn);
|
|
170
253
|
trigger(customerId: string): Promise<ScreeningResultDto>;
|
|
254
|
+
/**
|
|
255
|
+
* `GET /v1/customers/{customerId}/screening-history` — every screening run
|
|
256
|
+
* for the customer, most recent first. `limit` caps the number of entries
|
|
257
|
+
* returned (default 50 server-side).
|
|
258
|
+
*/
|
|
259
|
+
listHistory(customerId: string, params?: {
|
|
260
|
+
limit?: number;
|
|
261
|
+
}): Promise<ScreeningHistoryEntryDto[]>;
|
|
262
|
+
/**
|
|
263
|
+
* `GET /v1/customers/{customerId}/screening-history/latest` — the most
|
|
264
|
+
* recent screening run, or `null` if the customer has never been screened.
|
|
265
|
+
*/
|
|
266
|
+
getLast(customerId: string): Promise<ScreeningHistoryEntryDto | null>;
|
|
267
|
+
/**
|
|
268
|
+
* `GET /v1/customers/{customerId}/screening-results` — every match for the
|
|
269
|
+
* customer with its current disposition (true positives = `CONFIRMED`,
|
|
270
|
+
* false positives = `FALSE_POSITIVE`, plus undecided `PENDING`, which
|
|
271
|
+
* also covers matches a workflow reviewer marked inconclusive). Pass
|
|
272
|
+
* `disposition` to filter (e.g. `['CONFIRMED', 'FALSE_POSITIVE']`).
|
|
273
|
+
*/
|
|
274
|
+
listResults(customerId: string, params?: {
|
|
275
|
+
disposition?: Array<'PENDING' | 'CONFIRMED' | 'FALSE_POSITIVE'>;
|
|
276
|
+
}): Promise<ScreeningMatchResultDto[]>;
|
|
277
|
+
/**
|
|
278
|
+
* `GET /v1/customers/{customerId}/confirmed-matches` — confirmed
|
|
279
|
+
* (true-positive) matches only. Alias for `listResults` filtered to
|
|
280
|
+
* `CONFIRMED`, kept for backwards compatibility.
|
|
281
|
+
*/
|
|
171
282
|
listConfirmedMatches(customerId: string): Promise<ConfirmedMatchDto[]>;
|
|
172
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* KYC verification sessions for a customer. A session is an asynchronous,
|
|
286
|
+
* customer-driven flow: `start()` returns a hosted `sessionUrl` the customer
|
|
287
|
+
* visits; completion arrives out-of-band (provider webhook) or can be pulled
|
|
288
|
+
* with `refresh()`.
|
|
289
|
+
*/
|
|
290
|
+
export declare class CustomerKycResource {
|
|
291
|
+
private readonly req;
|
|
292
|
+
constructor(req: RequestFn);
|
|
293
|
+
/**
|
|
294
|
+
* `POST /v1/customers/{customerId}/kyc/sessions` — start a KYC session with
|
|
295
|
+
* the organization's active provider. Hand the returned `sessionUrl` to the
|
|
296
|
+
* customer.
|
|
297
|
+
*/
|
|
298
|
+
start(customerId: string): Promise<StartKycSessionResponseDto>;
|
|
299
|
+
/**
|
|
300
|
+
* `GET /v1/customers/{customerId}/kyc/sessions` — list a customer's KYC
|
|
301
|
+
* sessions, newest first.
|
|
302
|
+
*/
|
|
303
|
+
list(customerId: string): Promise<KycSessionDto[]>;
|
|
304
|
+
/**
|
|
305
|
+
* `POST /v1/customers/{customerId}/kyc/sessions/{sessionId}/refresh` — pull
|
|
306
|
+
* the latest provider state for a session and persist it.
|
|
307
|
+
*/
|
|
308
|
+
refresh(customerId: string, sessionId: string): Promise<KycSessionDto>;
|
|
309
|
+
/**
|
|
310
|
+
* `DELETE /v1/customers/{customerId}/kyc/sessions/{sessionId}` — cancel the
|
|
311
|
+
* session at the provider and remove the local record.
|
|
312
|
+
*/
|
|
313
|
+
delete(customerId: string, sessionId: string): Promise<{
|
|
314
|
+
deletedId: string;
|
|
315
|
+
}>;
|
|
316
|
+
}
|
|
173
317
|
export declare class CustomerRiskRatingResource {
|
|
174
318
|
private readonly req;
|
|
175
319
|
constructor(req: RequestFn);
|
|
@@ -226,6 +370,11 @@ export declare class CounterpartiesResource {
|
|
|
226
370
|
update(counterpartyId: string, input: UpdateCounterpartyDto): Promise<CounterpartyResponseDto>;
|
|
227
371
|
link(counterpartyId: string, input: LinkCounterpartyDto): Promise<CounterpartyResponseDto>;
|
|
228
372
|
unlink(counterpartyId: string, input: LinkCounterpartyDto): Promise<CounterpartyResponseDto>;
|
|
373
|
+
/**
|
|
374
|
+
* Merge `input.sourceId` into `counterpartyId` (the survivor). Linked records
|
|
375
|
+
* move across and the source stays as a MERGED tombstone.
|
|
376
|
+
*/
|
|
377
|
+
merge(counterpartyId: string, input: MergeCounterpartiesDto): Promise<CounterpartyResponseDto>;
|
|
229
378
|
}
|
|
230
379
|
export declare class CounterpartyRiskAssessmentsResource {
|
|
231
380
|
private readonly req;
|
|
@@ -243,6 +392,34 @@ export declare class DevicesResource {
|
|
|
243
392
|
readonly comments: ResourceCommentsProxy;
|
|
244
393
|
constructor(req: RequestFn);
|
|
245
394
|
get(deviceId: string): Promise<DeviceResponseDto>;
|
|
395
|
+
/** Canonicalize the source device into the target without deleting history. */
|
|
396
|
+
merge(targetDeviceId: string, input: MergeDeviceDto): Promise<DeviceMergeResponseDto>;
|
|
397
|
+
}
|
|
398
|
+
export declare class PaymentInstrumentsResource {
|
|
399
|
+
private readonly req;
|
|
400
|
+
constructor(req: RequestFn);
|
|
401
|
+
list(): Promise<PaymentInstrumentDto[]>;
|
|
402
|
+
get(id: string): Promise<PaymentInstrumentDto>;
|
|
403
|
+
create(input: CreatePaymentInstrumentDto): Promise<PaymentInstrumentDto>;
|
|
404
|
+
update(id: string, input: UpdatePaymentInstrumentDto): Promise<PaymentInstrumentDto>;
|
|
405
|
+
linkAccount(id: string, input: LinkPaymentInstrumentAccountDto): Promise<PaymentInstrumentAccountRelationshipDto>;
|
|
406
|
+
unlinkAccount(id: string, relationshipId: string, validTo?: string): Promise<PaymentInstrumentAccountRelationshipDto>;
|
|
407
|
+
linkCustomer(id: string, input: LinkPaymentInstrumentCustomerDto): Promise<PaymentInstrumentCustomerRelationshipDto>;
|
|
408
|
+
unlinkCustomer(id: string, relationshipId: string, validTo?: string): Promise<PaymentInstrumentCustomerRelationshipDto>;
|
|
409
|
+
}
|
|
410
|
+
export declare class SessionsResource {
|
|
411
|
+
private readonly req;
|
|
412
|
+
constructor(req: RequestFn);
|
|
413
|
+
list(): Promise<SessionDto[]>;
|
|
414
|
+
get(id: string): Promise<SessionDto>;
|
|
415
|
+
update(id: string, input: UpdateSessionDto): Promise<SessionDto>;
|
|
416
|
+
}
|
|
417
|
+
export declare class ChannelEndpointsResource {
|
|
418
|
+
private readonly req;
|
|
419
|
+
constructor(req: RequestFn);
|
|
420
|
+
list(): Promise<ChannelEndpointDto[]>;
|
|
421
|
+
get(id: string): Promise<ChannelEndpointDto>;
|
|
422
|
+
update(id: string, input: UpdateChannelEndpointDto): Promise<ChannelEndpointDto>;
|
|
246
423
|
}
|
|
247
424
|
export declare class TransactionsResource {
|
|
248
425
|
private readonly req;
|
|
@@ -252,12 +429,153 @@ export declare class TransactionsResource {
|
|
|
252
429
|
ingest(input: IngestTransactionDto): Promise<IngestTransactionResponse | IngestTransactionAsyncResponse>;
|
|
253
430
|
/** `PATCH /v1/transactions` — patch a transaction's terminal status. */
|
|
254
431
|
patchStatus(input: PatchTransactionStatusDto): Promise<unknown>;
|
|
432
|
+
/**
|
|
433
|
+
* Read back a stored transaction. By default `reference` is your own
|
|
434
|
+
* `transactionId`; pass `{ by: 'id' }` to look up the internal UUID
|
|
435
|
+
* returned by `ingest()`.
|
|
436
|
+
*/
|
|
437
|
+
get(reference: string, opts?: {
|
|
438
|
+
by?: 'transactionId' | 'id';
|
|
439
|
+
}): Promise<TransactionResponseDto>;
|
|
440
|
+
}
|
|
441
|
+
export declare class TransactionAttemptsResource {
|
|
442
|
+
private readonly req;
|
|
443
|
+
constructor(req: RequestFn);
|
|
444
|
+
/**
|
|
445
|
+
* `POST /v1/transaction-attempts` — retain a failed, blocked, or unknown
|
|
446
|
+
* operation as behavioural history. This does not trigger rule evaluation.
|
|
447
|
+
*/
|
|
448
|
+
ingest(input: IngestTransactionAttemptDto): Promise<IngestTransactionAttemptResponse>;
|
|
449
|
+
/** List retained attempts using an opaque, stable cursor. Requires `config:read`. */
|
|
450
|
+
list(input?: ListTransactionAttemptsInput): Promise<TransactionAttemptPage>;
|
|
451
|
+
/** Read one retained attempt by its database id. Requires `config:read`. */
|
|
452
|
+
get(id: string): Promise<TransactionAttemptDto>;
|
|
453
|
+
}
|
|
454
|
+
export declare class BehaviorSettingsResource {
|
|
455
|
+
private readonly req;
|
|
456
|
+
constructor(req: RequestFn);
|
|
457
|
+
get(): Promise<TenantBehaviorSettings>;
|
|
458
|
+
update(input: UpdateTenantBehaviorSettingsInput): Promise<TenantBehaviorSettings>;
|
|
255
459
|
}
|
|
256
460
|
export declare class EventsResource {
|
|
257
461
|
private readonly req;
|
|
258
462
|
constructor(req: RequestFn);
|
|
463
|
+
/**
|
|
464
|
+
* `POST /v1/events` — store a behavioral event.
|
|
465
|
+
*
|
|
466
|
+
* Every event is about exactly one resource: pass
|
|
467
|
+
* `resource: { type, id }`. A bare top-level `customerId` is still
|
|
468
|
+
* accepted as the legacy spelling of `resource: { type: 'CUSTOMER', id }`,
|
|
469
|
+
* and `resource` wins when both are present; an event naming neither is
|
|
470
|
+
* rejected with 400.
|
|
471
|
+
*
|
|
472
|
+
* Supply `input.eventId` (your unique identifier) to make retries safe:
|
|
473
|
+
* resubmitting the same `eventId` returns the original stored event with
|
|
474
|
+
* `cached: true` instead of creating a duplicate. Idempotency covers the
|
|
475
|
+
* event's Risk Signals too — a replay echoes the same `riskSignalIds`
|
|
476
|
+
* rather than emitting a second set.
|
|
477
|
+
*
|
|
478
|
+
* The response carries the resolved `resource` and the `riskSignalIds`
|
|
479
|
+
* emitted by the event definition's `riskSignalEffects`.
|
|
480
|
+
*/
|
|
259
481
|
ingest(input: IngestEventDto): Promise<IngestEventResponse>;
|
|
260
482
|
}
|
|
483
|
+
/**
|
|
484
|
+
* Risk Signals — time-decaying evidence attached to one resource.
|
|
485
|
+
*
|
|
486
|
+
* A Risk Signal is evidence, **not** an Alert: adding one creates no alert, no
|
|
487
|
+
* notification, no assignment and no task, and does not change the resource's
|
|
488
|
+
* Risk Rating. Rules read the aggregate effective weight and decide for
|
|
489
|
+
* themselves.
|
|
490
|
+
*/
|
|
491
|
+
export declare class RiskSignalsResource {
|
|
492
|
+
private readonly req;
|
|
493
|
+
constructor(req: RequestFn);
|
|
494
|
+
/**
|
|
495
|
+
* `POST /v1/risk-signals` — attach a piece of evidence to one resource.
|
|
496
|
+
*
|
|
497
|
+
* The signal records the strength it had at `occurredAt` and how fast that
|
|
498
|
+
* strength halves, so weight 40 with half-life `P7D` reads 20 after seven
|
|
499
|
+
* days and 10 after fourteen.
|
|
500
|
+
*
|
|
501
|
+
* Supply `externalId` to make retries safe — resubmitting the same
|
|
502
|
+
* `externalId` returns the original signal instead of adding a second one.
|
|
503
|
+
*
|
|
504
|
+
* The server sets the source to `MANUAL` and captures the authenticated
|
|
505
|
+
* actor; a caller cannot claim a signal came from an Event or a Rule.
|
|
506
|
+
*/
|
|
507
|
+
create(input: CreateRiskSignalInput): Promise<RiskSignal>;
|
|
508
|
+
/**
|
|
509
|
+
* `GET /v1/risk-signals` — read a resource's Risk Signals with their
|
|
510
|
+
* decayed weights, plus the aggregate effective weight.
|
|
511
|
+
*
|
|
512
|
+
* The aggregate is computed as of `asOf` (defaulting to server time) — it
|
|
513
|
+
* is not a cached score column on the resource, so a historical `asOf`
|
|
514
|
+
* returns what the resource looked like at that moment.
|
|
515
|
+
*
|
|
516
|
+
* `type` and `sourceType` filter which records contribute. They never
|
|
517
|
+
* change how far a contributing signal has decayed: age is always measured
|
|
518
|
+
* to `asOf`.
|
|
519
|
+
*/
|
|
520
|
+
list(query: ListRiskSignalsQuery): Promise<RiskSignalListResponse>;
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Employees — people acting inside the financial institution's ecosystem.
|
|
524
|
+
*
|
|
525
|
+
* Monitored domain data, distinct from Dossiers organization members: an
|
|
526
|
+
* Employee need not have a Dossiers login, and an Employee id is never an
|
|
527
|
+
* org-member id. Employees are an attachable resource for Events and Risk
|
|
528
|
+
* Signals.
|
|
529
|
+
*/
|
|
530
|
+
export declare class EmployeesResource {
|
|
531
|
+
private readonly req;
|
|
532
|
+
constructor(req: RequestFn);
|
|
533
|
+
/**
|
|
534
|
+
* `GET /v1/employees`.
|
|
535
|
+
*
|
|
536
|
+
* The endpoint declares `cursor` / `limit`, but the server currently
|
|
537
|
+
* resolves its own paging defaults (first page, 50 records) — treat paging
|
|
538
|
+
* as server-defaulted rather than caller-controlled.
|
|
539
|
+
*/
|
|
540
|
+
list(query?: {
|
|
541
|
+
cursor?: string;
|
|
542
|
+
limit?: number;
|
|
543
|
+
}): Promise<EmployeeListResponse>;
|
|
544
|
+
get(id: string): Promise<Employee>;
|
|
545
|
+
/**
|
|
546
|
+
* `POST /v1/employees`. `externalEmployeeId` must be unique within the
|
|
547
|
+
* organization; a duplicate is rejected with 400.
|
|
548
|
+
*/
|
|
549
|
+
create(input: CreateEmployeeInput): Promise<Employee>;
|
|
550
|
+
update(id: string, input: UpdateEmployeeInput): Promise<Employee>;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Branches — the institution's own physical or organizational units, through
|
|
554
|
+
* which Employees act. Like Employee, an attachable resource for Events and
|
|
555
|
+
* Risk Signals.
|
|
556
|
+
*/
|
|
557
|
+
export declare class BranchesResource {
|
|
558
|
+
private readonly req;
|
|
559
|
+
constructor(req: RequestFn);
|
|
560
|
+
/**
|
|
561
|
+
* `GET /v1/branches`.
|
|
562
|
+
*
|
|
563
|
+
* The endpoint declares `cursor` / `limit`, but the server currently
|
|
564
|
+
* resolves its own paging defaults (first page, 50 records) — treat paging
|
|
565
|
+
* as server-defaulted rather than caller-controlled.
|
|
566
|
+
*/
|
|
567
|
+
list(query?: {
|
|
568
|
+
cursor?: string;
|
|
569
|
+
limit?: number;
|
|
570
|
+
}): Promise<BranchListResponse>;
|
|
571
|
+
get(id: string): Promise<Branch>;
|
|
572
|
+
/**
|
|
573
|
+
* `POST /v1/branches`. `externalBranchId` must be unique within the
|
|
574
|
+
* organization.
|
|
575
|
+
*/
|
|
576
|
+
create(input: CreateBranchInput): Promise<Branch>;
|
|
577
|
+
update(id: string, input: UpdateBranchInput): Promise<Branch>;
|
|
578
|
+
}
|
|
261
579
|
export declare class ExchangeRatesResource {
|
|
262
580
|
private readonly req;
|
|
263
581
|
constructor(req: RequestFn);
|
|
@@ -273,6 +591,12 @@ export declare class IdentificationDocumentsResource {
|
|
|
273
591
|
readonly comments: ResourceCommentsProxy;
|
|
274
592
|
constructor(req: RequestFn);
|
|
275
593
|
get(id: string): Promise<IdentificationDocument>;
|
|
594
|
+
/**
|
|
595
|
+
* Correct captured document fields (name, number, DOB, addresses, …).
|
|
596
|
+
* Captured fields are frozen while the document is `APPROVED` (400) —
|
|
597
|
+
* `transition` it back to `PENDING` first. `notes`/`tags`/`attachments`
|
|
598
|
+
* stay editable in any status.
|
|
599
|
+
*/
|
|
276
600
|
update(id: string, input: UpdateIdentificationDocumentInput): Promise<IdentificationDocument>;
|
|
277
601
|
/** Hard-delete an identification document. Returns `{ deletedId }`. */
|
|
278
602
|
delete(id: string): Promise<DeleteIdentificationDocumentResponse>;
|
|
@@ -284,15 +608,42 @@ export declare class IdentificationDocumentsResource {
|
|
|
284
608
|
transition(id: string, input: TransitionIdentificationDocumentStatusInput): Promise<IdentificationDocument>;
|
|
285
609
|
}
|
|
286
610
|
/**
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
611
|
+
* Alerts. Screening and rule-trigger alerts are produced by the platform and
|
|
612
|
+
* delivered via webhooks; **custom alerts** are raised here against an
|
|
613
|
+
* org-defined Custom Alert Type (`config.customAlertTypes`). Every alert type
|
|
614
|
+
* supports markdown notes, linked resources and comments.
|
|
615
|
+
*
|
|
616
|
+
* Requires the `alerts:read` / `alerts:write` API-key permissions.
|
|
292
617
|
*/
|
|
293
618
|
export declare class AlertsResource {
|
|
619
|
+
private readonly req;
|
|
294
620
|
readonly comments: ResourceCommentsProxy;
|
|
621
|
+
readonly resources: AlertResourcesProxy;
|
|
295
622
|
constructor(req: RequestFn);
|
|
623
|
+
/**
|
|
624
|
+
* Raise an alert by hand. `alertType` is optional: with one, `fields` are
|
|
625
|
+
* validated against the type's schema; without one the alert is free-form
|
|
626
|
+
* and `fields` are self-declaring. Re-sending the same `externalRequestId`
|
|
627
|
+
* returns the existing alert (201 either way) — the key is scoped per
|
|
628
|
+
* organization.
|
|
629
|
+
*/
|
|
630
|
+
create(input: CreateCustomAlertDto): Promise<AlertResponseDto>;
|
|
631
|
+
/** Flat view of any alert, with its linked resources. */
|
|
632
|
+
get(alertId: string): Promise<AlertResponseDto>;
|
|
633
|
+
/** Replace the alert's markdown notes (any alert type). */
|
|
634
|
+
updateNotes(alertId: string, input: UpdateAlertNotesDto): Promise<AlertResponseDto>;
|
|
635
|
+
/** Immutable attempt facts captured when attempt-history rules contributed to an alert. */
|
|
636
|
+
attemptEvidence(alertId: string): Promise<AlertAttemptEvidence[]>;
|
|
637
|
+
}
|
|
638
|
+
/** Resources linked to an alert — `/v1/alerts/{id}/resources`. */
|
|
639
|
+
export declare class AlertResourcesProxy {
|
|
640
|
+
private readonly req;
|
|
641
|
+
constructor(req: RequestFn);
|
|
642
|
+
list(alertId: string): Promise<AlertResourceDto[]>;
|
|
643
|
+
/** Idempotent on (resourceType, resourceId): re-linking returns the existing link. */
|
|
644
|
+
add(alertId: string, input: AlertResourceRefDto): Promise<AlertResourceDto>;
|
|
645
|
+
/** `alertResourceId` is the link id from `list` / `add`, not the target's id. */
|
|
646
|
+
remove(alertId: string, alertResourceId: string): Promise<void>;
|
|
296
647
|
}
|
|
297
648
|
/**
|
|
298
649
|
* Cross-resource primitives (`/v1/platform/v1/*`). Polymorphic comments and
|
|
@@ -333,11 +684,17 @@ export declare class ConfigResource {
|
|
|
333
684
|
private readonly req;
|
|
334
685
|
readonly rules: ConfigRulesResource;
|
|
335
686
|
readonly constants: ConfigConstantsResource;
|
|
687
|
+
readonly alertWorkflows: ConfigAlertWorkflowsResource;
|
|
688
|
+
/** @deprecated Read-only archive. Use alertWorkflows for assignment. */
|
|
689
|
+
readonly states: ConfigStatesResource;
|
|
690
|
+
readonly assignmentPolicies: ConfigAssignmentPoliciesResource;
|
|
336
691
|
readonly products: ConfigProductsResource;
|
|
337
692
|
readonly currencies: ConfigCurrenciesResource;
|
|
338
693
|
readonly eventDefinitions: ConfigEventDefinitionsResource;
|
|
694
|
+
readonly customAlertTypes: ConfigCustomAlertTypesResource;
|
|
339
695
|
readonly webhooks: ConfigWebhooksResource;
|
|
340
696
|
readonly tagCatalogue: ConfigTagCatalogueResource;
|
|
697
|
+
readonly tagGroups: ConfigTagGroupsResource;
|
|
341
698
|
readonly sync: ConfigSyncResource;
|
|
342
699
|
constructor(req: RequestFn);
|
|
343
700
|
/** `DELETE /v1/config/reset` — clear all org config (destructive). */
|
|
@@ -366,7 +723,20 @@ export declare class ConfigRulesResource {
|
|
|
366
723
|
list(query?: SyncKeyQuery): Promise<RuleResponseDto[]>;
|
|
367
724
|
create(input: CreateRuleDto): Promise<RuleResponseDto>;
|
|
368
725
|
getBySyncKey(syncKey: string): Promise<RuleResponseDto>;
|
|
726
|
+
/**
|
|
727
|
+
* Dry-run rule simulation (spec v0 rules §11 backtest + synthetic
|
|
728
|
+
* source). Read-only: nothing is persisted and no actions execute —
|
|
729
|
+
* the response summarises what WOULD have happened. Requires only
|
|
730
|
+
* `config:read`.
|
|
731
|
+
*/
|
|
732
|
+
backtest(input: SimulateRulesDto): Promise<SimulationReportDto>;
|
|
369
733
|
get(id: string): Promise<RuleResponseDto>;
|
|
734
|
+
/** List a rule's definitional version history, newest first (audit trail). */
|
|
735
|
+
versions(id: string): Promise<RuleVersionResponseDto[]>;
|
|
736
|
+
/** Get a single rule version by its version number. */
|
|
737
|
+
getVersion(id: string, version: number): Promise<RuleVersionResponseDto>;
|
|
738
|
+
/** Compute-on-read alert analytics for a rule: disposition breakdown + precision. */
|
|
739
|
+
analytics(id: string): Promise<RuleAnalyticsResponseDto>;
|
|
370
740
|
update(id: string, input: UpdateRuleDto): Promise<RuleResponseDto>;
|
|
371
741
|
/**
|
|
372
742
|
* Tombstones the rule. The rule must already be in ARCHIVED lifecycle;
|
|
@@ -378,20 +748,82 @@ export declare class ConfigRulesResource {
|
|
|
378
748
|
archive(id: string): Promise<RuleResponseDto>;
|
|
379
749
|
/** Unarchive (ARCHIVED → LIVE). Validates outbound references first. */
|
|
380
750
|
unarchive(id: string, targetStatus?: string): Promise<RuleResponseDto>;
|
|
751
|
+
/**
|
|
752
|
+
* Roll the rule back to a previous version. Forward-only: re-applies the
|
|
753
|
+
* target version's definition through the validated update path and mints a
|
|
754
|
+
* new version. Returns 409 if the restored definition no longer resolves
|
|
755
|
+
* (e.g. a tombstoned reference), 403 for system rules.
|
|
756
|
+
*/
|
|
757
|
+
rollback(id: string, toVersion: number, reason?: string): Promise<RuleResponseDto>;
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* One workflow per alert type. Stages control assignment and review requirements;
|
|
761
|
+
* routers choose paths. Requires config:read / config:write.
|
|
762
|
+
*/
|
|
763
|
+
export declare class ConfigAlertWorkflowsResource {
|
|
764
|
+
private readonly req;
|
|
765
|
+
constructor(req: RequestFn);
|
|
766
|
+
/** Organization-wide choice; defaults to SIMPLE until Defined workflows is selected. */
|
|
767
|
+
getExperience(): Promise<AlertWorkflowExperienceSettings>;
|
|
768
|
+
/** Requires config:write. Changes only the behavior of newly created alerts. */
|
|
769
|
+
saveExperience(input: SaveAlertWorkflowExperienceInput): Promise<AlertWorkflowExperienceSettings>;
|
|
770
|
+
/** Requires config:read. Returns one workflow per alert type. */
|
|
771
|
+
list(): Promise<AlertWorkflowSettings[]>;
|
|
772
|
+
/** Newest publication first. A null definition cannot be restored. Requires config:read. */
|
|
773
|
+
versions(alertType: WorkflowAlertType): Promise<AlertWorkflowVersion[]>;
|
|
774
|
+
/** Replaces the draft with a saved version. Publishing is a separate operation; existing alerts are unchanged. */
|
|
775
|
+
restore(alertType: WorkflowAlertType, input: RestoreAlertWorkflowInput): Promise<AlertWorkflowSettings>;
|
|
776
|
+
get(alertType: WorkflowAlertType): Promise<AlertWorkflowSettings>;
|
|
777
|
+
/** Requires config:write. Use revision from get(); publish=false only updates the draft. */
|
|
778
|
+
save(alertType: WorkflowAlertType, input: SaveAlertWorkflowInput): Promise<AlertWorkflowSettings>;
|
|
779
|
+
}
|
|
780
|
+
/** Read-only legacy policies. New alert assignment runs through alertWorkflows. */
|
|
781
|
+
export declare class ConfigAssignmentPoliciesResource {
|
|
782
|
+
private readonly req;
|
|
783
|
+
constructor(req: RequestFn);
|
|
784
|
+
/** List policies in evaluation order. */
|
|
785
|
+
list(): Promise<AssignmentPolicyResponseDto[]>;
|
|
786
|
+
/** Create a policy (appended at the end of the evaluation order). */
|
|
787
|
+
/** @deprecated Returns HTTP 410. Use config.alertWorkflows.save() to configure stage assignment. */
|
|
788
|
+
create(input: CreateAssignmentPolicyDto): Promise<AssignmentPolicyResponseDto>;
|
|
789
|
+
getBySyncKey(syncKey: string): Promise<AssignmentPolicyResponseDto | {
|
|
790
|
+
found: false;
|
|
791
|
+
}>;
|
|
792
|
+
get(id: string): Promise<AssignmentPolicyResponseDto>;
|
|
793
|
+
/** @deprecated Returns HTTP 410. Use config.alertWorkflows.save() to configure stage assignment. */
|
|
794
|
+
update(id: string, input: UpdateAssignmentPolicyDto): Promise<AssignmentPolicyResponseDto>;
|
|
795
|
+
/** Reorder: pass EVERY policy id in the desired order; priorities are reassigned 1..n. */
|
|
796
|
+
/** @deprecated Returns HTTP 410. Use config.alertWorkflows.save() to configure stage assignment. */
|
|
797
|
+
reorder(input: ReorderAssignmentPoliciesDto): Promise<AssignmentPolicyResponseDto[]>;
|
|
798
|
+
/** @deprecated Returns HTTP 410. Use config.alertWorkflows.save() to configure stage assignment. */
|
|
799
|
+
delete(id: string): Promise<void>;
|
|
381
800
|
}
|
|
382
801
|
export declare class ConfigConstantsResource {
|
|
383
802
|
private readonly req;
|
|
384
803
|
constructor(req: RequestFn);
|
|
385
|
-
list(query?:
|
|
804
|
+
list(query?: ListConstantsQuery): Promise<ConstantResponseDto[]>;
|
|
386
805
|
create(input: CreateConstantDto): Promise<ConstantResponseDto>;
|
|
387
806
|
getBySyncKey(syncKey: string): Promise<ConstantResponseDto>;
|
|
388
807
|
get(id: string): Promise<ConstantResponseDto>;
|
|
389
808
|
update(id: string, input: UpdateConstantDto): Promise<ConstantResponseDto>;
|
|
390
809
|
delete(id: string, query?: DeleteConstantQuery): Promise<void>;
|
|
391
810
|
}
|
|
811
|
+
export declare class ConfigStatesResource {
|
|
812
|
+
private readonly req;
|
|
813
|
+
constructor(req: RequestFn);
|
|
814
|
+
list(): Promise<StateDefinitionDto[]>;
|
|
815
|
+
create(input: CreateStateDefinitionInput): Promise<StateDefinitionDto>;
|
|
816
|
+
}
|
|
817
|
+
export declare class StatesResource {
|
|
818
|
+
private readonly req;
|
|
819
|
+
constructor(req: RequestFn);
|
|
820
|
+
change(input: ChangeResourceStateInput): Promise<ResourceStateDto>;
|
|
821
|
+
get(resourceType: StateResourceType, resourceId: string, name: string): Promise<ResourceStateDto | null>;
|
|
822
|
+
history(resourceType: StateResourceType, resourceId: string, name: string, limit?: number): Promise<ResourceStateHistoryDto[]>;
|
|
823
|
+
}
|
|
392
824
|
/**
|
|
393
|
-
* Tag catalogue — per-org, per-field tag vocabulary plus enforcement. Backs
|
|
394
|
-
*
|
|
825
|
+
* Tag catalogue — per-org, per-field tag vocabulary plus enforcement. Backs
|
|
826
|
+
* every `TagValue[]` resource tag field. Under `strict` enforcement, writes
|
|
395
827
|
* carrying off-catalogue values are rejected (422).
|
|
396
828
|
*/
|
|
397
829
|
export declare class ConfigTagCatalogueResource {
|
|
@@ -402,21 +834,63 @@ export declare class ConfigTagCatalogueResource {
|
|
|
402
834
|
fieldKey?: TagFieldKey;
|
|
403
835
|
includeArchived?: boolean;
|
|
404
836
|
}): Promise<TagCatalogueEntry[]>;
|
|
405
|
-
/**
|
|
406
|
-
|
|
837
|
+
/**
|
|
838
|
+
* The fixed colour palette. Served by the API so the token list isn't
|
|
839
|
+
* duplicated (and left to drift) in every client.
|
|
840
|
+
*/
|
|
841
|
+
palette(): Promise<{
|
|
842
|
+
tokens: string[];
|
|
843
|
+
}>;
|
|
407
844
|
create(input: TagCatalogueEntryInput): Promise<TagCatalogueEntry>;
|
|
408
845
|
update(id: string, input: UpdateTagCatalogueEntryInput): Promise<TagCatalogueEntry>;
|
|
409
846
|
/** Archive an entry (hidden from pickers but kept for unarchive/history). */
|
|
410
847
|
archive(id: string): Promise<TagCatalogueEntry>;
|
|
411
848
|
/** Hard-delete an entry. Existing assignments keep their snapshot label/value. */
|
|
412
849
|
delete(id: string): Promise<void>;
|
|
413
|
-
/** Set enforcement (`open` | `strict`) for one field-key. */
|
|
414
|
-
setEnforcement(input: SetTagEnforcementInput): Promise<TagFieldEnforcement>;
|
|
415
850
|
/** Re-sync denormalised assignment labels from the catalogue. */
|
|
416
851
|
backfill(fieldKey: TagFieldKey): Promise<{
|
|
417
852
|
rewritten: number;
|
|
418
853
|
}>;
|
|
419
854
|
}
|
|
855
|
+
/**
|
|
856
|
+
* Tag groups — the facet layer over the catalogue. A group owns a namespace, so
|
|
857
|
+
* its member tags are stored as `<group>:<tag>` and a group is recoverable from
|
|
858
|
+
* a tag value by splitting on the first colon.
|
|
859
|
+
*/
|
|
860
|
+
export declare class ConfigTagGroupsResource {
|
|
861
|
+
private readonly req;
|
|
862
|
+
constructor(req: RequestFn);
|
|
863
|
+
list(query?: {
|
|
864
|
+
fieldKey?: TagFieldKey;
|
|
865
|
+
includeArchived?: boolean;
|
|
866
|
+
}): Promise<TagGroup[]>;
|
|
867
|
+
create(input: TagGroupInput): Promise<TagGroup>;
|
|
868
|
+
update(id: string, input: UpdateTagGroupInput): Promise<TagGroup>;
|
|
869
|
+
/** Archive a group. Its tags keep their namespaced values. */
|
|
870
|
+
archive(id: string): Promise<TagGroup>;
|
|
871
|
+
/** Hard-delete. Rejected while the group still owns tags — archive instead. */
|
|
872
|
+
delete(id: string): Promise<void>;
|
|
873
|
+
/** Records holding more than one tag from this group — the SINGLE pre-flight. */
|
|
874
|
+
cardinalityConflicts(id: string): Promise<{
|
|
875
|
+
total: number;
|
|
876
|
+
sample: {
|
|
877
|
+
resourceId: string;
|
|
878
|
+
count: number;
|
|
879
|
+
}[];
|
|
880
|
+
}>;
|
|
881
|
+
/**
|
|
882
|
+
* Move tags into (or out of, with `groupId: null`) a group.
|
|
883
|
+
*
|
|
884
|
+
* This changes each tag's stored VALUE, so it also rewrites assignments,
|
|
885
|
+
* rule condition operands, and assignment-policy routing tables. Run it
|
|
886
|
+
* with `dryRun: true` first — the report is identical, nothing is written.
|
|
887
|
+
*/
|
|
888
|
+
regroup(input: {
|
|
889
|
+
entryIds: string[];
|
|
890
|
+
groupId?: string | null;
|
|
891
|
+
dryRun?: boolean;
|
|
892
|
+
}): Promise<RegroupReport>;
|
|
893
|
+
}
|
|
420
894
|
/**
|
|
421
895
|
* Lifecycle-result shape returned by archive/unarchive endpoints across
|
|
422
896
|
* adopters. Subset of the resource row sufficient for UI feedback after a
|
|
@@ -457,6 +931,36 @@ export declare class ConfigCurrenciesResource {
|
|
|
457
931
|
get(id: string): Promise<CurrencyResponseDto>;
|
|
458
932
|
update(id: string, input: UpdateCurrencyInput): Promise<CurrencyResponseDto>;
|
|
459
933
|
bulkUpdateStatus(input: BulkCurrencyStatusInput): Promise<BulkCurrencyStatusResponseDto>;
|
|
934
|
+
/** Archive a currency (LIVE → ARCHIVED). Also disables it. */
|
|
935
|
+
archive(id: string): Promise<CurrencyResponseDto>;
|
|
936
|
+
/** Tombstone a currency (terminal). Archive-first required — 409 if LIVE. */
|
|
937
|
+
delete(id: string): Promise<CurrencyResponseDto>;
|
|
938
|
+
}
|
|
939
|
+
/**
|
|
940
|
+
* Org-defined alert types for custom alerts — `/v1/config/custom-alert-types`.
|
|
941
|
+
* Requires `config:read` / `config:write`. Follows the canonical lifecycle:
|
|
942
|
+
* archive (blocked while alerts of the type are OPEN) → tombstone.
|
|
943
|
+
*/
|
|
944
|
+
export declare class ConfigCustomAlertTypesResource {
|
|
945
|
+
private readonly req;
|
|
946
|
+
constructor(req: RequestFn);
|
|
947
|
+
list(query?: {
|
|
948
|
+
lifecycle?: 'LIVE' | 'ARCHIVED' | 'TOMBSTONED' | 'ALL';
|
|
949
|
+
}): Promise<CustomAlertTypeResponseDto[]>;
|
|
950
|
+
create(input: CreateCustomAlertTypeDto): Promise<CustomAlertTypeResponseDto>;
|
|
951
|
+
/** Returns `{ found: false }` when no type has that name. */
|
|
952
|
+
getByName(name: string): Promise<CustomAlertTypeResponseDto | {
|
|
953
|
+
found: false;
|
|
954
|
+
}>;
|
|
955
|
+
get(id: string): Promise<CustomAlertTypeResponseDto>;
|
|
956
|
+
/** Schema edits apply to alerts raised afterwards; existing alerts are not re-validated. */
|
|
957
|
+
update(id: string, input: UpdateCustomAlertTypeDto): Promise<CustomAlertTypeResponseDto>;
|
|
958
|
+
/** Tombstones the type. Archive-first enforced. */
|
|
959
|
+
delete(id: string): Promise<void>;
|
|
960
|
+
/** LIVE → ARCHIVED. 409 while any alert of this type is OPEN. */
|
|
961
|
+
archive(id: string): Promise<CustomAlertTypeResponseDto>;
|
|
962
|
+
/** ARCHIVED → LIVE. */
|
|
963
|
+
unarchive(id: string): Promise<CustomAlertTypeResponseDto>;
|
|
460
964
|
}
|
|
461
965
|
export declare class ConfigEventDefinitionsResource {
|
|
462
966
|
private readonly req;
|
|
@@ -513,5 +1017,79 @@ export declare class SettingsResource {
|
|
|
513
1017
|
/** Download a specific snapshot as a zip archive (tenant.sync.json + README.md). */
|
|
514
1018
|
downloadSyncSnapshot(id: string): Promise<unknown>;
|
|
515
1019
|
}
|
|
1020
|
+
/**
|
|
1021
|
+
* Custom screening lists — tenant-managed lists (internal blocklists, exited
|
|
1022
|
+
* customers, local regulator lists) checked by every screening run alongside
|
|
1023
|
+
* external providers. Requires `config:read` / `config:write` API-key scope.
|
|
1024
|
+
*/
|
|
1025
|
+
export declare class CustomListsResource {
|
|
1026
|
+
private readonly req;
|
|
1027
|
+
constructor(req: RequestFn);
|
|
1028
|
+
/** `GET /v1/screening/custom-lists` — lists, LIVE only by default. */
|
|
1029
|
+
list(params?: {
|
|
1030
|
+
lifecycle?: 'LIVE' | 'ARCHIVED' | 'ALL';
|
|
1031
|
+
enabled?: boolean;
|
|
1032
|
+
search?: string;
|
|
1033
|
+
page?: number;
|
|
1034
|
+
pageSize?: number;
|
|
1035
|
+
}): Promise<CustomScreeningListListResponse>;
|
|
1036
|
+
/** `POST /v1/screening/custom-lists` — create a list. */
|
|
1037
|
+
create(input: CreateCustomScreeningListInput): Promise<CustomScreeningListDto>;
|
|
1038
|
+
/** `GET /v1/screening/custom-lists/{listId}`. */
|
|
1039
|
+
get(listId: string): Promise<CustomScreeningListDto>;
|
|
1040
|
+
/** `PATCH /v1/screening/custom-lists/{listId}` — name / description / enabled / tags. */
|
|
1041
|
+
update(listId: string, input: UpdateCustomScreeningListInput): Promise<CustomScreeningListDto>;
|
|
1042
|
+
/**
|
|
1043
|
+
* `POST /v1/screening/custom-lists/{listId}/archive` — archived lists are
|
|
1044
|
+
* read-only and excluded from screening.
|
|
1045
|
+
*/
|
|
1046
|
+
archive(listId: string): Promise<CustomScreeningListDto>;
|
|
1047
|
+
/** `POST /v1/screening/custom-lists/{listId}/unarchive`. */
|
|
1048
|
+
unarchive(listId: string): Promise<CustomScreeningListDto>;
|
|
1049
|
+
/** `GET /v1/screening/custom-lists/{listId}/entries`. */
|
|
1050
|
+
listEntries(listId: string, params?: {
|
|
1051
|
+
search?: string;
|
|
1052
|
+
page?: number;
|
|
1053
|
+
pageSize?: number;
|
|
1054
|
+
}): Promise<CustomListEntryListResponse>;
|
|
1055
|
+
/** `POST /v1/screening/custom-lists/{listId}/entries` — add a single entry. */
|
|
1056
|
+
createEntry(listId: string, input: CustomListEntryInput): Promise<CustomListEntryDto>;
|
|
1057
|
+
/**
|
|
1058
|
+
* `POST /v1/screening/custom-lists/{listId}/entries/bulk` — import up to
|
|
1059
|
+
* 500 rows per request. Invalid rows are rejected per-row (with reasons)
|
|
1060
|
+
* while valid rows proceed; rows carrying `externalRef` upsert instead of
|
|
1061
|
+
* duplicating, so re-importing a refreshed CSV is safe.
|
|
1062
|
+
*/
|
|
1063
|
+
bulkCreateEntries(listId: string, rows: CustomListEntryInput[]): Promise<BulkCustomListImportResultDto>;
|
|
1064
|
+
/** `PATCH /v1/screening/custom-lists/{listId}/entries/{entryId}`. */
|
|
1065
|
+
updateEntry(listId: string, entryId: string, input: UpdateCustomListEntryInput): Promise<CustomListEntryDto>;
|
|
1066
|
+
/** `DELETE /v1/screening/custom-lists/{listId}/entries/{entryId}`. */
|
|
1067
|
+
deleteEntry(listId: string, entryId: string): Promise<{
|
|
1068
|
+
deleted: boolean;
|
|
1069
|
+
}>;
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* On-demand PDF reports (`/v1/reports/...`). Each method resolves to the raw
|
|
1073
|
+
* PDF bytes; write them to disk or hand them to a download response. Requires
|
|
1074
|
+
* the `report:read` grant. Generating a report records a `report.generated`
|
|
1075
|
+
* activity on the subject record.
|
|
1076
|
+
*/
|
|
1077
|
+
export declare class ReportsResource {
|
|
1078
|
+
private readonly getBinary;
|
|
1079
|
+
constructor(getBinary: BinaryRequestFn);
|
|
1080
|
+
/** Alert case file: facts, subject customer, matches / rule triggers, comments, activity. */
|
|
1081
|
+
alert(alertId: string): Promise<Uint8Array>;
|
|
1082
|
+
/** Customer profile: identity, documents, accounts, risk, screening, totals, alerts. */
|
|
1083
|
+
customerProfile(customerId: string): Promise<Uint8Array>;
|
|
1084
|
+
/** Counterparty profile: classification, identifiers, payment methods, totals. */
|
|
1085
|
+
counterpartyProfile(counterpartyId: string): Promise<Uint8Array>;
|
|
1086
|
+
/**
|
|
1087
|
+
* Generic profile for any other registered resource type (`ACCOUNT`,
|
|
1088
|
+
* `DEVICE`, `INSTITUTION`, `PRODUCT`, `TASK`, …). `ALERT`, `CUSTOMER` and
|
|
1089
|
+
* `COUNTERPARTY` are rejected with 400 — use the dedicated methods.
|
|
1090
|
+
*/
|
|
1091
|
+
resourceProfile(resourceType: ReportResourceType, resourceId: string): Promise<Uint8Array>;
|
|
1092
|
+
}
|
|
1093
|
+
export type ReportResourceType = 'ACCOUNT' | 'TRANSACTION' | 'TASK' | 'DEVICE' | 'PRODUCT' | 'IDENTIFICATION_DOCUMENT' | 'INSTITUTION' | 'CONSTANT' | 'WEBHOOK' | (string & {});
|
|
516
1094
|
export {};
|
|
517
1095
|
//# sourceMappingURL=service.d.ts.map
|