Implementation Guide - Transaction and Activity monitoring
Integrate FrankieOne’s fraud signals and risk-based decisioning into your monitoring flow with our Transaction Monitoring API
Prerequisites
Access to the APIs and proper authentication
Your Customer Success Manager will provide you with a starter pack containing everything you need for each environment. You should have the following:
Test your connection
The easiest way to verify that your credentials and connection are working is to call our simple health check endpoint: /ruok. This endpoint doesn’t require a request body and is used purely to confirm successful authentication.
Request - Health check
Response
If you receive an error, double-check that your API key and Customer ID are correct and that you are using the correct base URL for the environment.
Workflow configured for transaction and activity monitoring
Confirm your workflow setup
Before you can start verifying customers, your account needs to be configured with at least one workflow and one service profile. Your Customer Success Manager typically sets these up for you.
You can confirm your setup by calling the GET /v2/workflows endpoint. This will list all the executable monitoring workflows available to you. For Transaction and Activity Monitoring, it is critical to have only one workflow with a lifecyclePhase: MONITORING and monitoringTypes: [“ACTIVITY”]
Request - Get workflows
You should receive a 200 OK response with a workflows array. If the array is empty, please contact your Customer Success Manager to get your workflows published.
Response - Get workflows
Risk rules set up in the rule engine
Account configuration required
Device and behavioural intelligence must be configured for your account by FrankieOne. This includes advanced features like detecting multiple users linked to one device, IP address analysis, phone or mouse movement patterns, high-risk information entry (e.g. excessive copying and pasting), and remote software detection.
Please speak with your Customer Success Manager if you are interested in enabling or adjusting this feature.
Next Steps
You’ve successfully authenticated and confirmed your setup. Now you’re ready to start building. Follow our implementation guides for common use cases.
Integration Overview
Getting started with Transaction and Activity Monitoring
1: Use the Transaction and Activity Monitoring API
Start sending transaction and activity details to FrankieOne by calling Evaluate an activity endpoint
Evaluate activity request
High-level process flow
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
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.
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. The session token may be provided to tie in the activity to a longer running overall session. There are a few options for session tokens, including generating one via Create Individual Session or passing an existing one from your system.
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.
Additional details like addresses, emailAddresses, phoneNumbers, and externalReference (e.g. customer ID in your core banking system) help to give context the party’s profile for more accurate risk assessment.
The details object
Contains specific information about the activity being evaluated.
-
activityType: Categorizes the activity broadly (e.g. TRANSACTION, EVENT). -
eventType: Provides a more granular classification of the activity (e.g.LOGIN,WITHDRAWAL,DEPOSIT,PASSWORD_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.
These objects are further detailed in the API documentation.
2: Review alerts
Once an activity has been deemed to be alerting, relevant workflows will be triggered and the alerts will be consumed and presented in the workflowResult object. This object is the key to understanding the outcome, the reason for any alerts, and the granular details of the checks performed. Operators will typically review these alerts via the Portal, where issues are flagged for manual review.
via API
Get the result of the evaluation by calling the Get Workflow Execution Results endpoint. The workflowResult object in the response will contain the comprehensive details needed to interpret the outcome.
Get workflow execution result request
via Portal
To learn how Fraud and Compliance Officers can review alerts generated via Portal here, review Entity View.
Interpreting the results
The workflowResult object provides a structured, top-down view of the evaluation. Here’s how to interpret the key sections, focusing on Transaction and Activity Monitoring:
Overall outcome (workflowResult top-level fields)
Issues
This array will contain a list of problems that may require manual review. If the status is REVIEW, this array will provide the specific reasons why the activity needs further investigation.
For Transaction and Activity Monitoring, this might include flags of different types for unusual transaction patterns, device anomalies, or AML concerns with issueCategory: ACTIVITY. The Portal will display these as “Activity” as seen in the image below.
Entities flagged with issue Activity
Workflow step results
The workflowStepResults array is a log of each step in the workflow, explaining how the overall status was reached. Each object in this array corresponds to a step configured in your monitoring workflow (e.g. AML check, device check, transaction velocity check).
stepName
stepName
API
stepName: The name of the specific step that was executed
ACTIVITY_AML- a step dedicated to performing AML checks on the activity.ACTIVITY_FRAUD- a step dedicated to performing fraud checks on the activity.
Portal
stepName: ACTIVITY_AML is available
stepName: ACTIVITY_FRAUD is available
result
result
API
result: The outcome of this specific step. For monitoring, this can be:
CLEAR(step passed): The step completed successfully without identifying any issues.HIT(step identified an issue): The step identified a potential issue or match according to its configured rules.ERROR(technical issue with the step): The step encountered an unrecoverable technical error during its execution. Portal
HIT, Expanded view
CLEAR, Expanded view
HIT Expanded view
summary
summary
API
summary: A concise, human-readable summary of the step’s outcome.
Portal
Not displayed in Portal
risk
risk
API
risk: The risk assessment specific to this step, including the score it contributed to the overall workflowRiskScore and workflowRiskLevel.
Portal

Activity alerts
Understanding Process Results for Activity Alerts
On evaluations each activity will have activity results but only activity results that are considered “alerting” will represented as Process Result Objects (PROs) that are treated as alerts and considered needs action.
For the deepest level of detail, look inside a workflowStepResult at its processResults array. A Process Result Object (PRO) is the raw evidence from a single check against a single data source (e.g., a specific device fingerprint provider, an AML watchlist provider).
-
processResultId: A unique identifier for this specific piece of evidence. -
systemStatus: The lifecycle status of this PRO (e.g., VALID, STALE, MARKED_INVALID). A STALE status means the underlying entity data has changed since this check was performed and it might need re-evaluation. Only the alerts with a systemStatus: VALID will be displayed in Portal. -
class: The high-level category of the check performed, for Transaction and Activity Monitoring, it’sACTIVITY. -
objectType: The specific data element that was checked (e.g., INDIVIDUAL, TRANSACTION, DEVICE). -
result: The outcome of this specific PRO (e.g., MATCH for a hit, CLEAR for no hit, CREATED for data fetched). -
manualStatus: If an operator has manually reviewed this specific PRO, their conclusion (e.g.,TRUE_POSITIVE,FALSE_POSITIVE,IN_REVIEW) is recorded here. This is directly linked to the statuses described in Section 3. -
providerResult: An object containing details from the downstream data provider, including the source of the data. -
supplementaryData: A rich, context-specific object containing detailed metrics or extracted data, like AML hits details or specific device intelligence data. This is where most of the alerts or rows in the table gets its details as seen in the Portal.
3: Resolve alerts
via API
Given the activity results update its status by calling Update Activity results endpoint
via Portal
4: Re-evaluate the results
This is crucial for the entity’s overall risk score, which are calculated based on historical activity, and device or customer characteristics.
Once all alerts have been resolve, you must re-run the workflow for the entity.
-
To update the
status: The overallworkflowResult.statuswill only be changed by the system fromREVIEWtoPASSorCLEARafter the workflow is executed again and the steps included in the monitoring workflow confirms that no unresolved hits remain. -
To clear
issues: The re-execution will cause the steps to re-evaluate the issues. If all PROs that previously caused anACTIVITYissue are now classified asFALSE_POSITIVE, the issue will be cleared from the workflow result.
This re-evaluation ensures that your entity’s compliance status is officially updated, reflects the latest risk assessment, and maintains an accurate audit trail.
via API
To trigger a re-evaluation via API, you will execute the workflow again. Refer to the Execute a workflow for the given service profile documentation.
via Portal
The Portal will automatically re-run the workflow for you once all alerts associated with an activity have been resolved (i.e. no alerts with “Needs attention” and “In review” status remain).
Detecting manual overrides
It’s crucial to know if a workflow’s result was changed by a person. When an operator manually changes the status (e.g., from FAIL to PASS), the following fields are populated:
-
statusOverrideRequestId: The unique ID of the override request. -
statusOverrideBy: The user who performed the override. -
statusOverrideAt: The timestamp of the override.
To detect an override, check if statusOverrideRequestId exists and is not empty.
5: (Optional) Retrieve all activities
Fetch historical information about the transactions to help get context of the user behavior and investigate.
Get Activities request
Error handling
The FrankieOne API uses a standardized error format to ensure that you can reliably handle issues that arise from bad requests, server problems, or invalid data. All non-2xx responses will return a consistent JSON error object.
Please refer to the general API Error Codes documentation for a comprehensive list of error types and their meanings. This document replaces any specific error handling guides for individual products unless explicitly stated otherwise.
Scenarios
Generic Bad request
HTTP Status Code : Frankie Error Code
400 : VAL-0400
Bad request - Validation issues (Any business or process validation)
HTTP Status Code : Frankie Error Code
400 : VAL-0400
Bad request - Schema issues
- Invalid limit or page parameter
beforeActivityAtis earlier thanafterActivityAt- Invalid sortField other than
activityAt afterActivityAtis in the future
HTTP Status Code : Frankie Error Code
400 : VAL-0400
Bad request - Entity not found
HTTP Status Code : Frankie Error Code
400 : VAL-0404
Duplicated transactions
HTTP Status Code : Frankie Error Code
409 : VAL-0409
System errors
HTTP Status Code : Frankie Error Code
500 : SYS-500


