Fact Events
Fact Events describe how entities are changed. It also helps abstracts away bespoke enterprise integrations, and consolidates thousands of data streams behind a single data stream API.
The Fact Event Envelope
All fact events have the same envelope, of the following format.
{
"meta": {
"version": 1, // envelope version
"id": "evt_01HRB9QF1WQ8KJD4X7TZ9VG1K2",
"entity_id": "ent_4X7TZ9V9QF1WQ9QF1WQ",
"event_time": "2025-07-13T23:15:00.000Z",
"partner": "american_express",
"categories": ["financial_services"],
"type": "offer".
"title": "American Express Platinum Offer",
"description": "Airport‑lounge access and 5× points on travel.",
"audience": ["travel"],
"schema_uri": "/v1/schemas/amex/financial_product/v1.json",
},
"entity_payload": {
// ...
}
}
The Strongly Typed Entity Payload
An event “updates” an entity.
entity_payload is effectively the latest snapshot of the entity. In other words, you could get the latest entity snapshot by querying for the latest event_time given an entity_id.
Note that the entity payload is validated against the versioned schema referenced in the schema_uri field, which can be fetched via a simple API call. Also see the example schema below.
{
"meta": {
"version": 1, // envelope version
"id": "evt_01HRB9QF1WQ8KJD4X7TZ9VG1K2",
"entity_id": "ent_4X7TZ9V9QF1WQ9QF1WQ",
"event_time": "2025-07-13T23:15:00.000Z",
// ....
"schema_uri": "/v1/schemas/amex/financial_product/v1.json",
},
"entity_payload": {
"annualPercentageRate": {
"minValue": 20.99,
"maxValue": 27.99,
"unitCode": "APR"
},
"annualFee": 695,
"signUpBonus": "100 000 Membership Rewards® points after $6 000 spend in 6 months",
"applicationURL": "https://www.americanexpress.com/us/credit-cards/card-application/apply/platinum-card/28810-10-0?pmccode=137&intlink=US-Axp-Shop-Consumer-PDP-Platinum-Prospect-ApplyNow-Intro&eep=28810&gbraid=0AAAAADfV22vZc_ZlC6yJ97IH8_5sB22U3&gclid=EAIaIQobChMI047_tfnCjgMVSiBECB2J6S14EAAYASAAEgIc-vD_BwE&utm_acid=5407860559&utm_adgid=145040663274&utm_adid=758292040022&utm_cmpid=18510627008&utm_term=%2Bamex+%2Bplatinum+%2Boffer&utm_tgtid=kwd-1810812030648",
"compliance": {
"offerValidThrough": "2025-09-30",
"cfpbDisclosureID": "US‑CFPB‑2025‑07‑PLAT"
}
}
}
The Entity Schema
EnterSignal schemas are versioned and documented. See below for an example.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.entersignal.com/amex/financial_product/v1.json",
"title": "Credit‑Card Offer",
"type": "object",
"required": [
"annualPercentageRate",
"annualFee",
"signUpBonus",
"applicationURL",
"compliance"
],
"additionalProperties": false,
"properties": {
"annualPercentageRate": {
"type": "object",
"required": [
"@type",
"minValue",
"maxValue",
"unitCode"
],
"additionalProperties": false,
"properties": {
"@type": {
"const": "QuantitativeValue",
"description": "Schema.org type identifier"
},
"minValue": {
"type": "number",
"minimum": 0,
"description": "Lowest possible annual percentage rate, inclusive"
},
"maxValue": {
"type": "number",
"minimum": 0,
"description": "Highest possible annual percentage rate, inclusive"
},
"unitCode": {
"type": "string",
"enum": ["APR"],
"description": "ISO‑4217‑style code for the rate unit"
}
},
"allOf": [
{
"if": { "required": ["minValue", "maxValue"] },
"then": {
"properties": {
"maxValue": {
"exclusiveMinimum": { "$data": "1/minValue" }
}
}
}
}
]
},
"annualFee": {
"type": "number",
"minimum": 0,
"description": "Annual card fee in the issuer’s billing currency"
},
"signUpBonus": {
"type": "string",
"minLength": 1,
"description": "Plain‑language description of introductory bonus"
},
"applicationURL": {
"type": "string",
"format": "uri",
"description": "Canonical URL of the online application"
},
"compliance": {
"type": "object",
"required": [
"offerValidThrough",
"cfpbDisclosureID"
],
"additionalProperties": false,
"properties": {
"offerValidThrough": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "ISO‑8601 calendar date (YYYY‑MM‑DD) on which the offer expires"
},
"cfpbDisclosureID": {
"type": "string",
"pattern": "^[A-Z]{2}-CFPB-[0-9]{4}-[0-9]{2}-[A-Z]+$",
"description": "Issuer‑provided reference that maps to the CFPB‑mandated disclosure"
}
}
}
}
}