CommonSchema
Talk to us

Your US customers connect once. You get one clean record.

CommonSchema gives your product one consent flow, one API and one data model for US account, transaction and holdings data. Your customers choose exactly what to share, and every record arrives with that consent attached.

  • Banks and credit unions
  • Payments and commerce
  • Crypto and wealth apps
  • Lenders and brokers
  • AI agent builders

Everything between your app and the provider.

Seven layers, one integration. You build the top one. CommonSchema runs the rest, within each region’s rules.

One consent flow per region, in place of a separate build for every bank, retailer and broker. The customer chooses the provider and approves exactly what is shared, and for how long.

CommonSchema runs this

What you can build on one shape.

The same records power very different products. Here is what they look like on your side.

  • Serviceability in one view

    Income, expenses, liabilities and repayment history from the banks and lenders the applicant chooses to share, in one shape.

    For lenders and brokers
  • Switching built on real usage

    Usage intervals, bills and tariffs, modelled the same way, for switching, solar and efficiency products.

    For energy retailers and comparison products
  • What members hold elsewhere

    Show members what they hold elsewhere without maintaining a connector per institution.

    For mutual banks and credit unions
  • Agents with their own consent

    Give each agent its own narrow scope, see exactly what it read, and revoke it without touching your app’s access.

    For AI agent builders

One API. One Schema.

The same request shape for a bank, a credit union, an energy retailer or a lender. The same record comes back.

Request and webhook
# 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" }
commonschema · transaction
{
  "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.