Skip to content

Transactions API (1.0)

The transactions API lets you view your transactions, accounts, and statements.

Download OpenAPI description
Languages
Servers
Production
https://api.brex.com
Staging (Note: This is not a sandbox. It will not work with customer tokens.)
https://api-staging.brex.com

Endpoints for transaction data.

Operations

Endpoints for account data.

Operations

Request

This endpoint lists all accounts of card type.

Security
OAuth2(Required scopes:
accounts.card.readonly
)
curl -i -X GET \
  https://api.brex.com/v2/accounts/card \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

listCardAccounts 200 response

Bodyapplication/jsonArray [
idstringrequired

ID of the card account

statusstring or null
Value"ACTIVE"
current_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

available_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

account_limitobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

current_statement_periodobject(StatementPeriod)required
current_statement_period.​start_datestring(date)required

Start date of the statement period at UTC 00:00:00 (inclusive)

current_statement_period.​end_datestring(date)required

End date of the statement period at UTC 00:00:00 (exclusive)

]
Response
application/json
[ { "id": "string", "status": "ACTIVE", "current_balance": {}, "available_balance": {}, "account_limit": {}, "current_statement_period": {} } ]

List primary card account statements.

Request

This endpoint lists all finalized statements for the primary card account.

Security
OAuth2(Required scopes:
statements.card.readonly
)
Query
cursorstring or null
limitinteger or null(int32)
curl -i -X GET \
  https://api.brex.com/v2/accounts/card/primary/statements \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

listPrimaryCardStatements 200 response

Bodyapplication/json
next_cursorstring or null
itemsArray of objects(Statement)required
items[].​idstringrequired
items[].​start_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​end_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​periodobject(StatementPeriod)required
items[].​period.​start_datestring(date)required

Start date of the statement period at UTC 00:00:00 (inclusive)

items[].​period.​end_datestring(date)required

End date of the statement period at UTC 00:00:00 (exclusive)

Response
application/json
{ "next_cursor": "string", "items": [ {} ] }

Request

This endpoint lists all the existing cash accounts with their status.

Security
OAuth2(Required scopes:
accounts.cash.readonly
)
curl -i -X GET \
  https://api.brex.com/v2/accounts/cash \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

listAccounts 200 response

Bodyapplication/json
next_cursorstring or null
itemsArray of objects(CashAccount)required
items[].​idstringrequired

ID of the cash account

items[].​namestringrequired
items[].​statusstring or null
Value"ACTIVE"
items[].​current_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​current_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

items[].​current_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

items[].​available_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​available_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

items[].​available_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

items[].​account_numberstringrequired
items[].​routing_numberstringrequired
items[].​primarybooleanrequired

Whether or not this account is the primary account. There will always be only one primary account.

Response
application/json
{ "next_cursor": "string", "items": [ {} ] }

Request

This endpoint returns the primary cash account with its status. There will always be only one primary account.

Security
OAuth2(Required scopes:
accounts.cash.readonly
)
curl -i -X GET \
  https://api.brex.com/v2/accounts/cash/primary \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

getPrimaryAccount 200 response

Bodyapplication/json
idstringrequired

ID of the cash account

namestringrequired
statusstring or null
Value"ACTIVE"
current_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

current_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

current_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

available_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

available_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

available_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

account_numberstringrequired
routing_numberstringrequired
primarybooleanrequired

Whether or not this account is the primary account. There will always be only one primary account.

Response
application/json
{ "id": "string", "name": "string", "status": "ACTIVE", "current_balance": { "amount": 0, "currency": "string" }, "available_balance": { "amount": 0, "currency": "string" }, "account_number": "string", "routing_number": "string", "primary": true }

Request

This endpoint returns the cash account associated with the provided ID with its status.

Security
OAuth2(Required scopes:
accounts.cash.readonly
)
Path
idstringrequired
curl -i -X GET \
  'https://api.brex.com/v2/accounts/cash/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

getAccount 200 response

Bodyapplication/json
idstringrequired

ID of the cash account

namestringrequired
statusstring or null
Value"ACTIVE"
current_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

current_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

current_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

available_balanceobject(Money)required

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

available_balance.​amountinteger(int64)

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

available_balance.​currencystring or null

The type of currency, in ISO 4217 format. Default to USD if not specified

account_numberstringrequired
routing_numberstringrequired
primarybooleanrequired

Whether or not this account is the primary account. There will always be only one primary account.

Response
application/json
{ "id": "string", "name": "string", "status": "ACTIVE", "current_balance": { "amount": 0, "currency": "string" }, "available_balance": { "amount": 0, "currency": "string" }, "account_number": "string", "routing_number": "string", "primary": true }

Request

This endpoint lists all finalized statements for the cash account by ID.

Security
OAuth2(Required scopes:
statements.cash.readonly
)
Path
idstringrequired
Query
cursorstring or null
limitinteger or null(int32)
curl -i -X GET \
  'https://api.brex.com/v2/accounts/cash/{id}/statements' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

listCashStatements 200 response

Bodyapplication/json
next_cursorstring or null
itemsArray of objects(Statement)required
items[].​idstringrequired
items[].​start_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​end_balanceobject or null

Money fields can be signed or unsigned. Fields are signed (an unsigned value will be interpreted as positive). The amount of money will be represented in the smallest denomination of the currency indicated. For example, USD 7.00 will be represented in cents with an amount of 700.

items[].​periodobject(StatementPeriod)required
items[].​period.​start_datestring(date)required

Start date of the statement period at UTC 00:00:00 (inclusive)

items[].​period.​end_datestring(date)required

End date of the statement period at UTC 00:00:00 (exclusive)

Response
application/json
{ "next_cursor": "string", "items": [ {} ] }