One API. One Schema.
The same request returns a record in the same schema whether the data comes from a bank, a payment processor, a crypto exchange or a lender. Webhooks tell you when data changes or a customer revokes consent.
Talk to us# transactions for one consented account
GET /v1/transactions?account=acc_2Pq8&since=2026-07-01
# the event you receive when a customer revokes
POST https://your-app.example/webhooks
{ "type": "consent.revoked",
"grant": "cg_8Fq2",
"audience": "agent:budget-coach" }{
"object": "transaction",
"id": "txn_7Hq2LmR8",
"provider": {
"name": "Harbour Bank",
"industry": "banking"
},
"source": {
"id": "tx-55120931"
},
"amount": {
"value": "-42.50",
"currency": "USD"
},
"direction": "debit",
"status": "posted",
"bookedAt": "2026-10-12T09:14:00Z",
"merchant": {
"name": "Harbour Coffee Roasters",
"category": "5814"
},
"consent": {
"grant": "cg_31Kd9w",
"scope": ["transactions:read"],
"audience": "app:ledgerly"
}
}- One request shape
Accounts, transactions, holdings, usage and bills, whatever the source called them.
- Webhooks on change
New data, expiring consent and revocations arrive as events.
- Provenance kept
The original field names stay attached to every record.
Building on banking, payments or crypto data?
Tell us what you are building and which providers you need, and we will show you how CommonSchema fits.