# Rho API

Programmatic access to Rho's banking, spend, and treasury primitives -
accounts, cards, payments, and the transaction ledger.
All endpoints take a bearer token in the `Authorization` header. See
the [Authentication](/docs/v1/auth) and [Pagination](/docs/v1/pagination)
guides to get started. Errors follow
[RFC 9457 problem details](https://www.rfc-editor.org/rfc/rfc9457.html);
timestamps are ISO 8601 UTC; monetary amounts are integers in the
smallest currency unit.
Beta-tagged v1 resources may change with notice. Untagged, generally
available resources are additive-only, and breaking changes require a new
API version. See the
[versioning policy](/docs/v1/versioning).

Version: 1.0.0

## Servers

Production
```
https://rhoapi.rho.co/api/v1
```

Sandbox
```
https://rhoapi-sandbox.rho.co/api/v1
```

## Security

### AccessToken

Bearer token authorization. API Access Tokens are issued in the Rho
settings with a user-selected subset of scopes; send as
`Authorization: Bearer <token>`.

Type: oauth2
Token URL: https://app.rho.co/settings/access-tokens
Scopes:
- `accounts:read`: Read access to business accounts information
- `accounts_payable:payments:write`: Initiate Accounts Payable payments
- `accounts_payable:read`: Read access to Accounts Payable information
- `businesses:read`: Read access to business profile information
- `cards:read`: Read access to business cards information
- `credit:read`: Read access to business credit programs and balances
- `expenses:read`: Read access to corporate expenses, approvals, and receipts
- `fields:read`: Read access to the business field catalog
- `invoicing:read`: Read access to Invoicing information
- `reimbursements:read`: Read access to business reimbursements, their coding fields, and receipt files
- `statements:read`: Read access to business statements information
- `transactions:note:write`: Write access to transaction notes
- `transactions:read`: Read access to business transactions information
- `users:read`: Read access to user information

## Download OpenAPI description

 - [Rho API](https://docs.rho.co/_bundle/api/v1/openapi.yaml)

## Business

 - [GET /business](https://docs.rho.co/api/v1/openapi/business/getbusiness.md): Returns the profile of the business the calling token is connected to. The business is resolved from the token; the caller does not pass a business identifier.
## Accounts

 - [GET /accounts](https://docs.rho.co/api/v1/openapi/accounts/listaccounts.md): Returns a paginated list of accounts for the business
 - [GET /accounts/{account_id}](https://docs.rho.co/api/v1/openapi/accounts/getaccount.md): Returns a single account by its identifier
## Cards

 - [GET /cards](https://docs.rho.co/api/v1/openapi/cards/listcards.md): Returns cards belonging to the business. Canceled and expired cards remain available in unfiltered lists so their stable IDs can be joined to historical transactions. `spending_limit_type`: How the sp
 - [GET /cards/{id}](https://docs.rho.co/api/v1/openapi/cards/getcard.md): Returns one card belonging to the business by its stable ID. `spending_limit_type`: How the spending limit is enforced. High utilization means the next charge can decline. `daily`, `weekly`, `monthly`
## Transactions

 - [GET /transactions](https://docs.rho.co/api/v1/openapi/transactions/listtransactions.md): Returns a paginated list of transactions
 - [GET /transactions/{id}](https://docs.rho.co/api/v1/openapi/transactions/gettransaction.md): Returns a single transaction by its global identifier
 - [PATCH /transactions/{id}/note](https://docs.rho.co/api/v1/openapi/transactions/updatetransactionnote.md): Sets or clears the user-supplied note on a transaction. Notes are accepted only on the following `TransactionType` values: `ach_credit`, `ach_debit`, `card_credit`, `card_debit`, `card_refund`, `check
 - [GET /transactions/{transaction_id}/files/{file_id}](https://docs.rho.co/api/v1/openapi/transactions/gettransactionfile.md): Returns file metadata and a fresh, short-lived signed download URL.
 - [GET /transactions/{transaction_id}/declined-authorizations](https://docs.rho.co/api/v1/openapi/transactions/listdeclinedauthorizations.md): Returns the declined authorization attempts on a card transaction, oldest first, each with the reasons it was declined and what to do about them.
## Statements

 - [GET /statements](https://docs.rho.co/api/v1/openapi/statements/liststatements.md): Returns a paginated list of finalized statements for the business, newest close date first. Spans all statement types and all accounts in one aggregated surface. The account_id filter selects complete
 - [GET /statements/{id}](https://docs.rho.co/api/v1/openapi/statements/getstatement.md): Returns a single statement by its global identifier
## Invoicing

 - [GET /invoicing/customers](https://docs.rho.co/api/v1/openapi/invoicing/listinvoicingcustomers.md): Returns a paginated list of customers for the business. Deleted customers are excluded unless include_deleted is true.
 - [GET /invoicing/customers/{customer_id}](https://docs.rho.co/api/v1/openapi/invoicing/getinvoicingcustomer.md): Returns a single customer from Invoicing by ID, including deleted customers when they still exist (deleted_at is set).
 - [GET /invoicing/invoices](https://docs.rho.co/api/v1/openapi/invoicing/listinvoicinginvoices.md): Returns a paginated list of invoices for the business. Results are ordered by creation time, newest first. Ordering is not user-configurable; keep filters unchanged while paginating.
 - [GET /invoicing/invoices/{invoice_id}](https://docs.rho.co/api/v1/openapi/invoicing/getinvoicinginvoice.md): Returns a single invoice by ID.
 - [GET /invoicing/invoices/{invoice_id}/files/{file_id}](https://docs.rho.co/api/v1/openapi/invoicing/getinvoicinginvoicefile.md): Returns file metadata and a fresh, short-lived signed download URL for the file attached to the invoice. file_id must match invoice.file_id from list or get when that field is set. Fetch again wheneve
## Insights

 - [GET /insights/cashflow](https://docs.rho.co/api/v1/openapi/insights/getcashflow.md): Returns money coming into and going out of your business, grouped by day, week, or month.
 - [GET /insights/money-movement](https://docs.rho.co/api/v1/openapi/insights/getmoneymovement.md): Returns total money moving into and out of your business and the largest counterparties in each direction.
## Users

 - [GET /users](https://docs.rho.co/api/v1/openapi/users/listusers.md): Lists the users of your business.
 - [GET /users/{id}](https://docs.rho.co/api/v1/openapi/users/getuser.md): Returns a single user of your business by user id.
## Reimbursements

 - [GET /reimbursements](https://docs.rho.co/api/v1/openapi/reimbursements/listreimbursements.md): Read reimbursement requests for the authenticated business in every approval and payment state. Filters and sorting must remain constant while paging. Receipt descriptors are included; download URLs a
 - [GET /reimbursements/{reimbursement_id}](https://docs.rho.co/api/v1/openapi/reimbursements/getreimbursement.md): Returns a reimbursement owned by the authenticated business.
 - [GET /reimbursements/{reimbursement_id}/files/{file_id}](https://docs.rho.co/api/v1/openapi/reimbursements/getreimbursementfile.md): Returns metadata and a fresh signed download URL for a file attached to this reimbursement. Fetch a new URL when needed instead of storing it. A file attached to another reimbursement returns 404.
## Expenses

 - [GET /expenses](https://docs.rho.co/api/v1/openapi/expenses/listexpenses.md): Read corporate card expenses for the authenticated business in every approval state. Reimbursements are exposed through their own resource and are not returned here. Filters and sorting must remain co
 - [GET /expenses/{expense_id}](https://docs.rho.co/api/v1/openapi/expenses/getexpense.md): Returns an expense owned by the authenticated business. Missing and foreign-business expenses both return 404.
 - [GET /expenses/{expense_id}/activity](https://docs.rho.co/api/v1/openapi/expenses/listexpenseactivity.md): Returns the audit history for an expense, including approval changes and field edits. Entries are ordered most-recent first.
 - [GET /expenses/{expense_id}/files/{file_id}](https://docs.rho.co/api/v1/openapi/expenses/getexpensefile.md): Returns metadata and a fresh signed download URL for a file attached to this expense. Fetch a new URL when needed instead of storing it.
## Credit

 - [GET /credit-programs](https://docs.rho.co/api/v1/openapi/credit/listcreditprograms.md): Returns every credit program of the authenticated business. A credit program describes the terms under which card spend is funded; use the balance operation for the current amount available, outstandi
 - [GET /credit-programs/{credit_program_id}](https://docs.rho.co/api/v1/openapi/credit/getcreditprogram.md): Returns one credit program of the authenticated business. The program carries credit terms and references its posting account; it is not a live balance snapshot.
 - [GET /credit-programs/{credit_program_id}/balance](https://docs.rho.co/api/v1/openapi/credit/getcreditbalance.md): Returns a point-in-time balance snapshot for a credit program: credit limit, available credit net of pending charges and outstanding balance, settled balance, pending charges, amount due, and repaymen
## Scheduled Transactions

 - [GET /scheduled-transactions](https://docs.rho.co/api/v1/openapi/scheduled-transactions/listscheduledtransactions.md): Returns a page of the scheduled transactions of the business the calling token is connected to - payments and transfers that are committed but have not gone out yet, one-time and recurring. Covers pl
## Fields

 - [GET /fields](https://docs.rho.co/api/v1/openapi/fields/listfields.md): Returns the field catalog for the authenticated business: the labels, budgets, departments, and other fields used to categorize spend. Each field carries an id (the field's stable id), a name, a type
## Accounts Payable

 - [GET /ap/counterparties](https://docs.rho.co/api/v1/openapi/accounts-payable/listaccountspayablecounterparties.md): Returns a paginated list of Accounts Payable counterparties for the authenticated business. Search matches legal name and nickname. Archived payment methods are omitted.
 - [GET /ap/counterparties/{counterparty_id}](https://docs.rho.co/api/v1/openapi/accounts-payable/getaccountspayablecounterparty.md): Returns one Accounts Payable counterparty belonging to the authenticated business by its stable ID. Archived payment methods are omitted.
 - [GET /ap/bills](https://docs.rho.co/api/v1/openapi/accounts-payable/listaccountspayablebills.md): Returns a paginated list of Accounts Payable bills for your business.
 - [GET /ap/bills/{bill_id}](https://docs.rho.co/api/v1/openapi/accounts-payable/getaccountspayablebill.md): Returns one Accounts Payable bill belonging to the authenticated business by its stable ID.
 - [GET /ap/bills/{bill_id}/files/{file_id}](https://docs.rho.co/api/v1/openapi/accounts-payable/getaccountspayablebillfile.md): Returns file metadata and a fresh, short-lived signed download URL.
