Response
After submitting your request, the request body will be verified and either a success or an error response will be returned.
Webhook endpoint
When using the webhook endpoint, you will receive a success response if the request body passes validation. The success response can be seen below:
{
"message": "Transaction submitted"
}
This indicates that your transaction has been submitted for Sigma to process. Once processing is complete, a webhook will be sent to your pre-defined webhook URL.
Instant endpoint
Using the instant endpoint means you want to receive the final processed response at the end of your api request to submit a transaction. This endpoint will NOT send a webhook response to you. Instead of the success response you receive when using the webhook endpoint, you will receive the final processed response for the transaction.
Blocking & Approving Transactions
Below is an example of the response you receive from a processed transaction:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.09",
"action": {
"result": "approved",
"code": 1
},
"ruleResult": "looks safe",
"reason": {
"code": "100",
"severity": "low",
"rule": {
"id": "652d78e04017034bc03cc91a",
"name": "Fraud analyst"
}
}
}
The action
field is the deciding factor if you should allow a transaction to go through or not. The action field contains the following values:
Field | Description |
---|---|
result | This is either "approved" or "rejected". When the result is approved, you can allow the transaction to go through, but when the result is rejected you should block the transaction entirely. |
code | This is either "0" or "1". The code is "0" when the result is rejected and "1" when the result is approved. |
- In cases where the action field is not sent, that means the transaction is flagged for a manual review and an email alert is sent to the necessary team members to review the transaction.
Example Webhook Responses:
1) When a transaction is approved and looks safe:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.09",
"action": {
"result": "approved",
"code": 1
},
"ruleResult": "looks safe",
"reason": {
"code": "100",
"severity": "low",
"rule": {
"id": "652d78e04017034bc03cc91a",
"name": "Fraud analyst"
}
}
}
2) When a transaction is approved by a rule:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.09",
"action": {
"result": "approved",
"code": 1
},
"ruleResult": "looks safe",
"reason": {
"code": "100",
"severity": "low",
"rule": {
"id": "652d78e04017034bc03cc91a",
"name": "Fraud analyst"
}
}
}
3) When a transaction if flag for manual review by a rule:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.59",
"ruleResult": "needs review",
"reason": {
"code": "101",
"severity": "medium",
"rule": {
"id": "652d78e04017034bc03cc91a",
"name": "Fraud analyst"
}
}
}
4) When a transaction if rejected by a rule:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.89",
"action": {
"result": "rejected",
"code": 0
},
"ruleResult": "fraudulent",
"reason": {
"code": "102",
"severity": "high",
"message" : "high risk",
"rule": {
"id": "652d78e04017034bc03cc91a",
"name": "Fraud analyst"
}
}
}
5) When a transaction is flagged for review because it was done by a blacklisted user:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.41",
"ruleResult": "needs review",
"reason": {
"code": "104",
"severity": "high",
"message" : "transaction originated from a blacklisted user",
}
}
6) When a transaction is flagged for review because it was done using a blacklisted device:
{
"transactionId": "fL3fPIvnIAr4RzOGfbm0",
"riskScore": "0.39",
"ruleResult": "needs review",
"reason": {
"code": "105",
"severity": "high",
"message" : "transaction originated from a blacklisted device",
}
}
Parameter | Type | Description |
---|---|---|
transaction_id | String | The ID of the transaction that was checked for fraud. |
risk_score | String | A score indicating the level of risk associated with the transaction. |
action | Object | An object that provides info about the final decision taken on the transaction. This object is only returned when the final decision is taken. |
action.result | String | This is the final result of the transaction check. It is either "approved" or "rejected". |
action.code | Number | This is the numerical code representation of the result. 1 = Approved. 0 = Rejected. |
ruleResult | String | This is the result after the rules set have been executed. |
reason | Object | An object that provides more detailed information about why the transaction is considered fraudulent. |
reasons.code | String | A unique code that identifies the reason for the transaction being considered fraudulent. |
reasons.message | String | A human-readable description of the reason for the transaction being considered fraudulent. |
reasons.severity | String | Indicates the severity of the reason for the transaction being considered fraudulent (e.g., high, medium, or low). |
reasons.rule | Object | If the transaction was flagged, rejected or approved by a rule, the rule object will be present to notify you of the rule that took effect on the transaction. |