Receiving Decisions

You can request and receive fraud decisions made by Simility in order to populate your database or enact appropriate actions on your business operations. For example, you can automatically freeze the accounts as soon as they are flagged as fraudulent by Simility. You can request to receive the data, such as decisions, scores, labels, features, and so on, from the Simility back end. The response from the Simility back end is sent as a JSON object.

You can receive the results from Simility software using the following methods:

  • Synchronous

    Use the synchronous method to receive the result as a RESPONSE object to your POST request when you send data. Assume that the data to Simility software is sent using the Backend API, which is a POST request, and the moment a record of the data is processed, the result of the processed record is sent as a RESPONSE object (200 OK) to your application.

  • Asynchronous

    Use the Asynchronous method to receive the results on your Webhook listener service. You must implement a Webhook/ REST JSON listener that can consume the JSON object sent from Simility software.

    Also, share the URL endpoint with the Simility team when the listener is available along with authentication mechanisms; for example, Bearer Token.

In both Synchronous and Asynchronous methods, to set the response time and timeouts, contact the Simility team.

The standard JSON object sent from the Simility back end for both Synchronous and Asynchronous contains the following parameters:

Name Type Description
id String ID of the savings account.
decisionLabels List Decision set in the Simility web console mapped correctly to your back end.
decisionReasons List Reason statement attached with the Label. This is a leaf-level categorization for the decision selected and it can be configured in the Simility web console
timestamp String Timestamp at which the decision was taken.
decisionBy String Person who took the decision.
note String Note entered while passing decision.
score Numeric Aggregated score.
leadLabels String Individual scores.
queue String Queue from which decision was taken. The value could be null sometimes.
queueState String TBD.
additionalData String You can pass additional parameters as part of the decision payload using this field if required.
	"entries": [
			"id": "123",
			"entity": "be_$event_name$_event",
			"decisionLabels": ["REJECT"],
			"decisionReasons": ["bad_loginr"],
			"timestamp": "2017-05-18 07:24:50",
			"decisionBy": "",
			"note": "this is a bad session",
			"score": -30,
			"leadLabels": {
				"LinkedAccounts": -10,
				"Wallet": -10,
				"LinkedCardsAccounts": -10
			"queue": "Bad_User",
			"queueState": null,
			"additionalData": null
	"type": "decision"