Use the Transaction and Activity Monitoring API
Start sending transaction and activity details to FrankieOne by calling Evaluate an activity endpointEvaluate activity request
Evaluate activity request
High-level process flow
Activity evaluation
Activity evaluation
- Customer sends transaction / activity data to FrankieOne.
- FrankieOne will pass the activity data to the service provider
- Frankie checks the entity data store and enrich the customer request with additional data
- Frankie enriches the activity data to the service provider, handling mapping between models
- Vendor assesses the data provided against Customer rules to make a point-in-time evaluation of the activity risk.
- All risks, rules checked and additional evaluation data are returned to FrankieOne
- FrankieOne maps vendor data back to common model
- FrankieOne will persist the resulting evaluation information
- Create the activity record
- Create the device data retrieved from the provider
- Store the evaluation data (risk, signals, etc.)
- Return the evaluation data to the customer for a final risk-based decisioning
- Create the device data retrieved from the provider
- Asynchronous Enhanced Processing – Push an activity event to the internal message queue for enhanced processing.
- The event message is consumed by the internal activity assessment service.
- If the activity does not meet the risk criteria to trigger an alert or further assessment, then no further action is taken.
- If the activity does meet the risk criteria for an alert, it will retrieve the activity data, and create an assessment result which represents the alert details.
- Once done, it will push a message into the workflow engine message queue to trigger relevant monitoring workflows.
- Inside the monitoring workflow, the Activity Monitor Step will consume relevant results to build up a view of alerts that should be actioned.
- This workflow will also generate risk assessments that combine risk factors across the onboarding and monitoring life cycle phases of the relevant entity.
- Create the activity record
The session object
Provides a token to link together activities within the same end-user session. This is important for identifying grouped activities and contributes to risk calculations by allowing FrankieOne to analyze a sequence of user actions as a single, coherent session. For example, all actions from a user login to a significant transaction can be linked together.
Passing an existing session token from your system will make sure FrankieOne’s activity linking aligns cleanly with your own session model, including longer‑running sessions.
The party object
Identifies the individual or organization performing the activity. It’s essential for linking the activity to an existing entity in FrankieOne. Key details include:
entityId: The unique identifier for the individual or organization in FrankieOne.entityType: Specifies whether the party is an INDIVIDUAL or ORGANIZATION.
Overriding party details for an activity
When you evaluate an activity, you can pass party details — such as address, phone number, or email address — directly in the request payload. These values override the data stored on the entity for the purposes of that evaluation only. The entity’s stored data is not modified. This is useful when the activity involves data that is not yet recorded on the entity, or when the data at the time of the activity differs from the entity’s current state. Additional details likeaddresses, emailAddresses, and phoneNumbershelp to give context to the party’s profile for more accurate risk assessment.
Below are the supported override fields in the party object:
| Field | Description |
|---|---|
addresses | One or more address objects. Reference an existing address by addressId, or provide a new address without an ID. |
phoneNumbers | One or more phone number objects. |
emailAddresses | One or more email address objects. |
name | The individual’s name. Overrides the entity’s stored primary name for this evaluation. |
dateOfBirth | The individual’s date of birth. |
registeredName | The organization’s registered name (organization entities only). |
- The party details returned by Get Activity and Get Activities reflect the data that was present at the time of evaluation, not the current state of the entity.
- If the entity’s data changes after an activity is evaluated, the activity record retains the snapshot as it was at evaluation time.
- Party details are stored as encrypted data within the activity record.
The details object
Contains specific information about the activity being evaluated.
activityType: Categorizes the activity broadly (for example,TRANSACTIONorEVENT).transactionIdentifier- This field in the payload is only present onTRANSACTIONactivityTypes. Each evaluation requires this to be unique.eventType: Provides a more granular classification of the activity (such asLOGIN,WITHDRAWAL,DEPOSIT, orPASSWORD_CHANGE). This is critical for triggering specific rules relevant to the event.activityAt: Timestamp of the activity.customAttributes: Allows you to pass any additional context-specific data that might be relevant for your custom rules.customAttributes.partyAccountis an optional string that identifies which account the activity relates to.- Look for a matching
individual.externalReferenceentry wheretype = "ACCOUNT"and thevalueequalspartyAccount. - If exactly one match is found, FrankieOne enriches the evaluation with that account’s metadata, using keys prefixed with
partyAccount(for example,partyAccountStatus,partyAccountProductType). - If no matching
individual.externalReferenceentry is found, no enrichment is applied and the evaluation continues normally. - If more than one
ACCOUNTmatch is found, the evaluation returns an error. - Note: Existing custom attributes are never overwritten by enrichment.
- Look for a matching
externalReference: Allows you to add any other identifiers for the individual or organization from your own system or a third-party system. Some external references are forwarded to the provider for enrichment. These are:"type": "CUSTOMER","name": "CUSTOMER-REFERENCE"- This is an optional external reference. This is treated as an identifier from your own system.- When
type: CUSTOMERandname: CUSTOMER-REFERENCEare included in theexternalReferencearray of the activity payload, FrankieOne uses that value during evaluation. - If not included in the activity payload, FrankieOne falls back to the matching external reference stored on the individual or organization entity (where
type = CUSTOMERandname = CUSTOMER-REFERENCE).
- When
Setting a custom transaction display name
You can set an optionaltransactionLabel on a transaction to give it a meaningful display name. By default, the display name is inferred from currencyType and transactionType (for example, FIAT WITHDRAWAL). When a label is provided, it replaces this default in the FrankieOne Portal and in downstream fraud analysis.
| Field | Type | Required | Max length |
|---|---|---|---|
transactionLabel | string | No | 128 characters |
currencyType and transactionType.
These objects are further detailed in the API documentation.