Final Outcomes

Final Outcomes API

Using Alloy’s Final Outcome API

The Final Outcomes API makes it easy for clients to import “final outcome data” or “client feedback data”. This is data that identifies whether customers are fraudulent or not. This goes beyond approve/deny decisions and looks at a customer’s behavior over time. Alloy clients who import this data can gain additional insights into fraud behaviors of their customers and how to prevent future fraud.
Alloy customers can send a PUT request to the final-outcomes API, which is a quicker and more seamless way for clients to share their final outcomes data in a way that is consistent with data formatting requirements.

PUT: Append Final Outcomes

PUT to /final-outcomes

For customers wishing to include additional information about an applicant, a PUT request should be made to the API, with relevant parameters.

  • If entity token exists, we update the row with the new input, regardless of if that information has changed. This ensures that final outcomes data is the most recent.
  • If entity token does not exist, we insert the new information/row.

(Note: The API payload size limit is 500kb.)

See below for the API schema and example payloads.


Final Outcomes Schema:

ParameterTypeDescription
entity_token OR external_entity_identifier *StringIdentifies entity
is_fraud *If true, then fraud_type, loss_amount, fraud_reported_date, confidence, and first_party are required parametersBooleanIs this entity fraudulent? 1 to indicate an entity is fraudulent and 0 to indicate an entity is not fraudulent.
active_account *If true, then account_opening_date is a required parameter. If false, then account_closure_date is required.BooleanIs this entity’s account active? 1 to indicate the account is active; 0 to indicate the account is inactive, whether this is because the account was closed for fraud or because it was never opened.
fraud_typeStringType of fraud; for example First Party, Synthetic, Identity Fraud, Funding, Money Mule, etc.
loss_amountIntCharge-off amount incurred as a result of fraud.
account_opening_dateDateDate on which the account was opened and active
fraud_reported_dateDateDate on which the fraud was identified
account_closure_dateDateDate on which the account was closed, if applicable
confidenceConfidence that entity is fraudulent (confirmed or suspected).
exposureTotal amount that could have been lost due to fraudulent activity.
first_partyBooleanIf entity is fraudulent, is the fraud type first party? 1 to indicate First Party Fraud, 0 to indicate other.
account_valueAmount of money in the account
commentStringAny other context that would be useful for this evaluation.

(* denotes fields that are always required)


Example payload:

[
    // final outcome with all available attributes 
        {
            "entity_token": "B-V1DWU5RE3W1b6Fs5OEKh7",
      "external_entity_identifier": "",
            "is_fraud": true,
            "fraud_type": "first_party",
            "loss_amount": 1000,
            "fraud_reported_date": "2022-01-01",
            "active_account": false,
            "account_opening_date": "2013-01-05",
            "account_closure_date": "2022-01-15",   
            "confidence": "confirmed",
            "exposure": "3000",
            "first_party": "true",
            "account_value": "3000",
            "comment": "sample comment"
        },
        
        // final outcome with subset of attributes
        {
      "entity_token": "B-AOFU4JK9HOp0Ih3IUEb1",
      "external_entity_identifier": "",
            "is_fraud": false,
            "fraud_type": "Synthetic",
            "loss_amount": null,
            "active_account": true,
            "confidence": "confirmed",
            "exposure": "123",
            "first_party": "true",
            "account_value": "1000"
        },

        // final outcome with suspected fraud and account not closed
        {
            "entity_token": "B-MDHL01S6JA13dk876QGy5",
            "is_fraud": true,
            "fraud_type": "synthetic",
            "loss_amount": 1500,
            "fraud_reported_date": "2021-02-02",
            "active_account": true,
            "account_opening_date": "2018-05-01",
            "confidence": "suspected",
            "first_party": false,
            "account_value": 20000,
            "comment": "example comment"
        }
        
        // final outcome with confirmed fraud and account not closed
        {
      "entity_token": "B-EBTW2QS6JOpODb6ZLWy6",
            "is_fraud": true,
            "fraud_type": "synthetic",
            "loss_amount": 38700,
            "fraud_reported_date": "2020-01-21",
            "active_account": true,
            "account_opening_date": "2014-01-01",
            "confidence": "confirmed",
            "first_party": false,
            "account_value": 150000,
            "comment": "example comment"
        },

        // final outcome with confirmed fraud and account closed
        {
            "entity_token": "B-LCCG12S36JAAB1416672",
            "is_fraud": true,
            "fraud_type": "first_party",
            "loss_amount": 15000,
            "fraud_reported_date": "2020-01-31",
            "active_account": false,
            "account_closure_date": "2020-02-01",
            "confidence": "confirmed",
            "first_party": true,
            "account_value": 30000,
            "comment": "example comment"
        }

    ]

Example Response Payload: