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

Returns a list of card accounts.

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

Returns a list of primary card account statements.

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

Returns a list of cash accounts.

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)required

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

Example: 700
items[].​current_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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)required

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

Example: 700
items[].​available_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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

Returns the primary cash account.

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)required

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

Example: 700
current_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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)required

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

Example: 700
available_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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": 700, "currency": "USD" }, "available_balance": { "amount": 700, "currency": "USD" }, "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

Returns the cash account.

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)required

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

Example: 700
current_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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)required

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

Example: 700
available_balance.​currencystring or null

The type of currency, in ISO 4217 format.

Default "USD"
Example: "USD"
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": 700, "currency": "USD" }, "available_balance": { "amount": 700, "currency": "USD" }, "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

Returns a list of cash account statements.

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": [ {} ] }