Built for developers. Read like a spec.
One REST API, one record envelope across industries, and webhooks for change. Every object carries its provider, its source and the consent it was read under.
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 envelope
object, id, provider, source and consent on every record.
- Predictable lists
Every list is paginated the same way.
- Events, not polling
Subscribe to changes and consent events with webhooks.
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.