Hub Technologies API (1.0.0)

Download OpenAPI specification:

Overview

REST API for ingesting, retrieving, and managing private entity data. Supports batch and real-time ingestion of persons, organizations, accounts, payments, and products, along with contact management, user-defined identifiers/texts, and transaction monitoring.

Health

Liveness and readiness probes

Root endpoint (GET)

Returns an empty response with HTTP 400. Exists as a catch-all root route; not intended for client use.

Authorizations:
NoneBearerAuth

Responses

Root endpoint (POST)

Returns an empty response with HTTP 400. Exists as a catch-all root route; not intended for client use.

Authorizations:
NoneBearerAuth

Responses

Health-check endpoint

Returns a plain-text confirmation that the service is running. No authentication required.

Authorizations:
NoneBearerAuth

Responses

Elasticsearch Configuration

Initialize and configure Elasticsearch indices, templates, and lifecycle policies for transaction monitoring

Initialize Elasticsearch configuration

Creates or replaces the Elasticsearch index (with alias and mapping), lifecycle policy, and index template used by the transaction monitoring module. Idempotent -- safe to call multiple times.

Authorizations:
NoneBearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "message": "string"
}

Transaction Monitoring

Search and export transaction data stored in Elasticsearch

Download transaction data as CSV

Accepts a search payload, queries Elasticsearch for matching transactions, and streams the results back as a CSV file attachment. The response uses chunked transfer encoding.

Authorizations:
NoneBearerAuth
Request Body schema: application/json
required

Elasticsearch query payload defining the transaction search criteria

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "status": false,
  • "error": "string",
  • "message": "string"
}

Search transaction data in Elasticsearch

Performs a paginated search against the Elasticsearch transaction index. Supports cursor-based pagination via the cursor_id parameter for efficient deep paging.

Authorizations:
NoneBearerAuth
query Parameters
max_page_size
integer
Default: 10

Maximum number of records to return per page

cursor_id
string

Opaque cursor returned by a previous search response for fetching the next page

Request Body schema: application/json
required

Elasticsearch query payload defining the search criteria

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Data Ingestion

Asynchronous batch ingestion of entity data via cloud storage and queue services

Upload entity data for an existing ingestion job

Appends a new batch of entity data to an existing job identified by job_id. The payload is validated, uploaded to cloud blob storage, and a background thread monitors the downstream processing service. Returns HTTP 202 with the job_id once the batch is accepted.

Authorizations:
BearerAuth
path Parameters
job_id
required
string <uuid>

UUID of the existing ingestion job to append data to

query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

load_type
string
Default: "delta"
Enum: "full" "delta"

Whether this is a full load (replaces all data) or delta load (incremental changes)

is_mc_enable
string
Enum: "true" "false"

Enable or disable master-config chunking for the ingestion job

mc_chunk_size
integer <= 1000

Number of records per chunk when master-config chunking is enabled. Capped at 1000.

Request Body schema: application/json
required

Entity data payload for batch ingestion. Contains the entity type, batch metadata, and the data records array.

entity_type
string

The type of entity in the data array

batch_id
integer

Identifier for this batch within the job. Defaults to 1.

num_of_batches
integer

Total number of batches expected for this job. Defaults to 1.

data
Array of objects

Array of entity data records to ingest

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "batch_id": 0,
  • "num_of_batches": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Submit entity data for an existing ingestion job (POST)

Functionally identical to PUT on this path. Submits a batch of entity data under an existing job_id.

Authorizations:
BearerAuth
path Parameters
job_id
required
string <uuid>

UUID of the existing ingestion job

query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

load_type
string
Default: "delta"
Enum: "full" "delta"

Whether this is a full load (replaces all data) or delta load (incremental changes)

Request Body schema: application/json
required

Entity data payload for batch ingestion. Contains the entity type, batch metadata, and the data records array.

entity_type
string

The type of entity in the data array

batch_id
integer

Identifier for this batch within the job. Defaults to 1.

num_of_batches
integer

Total number of batches expected for this job. Defaults to 1.

data
Array of objects

Array of entity data records to ingest

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "batch_id": 0,
  • "num_of_batches": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Start a new entity data ingestion job

Creates a new ingestion job, validates the payload against entity-type rules, uploads the data to cloud blob storage, and kicks off background processing. Returns HTTP 202 with the newly generated job_id. Supports optional master-config chunking via is_mc_enable and mc_chunk_size.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

load_type
string
Default: "delta"
Enum: "full" "delta"

Whether this is a full load (replaces all data) or delta load (incremental changes)

is_mc_enable
string
Enum: "true" "false"

Enable or disable master-config chunking for the ingestion job

mc_chunk_size
integer <= 1000

Number of records per chunk when master-config chunking is enabled. Capped at 1000.

Request Body schema: application/json
required

Entity data payload for batch ingestion. Contains the entity type, batch metadata, and the data records array.

entity_type
string

The type of entity in the data array

batch_id
integer

Identifier for this batch within the job. Defaults to 1.

num_of_batches
integer

Total number of batches expected for this job. Defaults to 1.

data
Array of objects

Array of entity data records to ingest

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "batch_id": 0,
  • "num_of_batches": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Start a new entity data ingestion job (POST)

Functionally identical to PUT on this path. Creates a new ingestion job and submits entity data for processing.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

load_type
string
Default: "delta"
Enum: "full" "delta"

Whether this is a full load (replaces all data) or delta load (incremental changes)

Request Body schema: application/json
required

Entity data payload for batch ingestion. Contains the entity type, batch metadata, and the data records array.

entity_type
string

The type of entity in the data array

batch_id
integer

Identifier for this batch within the job. Defaults to 1.

num_of_batches
integer

Total number of batches expected for this job. Defaults to 1.

data
Array of objects

Array of entity data records to ingest

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "batch_id": 0,
  • "num_of_batches": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Patch individual fields on an existing entity

Accepts a JSON Patch-style array of operations (op, path, value) to partially update an entity record. The entity is identified by entity_type, id, source_system, and business_unit query parameters. Creates a new background job for the patch operation.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

id
string

The primary identifier of the entity to patch

source_system
string

Source system code that owns the entity

business_unit
string

Business unit code that owns the entity

Request Body schema: application/json
required

Array of JSON Patch-style operations to apply to the entity

Array
op
string

Operation type (e.g. replace, add, remove)

path
string

JSON pointer to the field being modified

value
any

New value for the field

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Delete an entity via asynchronous ingestion pipeline

Queues an entity deletion through the standard ingestion pipeline. The entity is identified by entity_type, id, source_system, and business_unit query parameters. A background job is created and the deletion is processed asynchronously.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

id
string

The primary identifier of the entity to delete

source_system
string

Source system code that owns the entity

business_unit
string

Business unit code that owns the entity

Responses

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Ingest entity data (v2 pipeline with validation and queue)

V2 ingestion endpoint that validates and transforms entity data before uploading to blob storage and inserting a message into the processing queue. Supports upsert and overwrite modes. For account entities, a reference_entity_type field is required in the payload.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

load_type
string
Default: "delta"
Enum: "full" "delta"

Whether this is a full load (replaces all data) or delta load (incremental changes)

is_mc_enable
string
Enum: "true" "false"

Enable or disable master-config chunking for the ingestion job

mc_chunk_size
integer <= 1000

Number of records per chunk when master-config chunking is enabled. Capped at 1000.

mode
string
Default: "upsert"
Enum: "upsert" "overwrite"

Ingestion mode. 'upsert' merges with existing data; 'overwrite' replaces existing records entirely.

Request Body schema: application/json
required

Entity data payload for batch ingestion. Contains the entity type, batch metadata, and the data records array.

entity_type
string

The type of entity in the data array

batch_id
integer

Identifier for this batch within the job. Defaults to 1.

num_of_batches
integer

Total number of batches expected for this job. Defaults to 1.

data
Array of objects

Array of entity data records to ingest

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "batch_id": 0,
  • "num_of_batches": 0,
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Patch entity fields (v2 pipeline with validation and queue)

V2 patch endpoint that validates patch operations, transforms them through the ETL execute pipeline, and uploads the result for asynchronous processing. Each patch operation object in the array is enriched with the entity ID, source system, and business unit before processing.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

id
string

The primary identifier of the entity to patch

source_system
string

Source system code

business_unit
string

Business unit code

Request Body schema: application/json
required

Array of patch operations

Array
op
string
path
string
value
any

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Delete an entity (v2 pipeline with validation and queue)

V2 delete endpoint. Validates the delete request, passes it through the ETL execute pipeline for transformation, and queues the deletion for asynchronous processing.

Authorizations:
BearerAuth
query Parameters
entity_type
string
Enum: "person" "organization" "payment" "product" "account" "relatedentities" "identifier" "account_product"

The type of entity being ingested

id
string

The primary identifier of the entity to delete

source_system
string

Source system code

business_unit
string

Business unit code

Responses

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Ingestion Job Status

Track the processing status of ingestion jobs and file-based pipelines

Get the processing status of an ingestion job

Queries the request metadata table for the given job_id and returns a summary of each batch's current processing status. If a batch has failed or partially succeeded, the response includes a link to the invalidated records file.

Authorizations:
BearerAuth
path Parameters
job_id
required
string <uuid>

UUID of the ingestion job to query

Responses

Response samples

Content type
application/json
{
  • "job_id": "string",
  • "job_summary": [
    ]
}

Request job status without a job_id

When called without a job_id, this endpoint always returns HTTP 400 instructing the caller to provide a valid job_id.

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "message": "string",
  • "is-error": true
}

Get the processing status of a file-based ingestion pipeline

Looks up the pipeline metadata table by file_name and returns the current processing status, counts of transformed and validated records, and a link to any invalidated records.

Authorizations:
NoneBearerAuth
Request Body schema: application/json
required

JSON object containing the file name to look up

file_name
required
string

The exact file name as it was submitted to the ingestion pipeline

Responses

Request samples

Content type
application/json
{
  • "file_name": "string"
}

Response samples

Content type
application/json
{
  • "file_name": "string",
  • "status": "string",
  • "invalidated_records_link": "string",
  • "records_transformed": 0,
  • "records_validated": 0
}

Entity Data Retrieval

Retrieve processed entity records from the ETL service

Retrieve processed entity data from the ETL service

Proxies the request to the downstream ETL service to fetch the fully processed entity record. Requires entity_type, id, and optionally source_system and business_unit to uniquely identify the record.

Authorizations:
BearerAuth
query Parameters
entity_type
required
string
Enum: "person" "organization" "payment" "product" "account"

Type of entity to retrieve

id
required
string

Primary identifier of the entity

source_system
string

Source system code

business_unit
string

Business unit code

Responses

Response samples

Content type
application/json
{ }

Contacts

CRUD operations for contact records associated with entities

List contacts for a reference entity with pagination

Returns a paginated list of contacts associated with the given referenceId. Results are sorted by firstName. An optional JSON-encoded filters parameter allows filtering by firstName, lastName, position, email, phoneNumber, isMainContact, sourceSystem, businessUnit, or contactType. The contactType field in the response is enriched with display labels from the lookup table.

Authorizations:
NoneBearerAuth
query Parameters
referenceId
required
string

The entity reference ID to fetch contacts for

page_number
required
integer >= 1

1-based page number

page_size
required
integer >= 1

Number of records per page

filters
string

JSON-encoded array of filter objects, each with 'columnName' and 'columnValue' keys

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total_num_of_records": 0
}

Create or update contacts in batch

Accepts an array of contact objects. If a contactId is present in an item, the corresponding record is updated; otherwise a new contact is created with an auto-generated UUID. At most one contact per referenceId may have isMainContact set to true. The endpoint validates required fields (referenceId, firstName, lastName, phoneNumber) and data types before persisting.

Authorizations:
NoneBearerAuth
Request Body schema: application/json
required

Array of contact objects to create or update

Array
contactId
string

UUID of an existing contact to update. Omit to create a new contact.

referenceId
required
string

Entity reference ID to associate the contact with

sourceSystem
string
businessUnit
string
firstName
required
string
lastName
required
string
position
string
phoneNumber
required
string
email
string
contactType
Array of strings

Array of contact type codes. Stored as comma-separated values internally.

isMainContact
required
boolean

At most one contact per referenceId may be true

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Delete contacts by their IDs

Deletes one or more contact records identified by a comma-separated list of contactId values. If any contactId does not exist, the request is rejected with HTTP 404 before any deletions occur.

Authorizations:
NoneBearerAuth
query Parameters
contact_ids
required
string

Comma-separated list of contactId values to delete

Responses

Response samples

Content type
application/json
{
  • "status": 200,
  • "detail": "Deleted"
}

Get a single contact by contactId

Retrieves the contact record matching the given contactId. The contactType field is enriched with display labels from the lookup table. Returns an array (typically with zero or one element).

Authorizations:
NoneBearerAuth
path Parameters
id
required
string

The UUID of the contact to retrieve

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Export all contacts for a reference entity (no pagination)

Returns all contact records for the given referenceId without pagination. Supports the same optional filters parameter as the paginated list endpoint. Intended for bulk export workflows.

Authorizations:
NoneBearerAuth
query Parameters
referenceId
required
string

The entity reference ID to export contacts for

filters
string

JSON-encoded array of filter objects with 'columnName' and 'columnValue' keys

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total_num_of_records": 0
}

Primary Entities (Sync API)

Synchronous create, update, and delete operations for primary entities (person, organization, account, payment, product)

Create a new primary entity

Synchronously creates a primary entity record (person, organization, account, payment, or product). The request body is validated against the JSON schema for the given entity type. The primaryEntityData object must contain all required attributes for the entity type. An optional primaryEntityExtraData object may contain flat key-value pairs of additional data.

Authorizations:
NoneBearerAuth
path Parameters
primary_entity_type
required
string
Enum: "person" "organization" "account" "payment" "product"

The type of primary entity to operate on

Request Body schema: application/json
required

Primary entity creation payload

businessUnit
required
string

Business unit owning the entity

sourceSystem
required
string

Source system providing the entity

primaryEntityID
required
string

Unique ID of the entity within the source system

primaryEntityData
required
object

Entity-type-specific attributes (validated against JSON schema)

primaryEntityExtraData
object

Optional flat key-value pairs of extra data. Must not contain nested objects.

Responses

Request samples

Content type
application/json
{
  • "businessUnit": "string",
  • "sourceSystem": "string",
  • "primaryEntityID": "string",
  • "primaryEntityData": { },
  • "primaryEntityExtraData": { }
}

Response samples

Content type
application/json
{
  • "version": 0
}

Update an existing primary entity

Synchronously updates a primary entity record. Only the businessUnit, sourceSystem, and primaryEntityID fields are required; all other primaryEntityData fields are optional and only provided fields will be updated. Validated against the entity type's JSON schema with relaxed required-field rules.

Authorizations:
NoneBearerAuth
path Parameters
primary_entity_type
required
string
Enum: "person" "organization" "account" "payment" "product"

The type of primary entity to operate on

Request Body schema: application/json
required

Primary entity update payload (partial update supported)

businessUnit
required
string
sourceSystem
required
string
primaryEntityID
required
string
primaryEntityData
object

Fields to update. Only provided fields are modified.

primaryEntityExtraData
object

Optional flat key-value pairs. Must not contain nested objects.

Responses

Request samples

Content type
application/json
{
  • "businessUnit": "string",
  • "sourceSystem": "string",
  • "primaryEntityID": "string",
  • "primaryEntityData": { },
  • "primaryEntityExtraData": { }
}

Response samples

Content type
application/json
{
  • "version": 0
}

Delete a primary entity

Synchronously deletes a primary entity identified by the combination of businessUnit, sourceSystem, and primaryEntityID query parameters. Exactly these three query parameters must be provided.

Authorizations:
NoneBearerAuth
path Parameters
primary_entity_type
required
string
Enum: "person" "organization" "account" "payment" "product"

The type of primary entity to operate on

query Parameters
businessUnit
required
string

Business unit that owns the entity

sourceSystem
required
string

Source system that owns the entity

primaryEntityID
required
string

The primary entity's unique identifier within the source system

Responses

Response samples

Content type
application/json
{
  • "version": 0
}

User-Defined Identifiers

Manage custom identifier records (e.g. tax IDs, passport numbers) attached to entities

Create a new user-defined identifier

Creates a new identifier record (e.g. passport number, tax ID) linked to an entity via reference_id. Required fields are reference_id, identifier_type, and identifier_value. The created_date and updated_date are set to the current UTC timestamp automatically. An audit log entry is created upon successful insertion.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Identifier record to create

reference_id
required
string

Entity reference ID to link the identifier to

identifier_type
required
integer

Lookup ID for the identifier type

identifier_value
required
string

The identifier value (e.g. passport number)

issuing_authority
string

Authority that issued the identifier

valid_from
string <date>

Start of validity period (YYYY-MM-DD)

valid_to
string <date>

End of validity period (YYYY-MM-DD)

created_by
integer

User ID of the creator

created_by_username
string

Username of the creator

updated_by
integer

User ID of the updater

updated_by_username
string

Username of the updater

Responses

Request samples

Content type
application/json
{
  • "reference_id": "string",
  • "identifier_type": 0,
  • "identifier_value": "string",
  • "issuing_authority": "string",
  • "valid_from": "2019-08-24",
  • "valid_to": "2019-08-24",
  • "created_by": 0,
  • "created_by_username": "string",
  • "updated_by": 0,
  • "updated_by_username": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "reference_id": "string",
  • "identifier_type": 0,
  • "identifier_value": "string",
  • "issuing_authority": "string",
  • "valid_from": "2019-08-24",
  • "valid_to": "2019-08-24",
  • "created_by": 0,
  • "created_by_username": "string",
  • "created_date": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "updated_by_username": "string",
  • "updated_date": "2019-08-24T14:15:22Z"
}

Search identifiers by reference IDs

Accepts an array of reference_id values and returns all identifier records grouped by reference_id. Reference IDs with no matching identifiers appear as empty arrays in the response. Note: this endpoint returns HTTP 200 for all outcomes including validation errors and auth failures.

Authorizations:
BearerAuth
Request Body schema: application/json
required

List of reference IDs to search

reference_ids
required
Array of strings non-empty

Array of entity reference IDs to look up

Responses

Request samples

Content type
application/json
{
  • "reference_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "property1": [
    ],
  • "property2": [
    ]
}

Update a user-defined identifier

Updates an existing identifier record. Only the fields provided in the request body are modified; omitted fields remain unchanged. Each changed field generates an individual audit log entry capturing the old and new values. The updated_date is set to the current UTC timestamp automatically.

Authorizations:
BearerAuth
path Parameters
identifier_id
required
integer

Auto-incremented ID of the identifier record

Request Body schema: application/json
required

Fields to update on the identifier record

identifier_type
integer

Updated identifier type lookup ID

identifier_value
string

Updated identifier value

issuing_authority
string

Updated issuing authority

valid_from
string <date>

Updated start of validity (YYYY-MM-DD)

valid_to
string <date>

Updated end of validity (YYYY-MM-DD)

updated_by
integer

User ID performing the update

updated_by_username
string

Username performing the update

Responses

Request samples

Content type
application/json
{
  • "identifier_type": 0,
  • "identifier_value": "string",
  • "issuing_authority": "string",
  • "valid_from": "2019-08-24",
  • "valid_to": "2019-08-24",
  • "updated_by": 0,
  • "updated_by_username": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "reference_id": "string",
  • "identifier_type": 0,
  • "identifier_value": "string",
  • "issuing_authority": "string",
  • "valid_from": "2019-08-24",
  • "valid_to": "2019-08-24",
  • "created_by": 0,
  • "created_by_username": "string",
  • "created_date": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "updated_by_username": "string",
  • "updated_date": "2019-08-24T14:15:22Z"
}

Delete a user-defined identifier

Permanently removes an identifier record. The updated_by and updated_by_username query parameters are used for audit logging purposes only. Note: this endpoint returns HTTP 200 for all outcomes including not-found and auth failures.

Authorizations:
BearerAuth
path Parameters
identifier_id
required
integer

Auto-incremented ID of the identifier record to delete

query Parameters
updated_by
string

User ID of the person performing the deletion (for audit trail)

updated_by_username
string

Username of the person performing the deletion (for audit trail)

Responses

Response samples

Content type
application/json
{
  • "message": "401 Unauthorized"
}

User-Defined Texts

Manage free-text comment records attached to entities

Create or update a user-defined text record

Creates a new free-text comment record linked to an entity via reference_id. If a record with the same reference_id already exists, it is updated (upsert behavior). Required fields are reference_id and comment. An audit log entry is created only for new records, not updates.

Authorizations:
BearerAuth
Request Body schema: application/json
required

Text record to create or update

reference_id
required
string

Entity reference ID. If a record with this ID already exists, it is updated.

comment
required
string

Free-text comment content

created_by
integer

User ID of the creator

created_by_username
string

Username of the creator

updated_by
integer

User ID of the updater

updated_by_username
string

Username of the updater

Responses

Request samples

Content type
application/json
{
  • "reference_id": "string",
  • "comment": "string",
  • "created_by": 0,
  • "created_by_username": "string",
  • "updated_by": 0,
  • "updated_by_username": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "reference_id": "string",
  • "comment": "string",
  • "created_by": 0,
  • "created_by_username": "string",
  • "created_date": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "updated_by_username": "string",
  • "updated_date": "2019-08-24T14:15:22Z"
}

Search text records by reference IDs

Accepts an array of reference_id values and returns the matching text records keyed by reference_id. Since text records have a unique reference_id, each key maps to a single object (or null if no record exists). Note: this endpoint returns HTTP 200 for all outcomes including validation errors and auth failures.

Authorizations:
BearerAuth
Request Body schema: application/json
required

List of reference IDs to search

reference_ids
required
Array of strings non-empty

Array of entity reference IDs to look up

Responses

Request samples

Content type
application/json
{
  • "reference_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Update a user-defined text record

Updates an existing text record. Only the fields provided in the request body are modified. Each changed field generates an individual audit log entry. The updated_date is set to the current UTC timestamp automatically.

Authorizations:
BearerAuth
path Parameters
text_id
required
integer

Auto-incremented ID of the text record

Request Body schema: application/json
required

Fields to update on the text record

reference_id
string

Updated entity reference ID

comment
string

Updated comment text

updated_by
integer

User ID performing the update

updated_by_username
string

Username performing the update

Responses

Request samples

Content type
application/json
{
  • "reference_id": "string",
  • "comment": "string",
  • "updated_by": 0,
  • "updated_by_username": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "reference_id": "string",
  • "comment": "string",
  • "created_by": 0,
  • "created_by_username": "string",
  • "created_date": "2019-08-24T14:15:22Z",
  • "updated_by": 0,
  • "updated_by_username": "string",
  • "updated_date": "2019-08-24T14:15:22Z"
}

Delete a user-defined text record

Permanently removes a text record. The updated_by and updated_by_username query parameters are used for audit logging purposes only. Note: this endpoint returns HTTP 200 for all outcomes including not-found and auth failures.

Authorizations:
BearerAuth
path Parameters
text_id
required
integer

Auto-incremented ID of the text record to delete

query Parameters
updated_by
string

User ID of the person performing the deletion (for audit trail)

updated_by_username
string

Username of the person performing the deletion (for audit trail)

Responses

Response samples

Content type
application/json
{
  • "message": "401 Unauthorized"
}

Composite Ingestion

Ingest a person together with their accounts and products in a single request

Ingest a person with their accounts and products in a single request

Composite ingestion endpoint that accepts person, account, and product entity data in a single payload, validates each entity type against its JSON schema, transforms and maps the data through the ETL pipeline, and uploads the result for asynchronous processing. Account entities are automatically annotated with reference_entity_type='person'. Supports upsert and overwrite modes.

Authorizations:
BearerAuth
query Parameters
is_mc_enable
string
Enum: "true" "false"

Enable or disable master-config chunking for the ingestion job

mc_chunk_size
integer <= 1000

Number of records per chunk when master-config chunking is enabled. Capped at 1000.

mode
string
Default: "upsert"
Enum: "upsert" "overwrite"

Ingestion mode. 'upsert' merges with existing data; 'overwrite' replaces existing records.

Request Body schema: application/json
required

Composite payload containing person, account, and product data keyed by entity type

batch_id
integer

Optional batch identifier. Defaults to 1 if not provided.

required
object

Entity data grouped by entity type name (e.g. 'person', 'account', 'product'). Each value is an array of entity records.

Responses

Request samples

Content type
application/json
{
  • "batch_id": 0,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  • "status": "started"
}

Internal Operations

Internal-only endpoints for bulk data retrieval, bulk deletion of related entities, and blob migration

Migrate blob files from temporary to permanent container

Lists all blobs in the temporary Azure Blob Storage container, downloads each one, uploads it to the permanent container, and then deletes the original from the temporary container. Returns a count of migrated files.

Authorizations:
NoneBearerAuth

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "string"
}

Retrieve primary entity records in bulk by internal IDs

Accepts a list of internal entity IDs and returns the matching records. Any IDs that do not correspond to existing records are returned in the not_found_ids array. This is an internal endpoint with no authentication requirement.

Authorizations:
NoneBearerAuth
Request Body schema: application/json
required

Entity type and list of internal IDs to look up

entity_type
required
string

The entity type to query (e.g. person, organization)

entity_ids
required
Array of strings

List of internal entity IDs to retrieve

Responses

Request samples

Content type
application/json
{
  • "entity_type": "string",
  • "entity_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "not_found_ids": [
    ]
}

Bulk delete related entities by hash values

Deletes multiple related entities in a single operation. The request body specifies the primary entity (via businessUnit, sourceSystem, primaryEntityID) and an array of relatedEntityHash values identifying the related entities to remove. The request body is validated against the related_bulk_delete JSON schema.

Authorizations:
NoneBearerAuth
query Parameters
entity_type
required
string
Enum: "organization" "person" "account" "payment" "product"

The primary entity type

Request Body schema: application/json
required

Identifies the primary entity and the related entity hashes to delete

businessUnit
required
string

Business unit owning the primary entity

sourceSystem
required
string

Source system owning the primary entity

primaryEntityID
required
string

Primary entity's identifier

relatedEntityHash
required
Array of strings

Array of hash values identifying related entities to delete

Responses

Request samples

Content type
application/json
{
  • "businessUnit": "string",
  • "sourceSystem": "string",
  • "primaryEntityID": "string",
  • "relatedEntityHash": [
    ]
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "868cf2e9-bd6d-4bac-96ba-2b08120d8cf9"
}

Overview

API for managing alerts:

  • Create/update — Bulk upsert alerts
  • List — Filter by entity, case, status, date range; paginated
  • Retrieve — Get alert by ID
  • Workflow — Update status and query workflow state
  • Cases — Associate alerts with cases

Health

Health Check

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "version": "v1",
  • "environment": "dev",
  • "uptime_seconds": 84523,
  • "started_at": "2026-02-26T08:00:00+00:00",
  • "checks": {
    }
}

Alerts

Create or update alerts in bulk

Authorizations:
APIKeyHeader
Request Body schema: application/json
required
Array ([ 1 .. 1000 ] items)
crime_indicator
required
string (Crime Indicator)

Category of crime detected

entity_id
required
string (Entity Id)

Unique identifier for the subject entity

Description (string) or Description (null) (Description)

Additional contextual text describing the alert

required
object (EvidenceRequest)

Structured evidence details

Dedup Key (string) or Dedup Key (null) (Dedup Key)

Unique identifier for semantic deduplication

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • 0
]

List alerts with filtering and pagination

Authorizations:
APIKeyHeader
query Parameters
Entity Id (string) or Entity Id (null) (Entity Id)
Case Id (string) or Case Id (null) (Case Id)
Status (string) or Status (null) (Status)
Start Date (string) or Start Date (null) (Start Date)
End Date (string) or End Date (null) (End Date)
include_evidence
boolean (Include Evidence)
Default: false
sort_by
string (AlertSortBy)
Default: "created_at"
Enum: "created_at" "id" "crime_indicator" "entity_id" "case_id"
sort_order
string (SortOrder)
Default: "desc"
Enum: "asc" "desc"
page
integer (Page) >= 1
Default: 1
page_size
integer (Page Size) [ 1 .. 100 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "total_results": 0,
  • "page": 0,
  • "page_size": 0,
  • "total_pages": 0,
  • "results": [
    ]
}

Get alert by ID

Authorizations:
APIKeyHeader
path Parameters
alert_id
required
integer (Alert Id)

Unique alert identifier

Responses

Response samples

Content type
application/json
{
  • "id": 123,
  • "status": "new",
  • "crime_indicator": "fraud",
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity_id": "ent_999",
  • "case_id": "case_abc",
  • "description": "string",
  • "evidence": {
    }
}

Update alert workflow status

Authorizations:
APIKeyHeader
path Parameters
alert_id
required
integer (Alert Id)

Unique alert identifier

Request Body schema: application/json
required
status_code
required
string (Status Code)

The target status task definition key from the Activiti workflow

Responses

Request samples

Content type
application/json
{
  • "status_code": "in_progress"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "status": "new",
  • "crime_indicator": "fraud",
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity_id": "ent_999",
  • "case_id": "case_abc",
  • "description": "string",
  • "evidence": {
    }
}

Get alert workflow status

Authorizations:
APIKeyHeader
path Parameters
alert_id
required
integer (Alert Id)

Unique alert identifier

Responses

Response samples

Content type
application/json
{
  • "alert_id": 0,
  • "status": "string",
  • "workflow_status": {
    },
  • "available_transitions": [
    ]
}

Overview

Case management is the basis for effective Enterprise Risk Management because it represents one key way to achieve a complete view of customer activity and to detect cross-channel fraud and money laundering. While point solutions can prove very effective in managing certain fraud and money laundering types, no combination of point solutions can bring all the data together in one place to afford a view of activity across the entire range of customer activity.

Case

Create Application

Create Case with given request in CaseCreate schema. Return 201

query Parameters
verify_entity
boolean (Verify Entity)
Default: true
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
name
required
string (Name)
priority
integer (Priority)
customer_internal_id
required
string (Customer Internal Id)
required
Type (integer) or Type (string) (Type)
risk
integer (Risk)
entity_id
string (Entity Id)
comment
string (Comment)
originator
required
string (Originator)
requested_date
string <date-time> (Requested Date)
due_date
string <date-time> (Due Date)
entity_url
string (Entity Url)
jurisdiction_code
required
string (Jurisdiction Code)
country
string (Country)
region_uplift
integer (Region Uplift)
products
Array of integers (Products)
entity_info
string (Entity Info)
address
string (Address)
type_of_relation
required
integer (Type Of Relation)
entity_name
required
string (Entity Name)
entity_type
required
any (src__case__enums__EntityType)
Enum: "organization" "personnel"

Enum representing the entity type.

alert_type
string (Alert Type)
alert_id
integer (Alert Id)
tenant
string (Tenant)
is_synthetic_entity_id
boolean (Is Synthetic Entity Id)
primaryEntityId
string (Primaryentityid)
primaryEntityName
string (Primaryentityname)
primaryEntityType
any (src__case__enums__EntityType)
Enum: "organization" "personnel"

Enum representing the entity type.

primaryEntityRelationshipType
string (Primaryentityrelationshiptype)
primaryEntityUrl
string (Primaryentityurl)
mainEntityUrl
string (Mainentityurl)
creation_reason_code
string (Creation Reason Code)
creation_reason_text
string (Creation Reason Text)
status
string (Status)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "priority": 0,
  • "customer_internal_id": "string",
  • "type": 0,
  • "risk": 0,
  • "entity_id": "string",
  • "comment": "string",
  • "originator": "string",
  • "requested_date": "2019-08-24T14:15:22Z",
  • "due_date": "2019-08-24T14:15:22Z",
  • "entity_url": "string",
  • "jurisdiction_code": "string",
  • "country": "string",
  • "region_uplift": 0,
  • "products": [
    ],
  • "entity_info": "string",
  • "address": "string",
  • "type_of_relation": 0,
  • "entity_name": "string",
  • "entity_type": "organization",
  • "alert_type": "string",
  • "alert_id": 0,
  • "tenant": "string",
  • "is_synthetic_entity_id": true,
  • "primaryEntityId": "string",
  • "primaryEntityName": "string",
  • "primaryEntityType": "organization",
  • "primaryEntityRelationshipType": "string",
  • "primaryEntityUrl": "string",
  • "mainEntityUrl": "string",
  • "creation_reason_code": "string",
  • "creation_reason_text": "string",
  • "status": "string"
}

Response samples

Content type
application/json
null

Update Entity Data

Update Entity Info for a giving case

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
name
required
string (Name)
entity_type
required
string (Entity Type)
case_id
required
integer (Case Id)
jurisdiction
string (Jurisdiction)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "entity_type": "string",
  • "case_id": 0,
  • "jurisdiction": "string"
}

Response samples

Content type
application/json
null

Case Report

Create Case with given request in CaseCreate schema. Return 201

query Parameters
case_id
required
integer (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Entity Data

Return Entity Info for a given case id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
name
required
string (Name)
case_id
required
integer (Case Id)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "case_id": 0
}

Response samples

Content type
application/json
null

Update Case

Update Case with given request in CaseUpdate schema. Return 200

query Parameters
is_automated_task
boolean (Is Automated Task)
Default: false
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
id
required
integer (Id)
name
string (Name)
type
integer (Type)
risk_score
integer (Risk Score)
products
Array of integers (Products)
due_date
string <date-time> (Due Date)
region_uplift
integer (Region Uplift)
assignee
integer (Assignee)
status
string (Status)
reason
Array of integers (Reason)
priority
integer (Priority)
remediation_date
string <date-time> (Remediation Date)
customer_internal_id
string (Customer Internal Id)
created_date
string <date-time> (Created Date)
business_priority
integer (Business Priority)
group_id
integer (Group Id)
status_key
string (Status Key)
risk
integer (Risk)
override_selection
string (Override Selection)
entity_id
string (Entity Id)
entity_url
string (Entity Url)
address
string (Address)
entity_info
string (Entity Info)
tenant
integer (Tenant)
select_entity_url
string (Select Entity Url)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "risk_score": 0,
  • "products": [
    ],
  • "due_date": "2019-08-24T14:15:22Z",
  • "region_uplift": 0,
  • "assignee": 0,
  • "status": "string",
  • "reason": [
    ],
  • "priority": 0,
  • "remediation_date": "2019-08-24T14:15:22Z",
  • "customer_internal_id": "string",
  • "created_date": "2019-08-24T14:15:22Z",
  • "business_priority": 0,
  • "group_id": 0,
  • "status_key": "string",
  • "risk": 0,
  • "override_selection": "string",
  • "entity_id": "string",
  • "entity_url": "string",
  • "address": "string",
  • "entity_info": "string",
  • "tenant": 0,
  • "select_entity_url": "string"
}

Response samples

Content type
application/json
null

Update Case

Update Case with given request in CaseUpdate schema. Return 200

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
integer (Case Id)
entity_id
string (Entity Id)
risk_score
number (Risk Score)
risk_flags
string (Risk Flags)
risk_factors
string (Risk Factors)
risk_level
string (Risk Level)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "entity_id": "string",
  • "risk_score": 0,
  • "risk_flags": "string",
  • "risk_factors": "string",
  • "risk_level": "string"
}

Response samples

Content type
application/json
null

Update Case

Update Case with given request in CaseUpdate schema. Return 200

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
integer (Case Id)
entity_id
string (Entity Id)
risk_score
number (Risk Score)
risk_flags
string (Risk Flags)
risk_factors
string (Risk Factors)
risk_level
string (Risk Level)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "entity_id": "string",
  • "risk_score": 0,
  • "risk_flags": "string",
  • "risk_factors": "string",
  • "risk_level": "string"
}

Response samples

Content type
application/json
null

Bulk Cases Assignee

Update Cases with given Assignee. Return 200

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
cases_id_list
required
Array of integers (Cases Id List)
assignee
required
integer (Assignee)

Responses

Request samples

Content type
application/json
{
  • "cases_id_list": [
    ],
  • "assignee": 0
}

Response samples

Content type
application/json
null

Get Cases List

Get cases list with filtration, you can find schemas in separate file case_list

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
is_open
boolean (Is Open)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "is_open": true
}

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Get Case List

Get case list with filtration without external services data. mainly for orchestration

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
is_open
boolean (Is Open)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "is_open": true
}

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Get By Id

Get one case by id

path Parameters
id_
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": {
    },
  • "originator": "string",
  • "assignee": {
    },
  • "status": {
    },
  • "risk_indicator": {
    },
  • "risk_override": {
    },
  • "risk_override_reason": "string",
  • "comment_count": 0,
  • "remediation_date": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "priority": {
    },
  • "created_on": "2019-08-24T14:15:22Z",
  • "jurisdiction_code": "string",
  • "modified_on": "2019-08-24T14:15:22Z",
  • "modified_by": 0,
  • "modified_person": "string",
  • "products": [
    ],
  • "region_uplift": {
    },
  • "status_reasons": [
    ],
  • "entity": {
    },
  • "requested_date": "2019-08-24T14:15:22Z",
  • "customer_internal_id": "string",
  • "status_reason_history": [
    ],
  • "previous_status_reasons": [
    ],
  • "business_priority": {
    },
  • "due_date": "2019-08-24T14:15:22Z",
  • "tenant": {
    },
  • "risk_factors": { },
  • "risk_score": 0,
  • "risk_flags": null,
  • "last_status_update": "2019-08-24T14:15:22Z",
  • "creation_reason": "string",
  • "aggregate_alert_count": null,
  • "overdue_days": 0,
  • "entity_id": "string",
  • "alerts": [
    ]
}

Get Assignee By Case Id

Get assignee user_id for a case by case ID

path Parameters
id_
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get List Of Cases Csv

Export cases using the same logic as caseList but include extra fields for export.

query Parameters
type
string (Type)
Default: "csv"
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Get Case Statistics

Update Case with given request in CaseCreate schema. Return 201

query Parameters
type
string (Type)
ranges
string (Ranges)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Validate Batch Case File

Validate file's extension and data inside

header Parameters
x-auth-token
required
string (X-Auth-Token)
content-length
string (Content-Length)
Request Body schema: multipart/form-data
required
file
required
string <binary> (File)

Responses

Response samples

Content type
application/json
null

Create Batch

Creates cases in bulk

:returns: Identifier to track the progress

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: multipart/form-data
required
file
required
string <binary> (File)

Responses

Response samples

Content type
application/json
"string"

Get Related Cases By Case Id

Get all related cases by case id

query Parameters
case_id
required
integer (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Search Cases

Get all related cases by case id, name and internal ID

query Parameters
case_id
required
integer (Case Id)
search_text
required
string (Search Text)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Add Cases

Save related cases

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)
related_case_id
required
Array of integers (Related Case Id)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "related_case_id": [
    ]
}

Response samples

Content type
application/json
null

Remove Related Case

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
cases_id
required
integer (Cases Id)
related_case_id
required
integer (Related Case Id)

Responses

Request samples

Content type
application/json
{
  • "cases_id": 0,
  • "related_case_id": 0
}

Response samples

Content type
application/json
null

Export Related Cases By Case Id

Exports all related cases by case ID. The cases returned in this method are the same as in /getRelatedCasesByCaseId.

query Parameters
case_id
required
integer (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Delete Batch Job By Uid

Get one case by id

path Parameters
uid_
required
string (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Delete Case By Id

path Parameters
id
required
integer (Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Delete Case By Id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
ids
required
Array of integers (Ids)

Responses

Request samples

Content type
application/json
{
  • "ids": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get User Group

Load the user groups, Return list of groupId and names

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Users By Group

return the users that assigned to specific group

path Parameters
group_id
required
integer (group_id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Groups By User

return the group that assigned for user

path Parameters
user_id
required
integer (user_id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Tenant Info By Tenant Id

get the all info about tenant from cache by given in request tenant_id

path Parameters
tenant_id
required
integer (tenant_id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Aggregated Case Status

get aggregated case status based on dates

query Parameters
date_from
string <date> (Date From)
date_to
string <date> (Date To)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Aggregated Cases

Get aggregated case counts including open cases, high risk cases, open onboarding cases, and open transaction monitoring cases.

query Parameters
toggle_mode
required
string (ToggleModeEnum)
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "open_cases": 0,
  • "high_risk_cases": 0,
  • "open_onboarding_cases": 0,
  • "open_transaction_monitoring_cases": 0
}

Get Contacts

Returns the list of contacts of the main entity of the case

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
case_id
required
integer (Case Id)
is_export
boolean (Is Export)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "case_id": 0,
  • "is_export": true,
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Make Contacts Relevant

Make contacts relevant/irrelevant for given case

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)
contacts
required
Array of strings (Contacts)
relevant
required
boolean (Relevant)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "contacts": [
    ],
  • "relevant": true
}

Response samples

Content type
application/json
null

Make Case Copy

query Parameters
case_id
required
integer (Case Id)
case_type
string (Case Type)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Case Copy Post

query Parameters
is_automated_task
boolean (Is Automated Task)
Default: false
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Cases By Status

Returns the list of case ids whose case status is in particular status for x number of days

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
case_status
Array of strings (Case Status)
days
integer (Days)
case_status_tobe_update
required
string (Case Status Tobe Update)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "case_status": [
    ],
  • "days": 0,
  • "case_status_tobe_update": "string"
}

Response samples

Content type
application/json
null

Get Open Cases By Updated On

Get all open cases sorted by updated_on

query Parameters
page
integer (Page) >= 1
Default: 1
page_size
integer (Page Size) [ 1 .. 100 ]
Default: 10
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Update Case Status

Update the case status

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
cases_id_list
required
Array of integers (Cases Id List)
case_status
required
string (Case Status)

Responses

Request samples

Content type
application/json
{
  • "cases_id_list": [
    ],
  • "case_status": "string"
}

Response samples

Content type
application/json
null

Get Allowed Types And Tenants

Provide info about allowed case types and tenants for current user

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Events Lookup

Get events lookup

query Parameters
cursor_id
string (Cursor Id)
max_page_size
integer (Max Page Size)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
required
object (Date)
id
string (Id)
object (FilterModel)
object (FilterModel)
object (FilterModel)
transaction_ip_address
string (Transaction Ip Address)
object (TransactionDescription)
object (FilterModel)
object (ValueModel)
object (FilterModel)
object (FilterModel)
object (FilterModel)
object (ValueModel)
object (TransactionDescription)
customer_id
string (Customer Id)
account_type
string (Account Type)
object (FilterModel)
counterparty_account_number
string (Counterparty Account Number)

Responses

Request samples

Content type
application/json
{
  • "transaction_date": {
    },
  • "id": "string",
  • "transaction_type": {
    },
  • "debit_credit_indicator": {
    },
  • "transaction_country": {
    },
  • "transaction_ip_address": "string",
  • "counterparty_name": {
    },
  • "counterparty_country": {
    },
  • "origination_transaction_amount": {
    },
  • "transfer_method": {
    },
  • "transaction_channel": {
    },
  • "from_transaction_currency": {
    },
  • "volume": {
    },
  • "transaction_description": {
    },
  • "customer_id": "string",
  • "account_type": "string",
  • "product_reference": {
    },
  • "counterparty_account_number": "string"
}

Response samples

Content type
application/json
null

Get Events Lookup Csv

Get events lookup csv

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
required
object (Date)
id
string (Id)
object (FilterModel)
object (FilterModel)
object (FilterModel)
transaction_ip_address
string (Transaction Ip Address)
object (TransactionDescription)
object (FilterModel)
object (ValueModel)
object (FilterModel)
object (FilterModel)
object (FilterModel)
object (ValueModel)
object (TransactionDescription)
customer_id
string (Customer Id)
account_type
string (Account Type)
object (FilterModel)
counterparty_account_number
string (Counterparty Account Number)

Responses

Request samples

Content type
application/json
{
  • "transaction_date": {
    },
  • "id": "string",
  • "transaction_type": {
    },
  • "debit_credit_indicator": {
    },
  • "transaction_country": {
    },
  • "transaction_ip_address": "string",
  • "counterparty_name": {
    },
  • "counterparty_country": {
    },
  • "origination_transaction_amount": {
    },
  • "transfer_method": {
    },
  • "transaction_channel": {
    },
  • "from_transaction_currency": {
    },
  • "volume": {
    },
  • "transaction_description": {
    },
  • "customer_id": "string",
  • "account_type": "string",
  • "product_reference": {
    },
  • "counterparty_account_number": "string"
}

Response samples

Content type
application/json
null

Update Next Remediation Date By Case Id

path Parameters
case_id
required
string (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Update Next Remediation Date

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0
}

Response samples

Content type
application/json
null

Get Open Vs Closed Timeline

Retrieve timeline data for open vs closed cases for a specific time period.

Query Parameters: period: Time period - 'last_7_days', 'last_30_days' (default), 'last_6_months', or 'last_year' toggle_mode: Toggle mode - 'my_cases' for user's cases, 'all_cases' for all cases

Returns aggregated counts of open and closed cases for the requested period:

  • last_7_days: 7 daily columns
  • last_30_days: 30 daily columns (default)
  • last_6_months: 6 monthly columns
  • last_year: 12 monthly columns

Response includes timeline data and accumulated totals for visualization.

query Parameters
period
string (PeriodEnum)
Default: "last_30_days"
Enum: "last_7_days" "last_30_days" "last_6_months" "last_year"

Time period to retrieve

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "timeline": [
    ],
  • "total": {
    }
}

Get Risk Trend

Retrieve risk trend data (average risk) for cases for a specific time period.

Query Parameters: period: Time period - 'last_7_days', 'last_30_days' (default), 'last_6_months', or 'last_year' toggle_mode: Toggle mode - 'my_cases' for user's cases, 'all_cases' for all cases

Returns average risk values for cases created in the requested period:

  • last_7_days: 7 daily columns
  • last_30_days: 30 daily columns (default)
  • last_6_months: 6 monthly columns
  • last_year: 12 monthly columns

Risk values are mapped as: Low=30, Medium=40, High=50 Response includes timeline data with average risk per period and total average risk.

query Parameters
period
string (PeriodEnum)
Default: "last_30_days"
Enum: "last_7_days" "last_30_days" "last_6_months" "last_year"

Time period to retrieve

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "timeline": [
    ],
  • "total_average_risk": 0
}

Get Latest Case Status Updates

Get latest 10 case status update events. Returns events with old_value (previous case status) and new_value (current case status).

Returns: TopEventsResponseSchema: List of top event schemas for case status updates

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "events": [
    ]
}

Update Case Entity Url

Update entity URL for a given case. Return 200

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)
entity_url
required
string (Entity Url)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "entity_url": "string"
}

Response samples

Content type
application/json
null

Open Cases Risk Type

Retrieve open cases risk distribution (overall + by alert type) for a specific time period.

Query Parameters: period: Time period - 'last_7_days', 'last_30_days' (default), 'last_6_months', or 'last_year' toggle_mode: Toggle mode - 'my_cases' for user's cases, 'all_cases' for all cases

Returns percentage per risk for all open cases and for each alert type returns risk percentages (LOW/MEDIUM/HIGH) for the requested period:

  • last_7_days: 7 daily columns
  • last_30_days: 30 daily columns (default)
  • last_6_months: 6 monthly columns
  • last_year: 12 monthly columns

Response includes percentage per risk and risk percentage per alert type.

query Parameters
period
string (PeriodEnum)
Default: "last_30_days"
Enum: "last_7_days" "last_30_days" "last_6_months" "last_year"

Time period to retrieve

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all open cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "cases_per_risk": {
    },
  • "cases_per_alerts_and_risk": {
    }
}

Get Cases Avg Lifetime

Return a list of cases by case type and average lifetime of case by days from case creation to closed status

query Parameters
toggle_mode
required
string (ToggleModeEnum)
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Status Cases By Pending

Get status cases by pending widget data with metrics per open status.

query Parameters
toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "all_cases" "my_cases"

Toggle mode: 'my_cases' for user's cases, 'all_cases' for all cases

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

case

Create Case

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
name
required
string (Name)
priority
string (Priority)
type
required
string (Type)
risk
string (Risk)
comment
string (Comment)
originator_type
required
string (Originator Type)
originator_id
required
string (Originator Id)
region_uplift
string (Region Uplift)
products
Array of strings (Products)
case_reference_identifier
required
string (Case Reference Identifier)
requested_date
string <date-time> (Requested Date)
tenant
string (Tenant)
creation_reason_code
string (Creation Reason Code)
creation_reason_text
string (Creation Reason Text)
entity_name
string (Entity Name)
entity_type
string (Entity Type)
entity_url
string (Entity Url)
entity_id
string (Entity Id)
jurisdiction_code
string (Jurisdiction Code)
related_case_ids
Array of strings (Related Case Ids)
entity_relation_type_code
string (Entity Relation Type Code)
due_date
string <date-time> (Due Date)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "priority": "string",
  • "type": "string",
  • "risk": "string",
  • "comment": "string",
  • "originator_type": "string",
  • "originator_id": "string",
  • "region_uplift": "string",
  • "products": [
    ],
  • "case_reference_identifier": "string",
  • "requested_date": "2019-08-24T14:15:22Z",
  • "tenant": "string",
  • "creation_reason_code": "string",
  • "creation_reason_text": "string",
  • "entity_name": "string",
  • "entity_type": "string",
  • "entity_url": "string",
  • "entity_id": "string",
  • "jurisdiction_code": "string",
  • "related_case_ids": [
    ],
  • "entity_relation_type_code": "string",
  • "due_date": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "uuid": "string"
}

Update Case

path Parameters
case_uuid
required
string (Case Uuid)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
name
string (Name)
type
string (Type)
assignee
string (Assignee)
business_priority
string (Business Priority)
case_reference_identifier
string (Case Reference Identifier)
due_date
string (Due Date)
priority
string (Priority)
products
Array of strings (Products)
region_uplift
string (Region Uplift)
remediation_date
string (Remediation Date)
status
string (Status)
status_reason
Array of strings (Status Reason)
user_group
string (User Group)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "string",
  • "assignee": "string",
  • "business_priority": "string",
  • "case_reference_identifier": "string",
  • "due_date": "string",
  • "priority": "string",
  • "products": [
    ],
  • "region_uplift": "string",
  • "remediation_date": "string",
  • "status": "string",
  • "status_reason": [
    ],
  • "user_group": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

Get Related Entities

Gets the entities related to a case, filtered using the criteria provided in the request object.

query Parameters
case_id
required
integer (Case Id)
alert_type
required
string (Alert Type)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "pagination_information": {
    },
  • "filter": { }
}

Export Related Entities

Exports the entities related to a case to CSV format. The entities returned are the same as the ones in /getRelatedEntities.

query Parameters
case_id
required
integer (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Add Related Entity

Adds a new related entity for a case if it wasn't already added.

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
entity_id
string (Entity Id)
entity_url
string (Entity Url)
entity_name
string (Entity Name)
entity_info
string (Entity Info)
select_entity_url
string (Select Entity Url)
entity_type
any (src__case__enums__EntityType)
Enum: "organization" "personnel"

Enum representing the entity type.

relation_type
integer (Relation Type)
country
string (Country)
address
string (Address)
Account Number (integer) or Account Number (string) (Account Number)
case_id
required
integer (Case Id)
country_name
string (Country Name)

Responses

Request samples

Content type
application/json
{
  • "entity_id": "string",
  • "entity_url": "string",
  • "entity_name": "string",
  • "entity_info": "string",
  • "select_entity_url": "string",
  • "entity_type": "organization",
  • "relation_type": 0,
  • "country": "string",
  • "address": "string",
  • "account_number": 0,
  • "case_id": 0,
  • "country_name": "string"
}

Response samples

Content type
application/json
Example
{
  • "entity_id": "string",
  • "entity_url": "string",
  • "entity_name": "string",
  • "entity_info": "string",
  • "select_entity_url": "string",
  • "entity_type": "organization",
  • "relation_type": 0,
  • "country": "string",
  • "address": "string",
  • "account_number": 0,
  • "case_id": 0,
  • "country_name": "string",
  • "id": 0
}

Get Case Statuses By Entity Ids

Get case status information for multiple entities. Returns the count of open and closed cases for each entity.

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
entity_ids
required
Array of strings (Entity Ids)

Responses

Request samples

Content type
application/json
{
  • "entity_ids": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Case Risk

Get Case Risks By Case Id

Get one CaseRisk instance by case_id

path Parameters
case_id
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Save Case Risk By Case Id

Create one CaseRisk instance by case_id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)
reason
required
string (Reason)
new_risk
required
integer (New Risk)
old_risk
required
integer (Old Risk)
override_risk
required
string (Override Risk)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "reason": "string",
  • "new_risk": 0,
  • "old_risk": 0,
  • "override_risk": "string"
}

Response samples

Content type
application/json
null

Update Case Risk Reason By Id

Update field reason in CaseRisk

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_risk_id
required
integer (Case Risk Id)
reason
required
string (Reason)

Responses

Request samples

Content type
application/json
{
  • "case_risk_id": 0,
  • "reason": "string"
}

Response samples

Content type
application/json
null

Delete Case Risk By Id

Delete CaseRisk instance by given id

query Parameters
risk_id
required
integer (Risk Id)
case_id
required
integer (Case Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Case Alerts

Get Case Alerts By Case Id

Get list of case screening alerts by case id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
Array of objects (Alert)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "alert": [
    ]
}

Response samples

Content type
application/json
null

Export Case Alerts By Case Id

Get list of case screening alerts by case id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
Array of objects (Alert)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "alert": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Get Alert By Id

Get alert by alert id

query Parameters
alert_id
required
integer (Alert Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Cases By Alert Ids

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
alert_ids
required
Array of integers (Alert Ids)

Responses

Request samples

Content type
application/json
{
  • "alert_ids": [
    ]
}

Response samples

Content type
application/json
null

Export Associated Records

Get list of case screening alerts by case id

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
Array of objects (Alert)
language
string (Language)
file_name
string (File Name)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "alert": [
    ],
  • "language": "string",
  • "file_name": "string"
}

Response samples

Content type
application/json
null

Get Alerts By Case Id

Get list of case screening alerts by case id

path Parameters
id_
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
filter_model
string (Filter Model)
order_by
string (Order By)
object (PaginationRequest)
order_in
string (Order In)
columns
Array of strings (Columns)
Array of objects (Alert)

Responses

Request samples

Content type
application/json
{
  • "filter_model": "string",
  • "order_by": "string",
  • "pagination_information": {
    },
  • "order_in": "string",
  • "columns": [
    ],
  • "alert": [
    ]
}

Response samples

Content type
application/json
null

Case Comments

Add Comment

Create Case Comment with given request. Return 201

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
case_id
required
integer (Case Id)
comment
required
string (Comment)
created_date
required
string <date-time> (Created Date)

Responses

Request samples

Content type
application/json
{
  • "case_id": 0,
  • "comment": "string",
  • "created_date": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
null

Edit Comment

Update Case Comment with given request.

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
comment_id
required
integer (Comment Id)
comment
required
string (Comment)
updated_date
required
string <date-time> (Updated Date)

Responses

Request samples

Content type
application/json
{
  • "comment_id": 0,
  • "comment": "string",
  • "updated_date": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
null

Delete Comment

Delete Case Comment with given id if exists.

query Parameters
comment_id
required
integer (Comment Id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Comments By Case Id

Get comments by case id

path Parameters
case_id
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
null

Get Status Timeline

Get the status-change timeline for a case.

Returns a list of status periods in descending order, each with the status name, reason, start/end dates, who set it, and the IDs of comments created during that period.

path Parameters
case_id
required
integer (Case id)
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

widget

Get Widget Master Data

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "series": {
    },
  • "widget_entities": [
    ],
  • "titles": {
    }
}

Create Or Update Widget Instance

create or update widget instance

header Parameters
x-auth-token
required
string (X-Auth-Token)
Request Body schema: application/json
required
widget_id
integer (Widget Id)
user_settings_json
required
string (User Settings Json)
dashboard_id
integer (Dashboard Id)

Responses

Request samples

Content type
application/json
{
  • "widget_id": 0,
  • "user_settings_json": "string",
  • "dashboard_id": 0
}

Response samples

Content type
application/json
{
  • "widget_id": 0,
  • "user_settings_json": "string",
  • "comment": "string",
  • "data": { }
}

Get Widget Instance Of User

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete Widget Instance By Id

query Parameters
widget_id
required
integer (Widget Id)
delete
boolean (Delete)
Default: true
header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
true

Case Statistics

Get Speed Quality Quadrant

Get Speed vs Quality Quadrant data for analysts.

Returns analyst performance metrics categorized into 4 quadrants:

  • Fast & Accurate (ideal)
  • Slow but Accurate
  • Fast but High FP (risk!)
  • Slow & High FP

Each analyst entry includes:

  • Speed: average handling time from assignment to final status.
  • Second-tier accuracy: FP/TP based on whether a different analyst subsequently overrides the status set by this analyst.
query Parameters
time_window
string (TimeWindowEnum)
Default: "monthly"
Enum: "weekly" "monthly" "quarterly" "all_time"

Time filter: weekly, monthly, quarterly, or all_time

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "my_cases" "all_cases"

Filter: 'my_cases' for user's data only, 'all_cases' for all analysts

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "entries": [ ],
  • "benchmark": {
    },
  • "quadrant_counts": {
    }
}

Get Decision Quality Breakdown

Get Decision Quality Breakdown per case type (KYC, TM, Screening). For each analyst:

  • tp/fp: True Positive/False Positive (closure-based).
  • escalated: This analyst reassigned to another analyst (assignee changes).
  • total: Total closed cases assigned.
  • counts and percentages: Counts and percentages of tp/fp, escalated, and total.
query Parameters
time_window
string (TimeWindowEnum)
Default: "monthly"
Enum: "weekly" "monthly" "quarterly" "all_time"

Time filter: weekly, monthly, quarterly, or all_time

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "my_cases" "all_cases"

Filter: 'my_cases' for user's data only, 'all_cases' for all analysts

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "screening_by_case_type": [ ]
}

Get Analysis Score Overview

Get Analysis Score Overview for analysts.

Returns per-user metrics including:

  • avg_handling_time: average assignment stint duration (days)
  • avg_status_time: average status-period duration (days)
  • percentage_false_positive: FP rate (0-100%)
  • escalation_rate: escalation rate (0-100%)
  • average_risk_score: average risk score

Supports time_window filtering and toggle_mode (my_cases vs all_cases).

query Parameters
time_window
string (TimeWindowEnum)
Default: "monthly"
Enum: "weekly" "monthly" "quarterly" "all_time"

Time filter: weekly, monthly, quarterly, or all_time

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "my_cases" "all_cases"

Filter: 'my_cases' for user's data only, 'all_cases' for all analysts

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "users": [ ]
}

Get Decision Quality Metrics

Get Decision Quality Metrics for analysts.

Detects over-aggressive or under-reporting behaviour by measuring:

  • FP / TP rates per analyst (closure-based).
  • Team benchmark aggregate FP% and TP%.
  • Deviation from team benchmark (signed).
  • Change after escalation percentage of escalated cases changed to final status by the receiving analyst.
  • Deviation flag HIGH when FP deviation and escalation change both exceed configurable thresholds.
query Parameters
time_window
string (TimeWindowEnum)
Default: "monthly"
Enum: "weekly" "monthly" "quarterly" "all_time"

Time filter: weekly, monthly, quarterly, or all_time

toggle_mode
string (ToggleModeEnum)
Default: "all_cases"
Enum: "my_cases" "all_cases"

Filter: 'my_cases' for user's data only, 'all_cases' for all analysts

header Parameters
x-auth-token
required
string (X-Auth-Token)

Responses

Response samples

Content type
application/json
{
  • "entries": [ ],
  • "team_benchmark": {
    }
}