Skip to main content

Historical Data

Historical data plays a crucial role in tailoring the information we provide to you. It helps our model understand patterns and trends, enabling us to deliver more personalized insights.

info

Data is securely stored and anonymized to maintain confidentiality.

We understand that you might not have all the information listed below. Just share whatever details you can for each transaction:.

Request Data:

Sample Parameter NameDescriptionType
transaction_dataAn object containing information about the transaction.JSON object.
transaction_idThe unique identifier of the transaction.String e.g d48ed552-eaef-46ed-bd0c-d230189e1de0
statusBefore a fraud check is run on a transaction, the client must have run some pre-checks e.g does user have enough balance? has user passed kyc checks? etc. This field presents that status. It should be set to true if all pre- fraud checks passed or false otherwise.Boolean e.g true | false.
amountThe amount of the transaction.String e.g 234.90
balance_beforeThe current balance of the account before the transaction.String e.g 9000.00
externalPaymentThis field answers the question “Is this an internal transfer or an external payment?"Boolean e.g true | false.
ProviderThe provider of the transaction.String e.g atm, pos.
typeThe type of the transaction, such as "debit" or "credit".String e.g debit | credit.
channelTransaction channel (i.e. card, mobile, web transfer, cash withdrawal, etc.).String e.g card.
transaction_dateThe date and time when the transaction occurred.String in ISO-8601 format e.g 2023-04-28T20:16:12.642Z.
sender_bank_codeThe bank code of the sender. The User would be the sender if the transaction is a debit transaction.String e.g 255.
receiver_bank_codeThe bank code of the receiver. The User would be the receiver if the transaction is a credit transaction.String e.g 2435.
sender_account_numberThe account number of the sender. The User would be the sender if the transaction is a debit transaction.String e.g 2000456355.
receiver_account_numberThe account number of the receiver. The User would be the receiver if the transaction is a credit transaction.String e.g 25735262625.
narrationThe narration of the transaction.
deviceAn object containing information about the device used to make the transaction.JSON object
device_idThe unique identifier of the device used to make the transaction.String e.g d48ed552-eaef-46edbd0c-d230189e1de0.
manufacturerThe manufacturer of the device used to make the transaction.String e.g Samsung.
modelThe model of the device used to make the transaction.String e.g s22 Ultra.
nameThe name of the device used to make the transaction.String e.g s22 Ultra.
os_nameThe name of the operating system of the device used to make the transaction.String e.g Android.
os_versionThe version of the operating system of the device used to make the transaction.String e.g 13.0.
locationAn object containing latitude and longitude coordinates of the location where the transaction occurred.JSON object.
latitudeThe latitude of the location where the transaction occurred.String e.g 37.7749.
longitudeThe longitude of the location where the transaction occurred.String e.g -122.4194.
anonymized_user_dataAn object containing anonymized information about the user who made the transaction.JSON Object
unique_idA unique identifier for the user.String e.g d48ed552-eaef-46edbd0c-d230189e1de0.
is_phone_number_verifiedA boolean indicating whether the user's phone number has been verified or not.Boolean e.g true | false.
is_bannedA boolean indicating whether the user's account has been banned or not.Boolean e.g true | false.
date_joinedThe date and time when the user joined the service.String in ISO-8601 format e.g 2023-04-28T20:16:12.642Z.
age_yearsThe age of the User.String e.g 25.
is_identity_verifiedA boolean indicating whether the user's identity has been verified or not.Boolean e.g true | false.
stateThe state the user lives in.String e.g Lagos.
cityThe city the user lives in.String e.g Egbeda.
CountryThe country the user lives in.String e.g Nigeria.
AccountTypeThe type of the account.String e.g business or individual.
UpdatedAtWhen the user data was updated last.String in ISO-8601 format e.g 2023-04-28T20:16:12.642Z.
FraudulentTarget variable (boolean indicating whether the transaction was fraudulent or not).Boolean e.g true | false.

How to send historical data

The data can be uploaded data in batches.

  • Historical data upload files must be in gZip format.
  • Files should contain a JSON file with an array of all transactions.

API

Call the endpoint:
Request

Method: GET
Endpoint: api/v1/upload?fileType=gz&access=private
Headers :

apiKey : [YOUR APP API_KEY],
apiSecret : [YOUR APP API_SECRET]
The above endpoint call will return a response like below:
{
 "message": "Signed url for upload generated successfully",
    "data": {
        "key": "2023-06-22/75abbbdf-e8ee-40c2-9ca6-e7310cb7b757.gz",
        "url": "https://sigma-upload.s3.us-east-2.amazonaws.com/2023-06-22/75abbbdf-e8ee-40c2-9ca6-e7310cb7b757.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA6HZ67RLRY2LZTUMQ%2F20230622%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20230622T092707Z&X-Amz-Expires=900&X-Amz-Signature=c1ad699da583bc03e776e1e2be9f069f5235dab099f622a12dcb7170acfc0a36&X-Amz-SignedHeaders=host%3Bx-amz-acl&x-amz-acl=private"
    }
}
Make a request to the url you received from the response above to upload your data to be analyzed by sigma. For example: