API
Language
Ask for a seat

Closed beta. Nothing here is callable yet. These docs describe the day-one contract, and names marked proposed may change before the beta opens. Ask for a seat

Docs · Overview

Novo API documentation

A REST API for Novo business checking. It lets an account owner’s own tools and AI agents read the account and freeze a card. It’s in closed beta: these pages document the day-one contract, and nothing is callable yet.

What the API does

Everything the API is planned to do, by resource. Linked items are in the closed beta and documented in the reference; the rest are planned, with no dates. Anything that moves money or changes who can be paid waits for the account owner to approve it on their phone, every time, even when an agent asked.

PlannedNeeds your approval Needs your approval

Access tokens

Accounts

Transactions

Bookkeeping

Cards

Reserves

  • Set money aside in reserves

Invoices

  • Keep invoice drafts
  • Send invoicesNeeds your approval

Money movement

  • Send money by ACHNeeds your approval
  • Send domestic wiresNeeds your approval
  • Pay and manage payeesNeeds your approval

Credit

  • See credit card and loan balances and activity
  • Make payments and change autopayNeeds your approval

Integrations

  • See which connections are active

Connecting and disconnecting stay in the Novo app.

Support

  • Open a support ticket and read its replies

Disputes are not included.

Notifications

  • Change which notifications you get

Device registration stays in the Novo app.

Workflows
The API doesn’t run workflows for you. Build them in your own tools and agents on top of it: retries are safe with an idempotency key, actions that need your approval wait for you, and you check back for the outcome.
We’re looking at
Webhooks, a sandbox and sign-in for third-party apps
Tell us if you need it
Statements, exports, scheduled payments, payroll and contractor payments, or something else? Say so when you sign up.
Never through the API
Creating API credentials outside the Novo app. Reaching a business the client isn’t bound to.

How access works

  1. The account owner creates an API client in the Novo app, after a verification step, and picks its scopes. Only the owner can do this, and each client is bound to one business.
  2. The app shows the client secret once. Your code exchanges the client id and secret for a short-lived access token at /v1/oauth/token.
  3. Every other call sends that token as Authorization: Bearer. The token carries the scopes the owner picked; anything outside them is refused.
  4. The owner can revoke the client in the app at any time.

Scopes: accounts:readtransactions:readbookkeeping:readcards:readcards:freeze. Details in Authentication.

Built assuming an AI agent is calling

A read-only client can’t move money. Errors say whether a retry is safe. Text written by merchants, payers or the owner is marked as untrusted, so an agent can treat it as data rather than instructions. See Conventions and Errors and retries.

About these docs

Every path, field and value here comes from the contract for the closed beta (revision 4). The contract is still a proposal, so names can change before the beta opens. Examples use fictional data.