Use Brex to retrieve spend data, update expense memos, manage budgets and vendors, and create transfers.
List and filter expenses by status, owner, or purchase date; retrieve merchant, amount, and receipt details.
Attach a receipt to a card expense or upload one for Brex to match automatically.
Read settled card and cash transactions, account balances, and finalized statements.
Read or create budgets and spend limits, inspect current-period balances, and archive budgets.
Look up users, departments, locations, titles, cards, vendors, and transfers; create or update vendors.
Authenticate with a Brex user token from Developer → Settings in the Brex dashboard. Create Transfer can move money from a Brex cash account to a vendor. Set Approval Type to MANUAL when the transfer should require cash-admin approval, and inspect its returned status before assuming payment completed. Archiving a budget makes its child spend limits unusable for future expenses. The block does not issue cards or expose card numbers.
List and update expenses, upload and match receipts, view card and cash transactions, accounts, budgets, spend limits, vendors, transfers, and team data.
List expenses in the Brex account with optional filters for user, status, payment status, and purchase date range
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) userIdsstring No Comma-separated user IDs to filter expenses by owner statusesstring No Comma-separated expense statuses to filter by: DRAFT, SUBMITTED, APPROVED, OUT_OF_POLICY, VOID, CANCELED, SPLIT, SETTLED paymentStatusesstring No Comma-separated payment statuses to filter by: NOT_STARTED, PROCESSING, CANCELED, DECLINED, CLEARED, REFUNDING, REFUNDED, CASH_ADVANCE, CREDITED, AWAITING_PAYMENT, SCHEDULED purchasedAtStartstring No Only include expenses purchased at or after this ISO 8601 timestamp purchasedAtEndstring No Only include expenses purchased at or before this ISO 8601 timestamp cursorstring No Pagination cursor from a previous response limitstring No Number of expenses to return (max 100)
Parameter Type Description itemsarray Expenses matching the filters ↳ id string Unique expense ID ↳ memo string Memo on the expense ↳ status string Expense status (DRAFT, SUBMITTED, APPROVED, OUT_OF_POLICY, VOID, CANCELED, SPLIT, SETTLED) ↳ payment_status string Payment status (NOT_STARTED, PROCESSING, CANCELED, DECLINED, CLEARED, REFUNDING, REFUNDED, CASH_ADVANCE, CREDITED, AWAITING_PAYMENT, SCHEDULED) ↳ expense_type string Expense type (CARD, BILLPAY, REIMBURSEMENT, CLAWBACK, UNSET) ↳ category string Expense category (e.g., RESTAURANTS, RECURRING_SOFTWARE_AND_SAAS, AIRLINE_EXPENSES) ↳ merchant json Merchant details ↳ raw_descriptor string Raw merchant descriptor ↳ mcc string Merchant category code ↳ country string Merchant country ↳ user json User who made the expense ↳ id string User ID ↳ first_name string First name ↳ last_name string Last name ↳ budget json Budget the expense belongs to ↳ id string Budget ID ↳ name string Budget name ↳ department json Department of the expense owner ↳ id string Department ID ↳ name string Department name ↳ location json Location of the expense owner ↳ id string Location ID ↳ name string Location name ↳ original_amount json Original transaction amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ billing_amount json Amount billed to the account ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ purchased_amount json Amount at the time of purchase ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ receipts array Receipts attached to the expense ↳ id string Receipt ID ↳ download_uris array Pre-signed receipt download URLs ↳ purchased_at string Purchase timestamp (ISO 8601) ↳ updated_at string Last update timestamp (ISO 8601) ↳ dashboard_url string Link to the expense in the Brex dashboard nextCursorstring Cursor for fetching the next page of results
Get a single Brex expense by its ID, including merchant, user, and receipt details
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) expenseIdstring Yes ID of the expense to fetch
Parameter Type Description idstring Unique expense ID memostring Memo on the expense statusstring Expense status (DRAFT, SUBMITTED, APPROVED, OUT_OF_POLICY, VOID, CANCELED, SPLIT, SETTLED) paymentStatusstring Payment status (NOT_STARTED, PROCESSING, CANCELED, DECLINED, CLEARED, REFUNDING, REFUNDED, CASH_ADVANCE, CREDITED, AWAITING_PAYMENT, SCHEDULED) expenseTypestring Expense type (CARD, BILLPAY, REIMBURSEMENT, CLAWBACK, UNSET) categorystring Expense category (e.g., RESTAURANTS, RECURRING_SOFTWARE_AND_SAAS, AIRLINE_EXPENSES) merchantIdstring Merchant ID merchantjson Merchant details (raw descriptor, MCC, country) ↳ raw_descriptor string Raw merchant descriptor ↳ mcc string Merchant category code ↳ country string Merchant country budgetIdstring Budget ID budgetjson Budget the expense belongs to ↳ id string Budget ID ↳ name string Budget name departmentIdstring Department ID departmentjson Department of the expense owner ↳ id string Department ID ↳ name string Department name locationIdstring Location ID locationjson Location of the expense owner ↳ id string Location ID ↳ name string Location name userIdstring ID of the user who made the expense userjson User who made the expense ↳ id string User ID ↳ first_name string First name ↳ last_name string Last name originalAmountjson Original transaction amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) billingAmountjson Amount billed to the account ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) purchasedAmountjson Amount at the time of purchase ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) usdEquivalentAmountjson USD equivalent amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) purchasedAtstring Purchase timestamp (ISO 8601) updatedAtstring Last update timestamp (ISO 8601) paymentPostedAtstring Timestamp the payment was posted (ISO 8601) receiptsarray Receipts attached to the expense ↳ id string Receipt ID ↳ download_uris array Pre-signed receipt download URLs dashboardUrlstring Link to the expense in the Brex dashboard
Update the memo of a Brex card expense
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) expenseIdstring Yes ID of the card expense to update memostring Yes New memo for the expense
Parameter Type Description idstring Unique expense ID memostring Updated memo on the expense statusstring Expense status (DRAFT, SUBMITTED, APPROVED, OUT_OF_POLICY, VOID, CANCELED, SPLIT, SETTLED) paymentStatusstring Payment status (NOT_STARTED, PROCESSING, CANCELED, DECLINED, CLEARED, REFUNDING, REFUNDED, CASH_ADVANCE, CREDITED, AWAITING_PAYMENT, SCHEDULED) categorystring Expense category (e.g., RESTAURANTS, RECURRING_SOFTWARE_AND_SAAS, AIRLINE_EXPENSES) merchantIdstring Merchant ID budgetIdstring Budget ID originalAmountjson Original transaction amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) billingAmountjson Amount billed to the account ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) purchasedAtstring Purchase timestamp (ISO 8601) updatedAtstring Last update timestamp (ISO 8601)
Upload a receipt file and attach it to a specific Brex card expense
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) expenseIdstring Yes ID of the card expense to attach the receipt to filefile Yes Receipt file to upload (max 50 MB) receiptNamestring No Receipt file name including extension (defaults to the uploaded file name)
Parameter Type Description receiptIdstring Unique identifier of the receipt upload receiptNamestring Name the receipt was uploaded with expenseIdstring ID of the expense the receipt was attached to
Upload a receipt file and let Brex automatically match it with existing expenses
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) filefile Yes Receipt file to upload (max 50 MB) receiptNamestring No Receipt file name including extension (defaults to the uploaded file name)
Parameter Type Description receiptIdstring Unique identifier of the receipt match request receiptNamestring Name the receipt was uploaded with expenseIdstring Always null for receipt match (Brex matches the receipt asynchronously)
List settled card transactions for all Brex card accounts
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) userIdsstring No Comma-separated user IDs to filter transactions by cardholder postedAtStartstring No Only include transactions posted at or after this ISO 8601 timestamp cursorstring No Pagination cursor from a previous response limitstring No Number of transactions to return (default 100, max 1000)
Parameter Type Description itemsarray Settled card transactions ↳ id string Unique transaction ID ↳ card_id string ID of the card used ↳ description string Transaction description ↳ amount json Transaction amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ initiated_at_date string Date the transaction was initiated ↳ posted_at_date string Date the transaction was posted ↳ type string Transaction type (PURCHASE, REFUND, CHARGEBACK, REWARDS_CREDIT, COLLECTION, BNPL_FEE) ↳ merchant json Merchant details ↳ raw_descriptor string Raw merchant descriptor ↳ mcc string Merchant category code ↳ country string Merchant country ↳ expense_id string Associated expense ID nextCursorstring Cursor for fetching the next page of results
List transactions for a Brex cash account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) accountIdstring Yes ID of the cash account to list transactions for postedAtStartstring No Only include transactions posted at or after this ISO 8601 timestamp cursorstring No Pagination cursor from a previous response limitstring No Number of transactions to return (default 100, max 1000)
Parameter Type Description itemsarray Cash account transactions ↳ id string Unique transaction ID ↳ description string Transaction description ↳ amount json Transaction amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ initiated_at_date string Date the transaction was initiated ↳ posted_at_date string Date the transaction was posted ↳ type string Transaction type ↳ transfer_id string Associated transfer ID nextCursorstring Cursor for fetching the next page of results
List all Brex card accounts with balances and limits
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard)
Parameter Type Description accountsarray Card accounts ↳ id string Unique account ID ↳ status string Account status ↳ current_balance json Current balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ available_balance json Available balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ account_limit json Account limit ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ current_statement_period json Current statement period (start_date, end_date)
List all Brex cash accounts with balances and account details
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) cursorstring No Pagination cursor from a previous response limitstring No Number of accounts to return (default 100, max 1000)
Parameter Type Description itemsarray Cash accounts ↳ id string Unique account ID ↳ name string Account name ↳ status string Account status ↳ current_balance json Current balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ available_balance json Available balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ account_number string Bank account number ↳ routing_number string Bank routing number ↳ primary boolean Whether this is the primary cash account nextCursorstring Cursor for fetching the next page of results
Get a Brex cash account by ID, or the primary cash account when no ID is provided
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) accountIdstring No ID of the cash account (defaults to the primary cash account)
Parameter Type Description idstring Unique account ID namestring Account name statusstring Account status currentBalancejson Current balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) availableBalancejson Available balance ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) accountNumberstring Bank account number routingNumberstring Bank routing number primaryboolean Whether this is the primary cash account
List finalized statements for the primary Brex card account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) cursorstring No Pagination cursor from a previous response limitstring No Number of statements to return (default 100, max 1000)
Parameter Type Description itemsarray Finalized card account statements ↳ id string Unique statement ID ↳ start_balance json Balance at the start of the period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ end_balance json Balance at the end of the period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ period json Statement period (start_date, end_date) nextCursorstring Cursor for fetching the next page of results
List finalized statements for a Brex cash account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) accountIdstring Yes ID of the cash account to list statements for cursorstring No Pagination cursor from a previous response limitstring No Number of statements to return (default 100, max 1000)
Parameter Type Description itemsarray Finalized cash account statements ↳ id string Unique statement ID ↳ start_balance json Balance at the start of the period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ end_balance json Balance at the end of the period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ period json Statement period (start_date, end_date) nextCursorstring Cursor for fetching the next page of results
List users in the Brex account, optionally filtered by email
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) emailstring No Filter users by exact email address cursorstring No Pagination cursor from a previous response limitstring No Number of users to return (default 100, max 1000)
Parameter Type Description itemsarray Users in the Brex account ↳ id string Unique user ID ↳ first_name string First name ↳ last_name string Last name ↳ email string Email address ↳ status string User status (INVITED, ACTIVE, CLOSED, DISABLED, DELETED, PENDING_ACTIVATION, INACTIVE, ARCHIVED) ↳ manager_id string ID of the manager ↳ department_id string Department ID ↳ location_id string Location ID ↳ title_id string Title ID nextCursorstring Cursor for fetching the next page of results
Get a Brex user by their ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) userIdstring Yes ID of the user to fetch
Parameter Type Description idstring Unique user ID firstNamestring First name lastNamestring Last name emailstring Email address statusstring User status (INVITED, ACTIVE, CLOSED, DISABLED, DELETED, PENDING_ACTIVATION, INACTIVE, ARCHIVED) managerIdstring ID of the manager departmentIdstring Department ID locationIdstring Location ID titleIdstring Title ID
Get the Brex user associated with the API token
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard)
Parameter Type Description idstring Unique user ID firstNamestring First name lastNamestring Last name emailstring Email address statusstring User status (INVITED, ACTIVE, CLOSED, DISABLED, DELETED, PENDING_ACTIVATION, INACTIVE, ARCHIVED) managerIdstring ID of the manager departmentIdstring Department ID locationIdstring Location ID titleIdstring Title ID
List departments in the Brex account, optionally filtered by name
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring No Filter departments by name cursorstring No Pagination cursor from a previous response limitstring No Number of departments to return (default 100, max 1000)
Parameter Type Description itemsarray Departments in the Brex account ↳ id string Unique department ID ↳ name string Department name ↳ description string Department description nextCursorstring Cursor for fetching the next page of results
List locations in the Brex account, optionally filtered by name
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring No Filter locations by name cursorstring No Pagination cursor from a previous response limitstring No Number of locations to return (default 100, max 1000)
Parameter Type Description itemsarray Locations in the Brex account ↳ id string Unique location ID ↳ name string Location name ↳ description string Location description nextCursorstring Cursor for fetching the next page of results
List job titles in the Brex account, optionally filtered by name
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring No Filter titles by name cursorstring No Pagination cursor from a previous response limitstring No Number of titles to return (default 100, max 1000)
Parameter Type Description itemsarray Job titles in the Brex account ↳ id string Unique title ID ↳ name string Title name nextCursorstring Cursor for fetching the next page of results
List cards in the Brex account, optionally filtered by card owner
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) userIdstring No Filter cards by the ID of the card owner cursorstring No Pagination cursor from a previous response limitstring No Number of cards to return (default 100, max 1000)
Parameter Type Description itemsarray Cards in the Brex account ↳ id string Unique card ID ↳ owner json Card owner (type, user_id) ↳ status string Card status ↳ last_four string Last four digits of the card number ↳ card_name string Card name ↳ card_type string Card type (VIRTUAL or PHYSICAL) ↳ limit_type string Limit type (CARD or USER) ↳ spend_controls json Spend controls on the card ↳ billing_address json Billing address of the card ↳ expiration_date json Card expiration date (month, year) ↳ budget_id string Associated budget ID nextCursorstring Cursor for fetching the next page of results
Get the Brex company associated with the API token
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard)
Parameter Type Description idstring Unique company ID legalNamestring Legal name of the company mailingAddressjson Company mailing address (line1, line2, city, state, country, postal_code) accountTypestring Brex account type (BREX_CLASSIC or BREX_EMPOWER)
List budgets in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) cursorstring No Pagination cursor from a previous response limitstring No Number of budgets to return (default 100, max 1000)
Parameter Type Description itemsarray Budgets in the Brex account ↳ budget_id string Unique budget ID ↳ account_id string Account ID the budget belongs to ↳ name string Budget name ↳ description string Budget description ↳ parent_budget_id string Parent budget ID ↳ owner_user_ids array User IDs of the budget owners ↳ period_recurrence_type string Budget period recurrence (WEEKLY, MONTHLY, QUARTERLY, YEARLY, ONE_TIME) ↳ start_date string Budget start date ↳ end_date string Budget end date ↳ amount json Budget amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ spend_budget_status string Budget status ↳ limit_type string Budget limit type nextCursorstring Cursor for fetching the next page of results
Get a Brex budget by its ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) budgetIdstring Yes ID of the budget to fetch
Parameter Type Description budgetIdstring Unique budget ID accountIdstring Account ID the budget belongs to namestring Budget name descriptionstring Budget description parentBudgetIdstring Parent budget ID ownerUserIdsarray User IDs of the budget owners periodRecurrenceTypestring Budget period recurrence (WEEKLY, MONTHLY, QUARTERLY, YEARLY, ONE_TIME) startDatestring Budget start date endDatestring Budget end date amountjson Budget amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) spendBudgetStatusstring Budget status (ACTIVE, ARCHIVED, DELETED) limitTypestring Budget limit type (HARD or SOFT)
Create a new budget in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring Yes Name for the budget descriptionstring Yes Description of what the budget is used for parentBudgetIdstring Yes ID of the parent budget periodRecurrenceTypestring Yes Period type of the budget (WEEKLY, MONTHLY, QUARTERLY, YEARLY, ONE_TIME) amountnumber Yes Budget amount, in the smallest unit of the currency (e.g., cents for USD) currencystring No ISO 4217 currency code (defaults to USD) ownerUserIdsstring No Comma-separated user IDs of the budget owners startDatestring No Date the budget should start counting (YYYY-MM-DD) endDatestring No Date the budget should stop counting (YYYY-MM-DD)
Parameter Type Description budgetIdstring Unique budget ID accountIdstring Account ID the budget belongs to namestring Budget name descriptionstring Budget description parentBudgetIdstring Parent budget ID ownerUserIdsarray User IDs of the budget owners periodRecurrenceTypestring Budget period recurrence (WEEKLY, MONTHLY, QUARTERLY, YEARLY, ONE_TIME) startDatestring Budget start date endDatestring Budget end date amountjson Budget amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) spendBudgetStatusstring Status of the created budget limitTypestring Budget limit type
Archive a Brex budget, making any spend limits beneath it unusable for future expenses and removing it from the UI
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) budgetIdstring Yes ID of the budget to archive
Parameter Type Description budgetIdstring ID of the archived budget spendBudgetStatusstring Status of the budget after archiving
List spend limits in the Brex account, optionally filtered by member user
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) memberUserIdsstring No Comma-separated user IDs to filter spend limits by member cursorstring No Pagination cursor from a previous response limitstring No Number of spend limits to return (default 100, max 1000)
Parameter Type Description itemsarray Spend limits in the Brex account ↳ id string Unique spend limit ID ↳ account_id string Account ID the spend limit belongs to ↳ name string Spend limit name ↳ description string Spend limit description ↳ parent_budget_id string Parent budget ID ↳ status string Spend limit status ↳ period_recurrence_type string Period recurrence (PER_WEEK, PER_MONTH, PER_QUARTER, PER_YEAR, ONE_TIME) ↳ spend_type string Spend type of the limit ↳ start_date string Spend limit start date ↳ end_date string Spend limit end date ↳ owner_user_ids array User IDs of the spend limit owners ↳ member_user_ids array User IDs of the spend limit members ↳ current_period_balance json Spend and rollover amounts for the current period ↳ start_date string Start date of the current period ↳ end_date string End date of the current period ↳ start_time string Start time of the current period (ISO 8601) ↳ end_time string End time of the current period (ISO 8601) ↳ amount_spent json Amount spent in the current period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ rollover_amount json Amount rolled over from previous periods ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ authorization_settings json Authorization settings (base limit, authorization type, rollover refresh) nextCursorstring Cursor for fetching the next page of results
Get a Brex spend limit by its ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) spendLimitIdstring Yes ID of the spend limit to fetch
Parameter Type Description idstring Unique spend limit ID accountIdstring Account ID the spend limit belongs to namestring Spend limit name descriptionstring Spend limit description parentBudgetIdstring Parent budget ID statusstring Spend limit status (ACTIVE, EXPIRED, ARCHIVED) periodRecurrenceTypestring Period recurrence (PER_WEEK, PER_MONTH, PER_QUARTER, PER_YEAR, ONE_TIME) spendTypestring Spend type of the limit startDatestring Spend limit start date endDatestring Spend limit end date ownerUserIdsarray User IDs of the spend limit owners memberUserIdsarray User IDs of the spend limit members currentPeriodBalancejson Spend and rollover amounts for the current period ↳ start_date string Start date of the current period ↳ end_date string End date of the current period ↳ start_time string Start time of the current period (ISO 8601) ↳ end_time string End time of the current period (ISO 8601) ↳ amount_spent json Amount spent in the current period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ rollover_amount json Amount rolled over from previous periods ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) authorizationSettingsjson Authorization settings (base limit, authorization type, rollover refresh)
Create a new spend limit (hard-authorization card program) in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring Yes Name for the spend limit periodRecurrenceTypestring Yes Period type of the spend limit (PER_WEEK, PER_MONTH, PER_QUARTER, PER_YEAR, ONE_TIME) spendTypestring Yes Whether the spend limit can only be spent from cards it provisions (BUDGET_PROVISIONED_CARDS_ONLY, NON_BUDGET_PROVISIONED_CARDS_ALLOWED) expenseVisibilitystring Yes Whether expenses on this spend limit are viewable by all members (SHARED, PRIVATE) authorizationVisibilitystring Yes Whether the limit amount is visible to all members, or just controllers/bookkeepers/owners (PUBLIC, PRIVATE) limitIncreaseSettingstring Yes Whether members can request limit increases (ENABLED, DISABLED) autoTransferCardsSettingstring Yes How auto transfer works for virtual cards on this spend limit (DISABLED, ENABLED) autoCreateLimitCardsSettingstring Yes How auto limit card creation works for members (DISABLED, ALL_MEMBERS) expensePolicyIdstring Yes ID of the expense policy corresponding to this spend limit baseLimitAmountnumber Yes Base spend limit amount, without increases/rollovers, in the smallest unit of the currency (e.g., cents for USD) currencystring No ISO 4217 currency code for the base limit (defaults to USD) authorizationTypestring Yes Whether authorizations decline based on available balance (HARD, SOFT) rolloverRefreshRatestring Yes Recurrence at which rolled-over unused funds stop rolling over (OFF, NEVER, PER_MONTH, PER_QUARTER, PER_YEAR) limitBufferPercentagenumber No Flexible buffer on the limit as a 0-100 percentage descriptionstring No Description of what the spend limit is used for parentBudgetIdstring No ID of the parent budget startDatestring No Date the spend limit should start counting (YYYY-MM-DD) endDatestring No Date the spend limit should expire (YYYY-MM-DD) transactionLimitAmountnumber No Per-transaction limit this spend limit enforces, in the smallest unit of the currency ownerUserIdsstring No Comma-separated user IDs of the spend limit owners memberUserIdsstring No Comma-separated user IDs of the spend limit members
Parameter Type Description idstring Unique spend limit ID accountIdstring Account ID the spend limit belongs to namestring Spend limit name descriptionstring Spend limit description parentBudgetIdstring Parent budget ID statusstring Spend limit status periodRecurrenceTypestring Period recurrence (PER_WEEK, PER_MONTH, PER_QUARTER, PER_YEAR, ONE_TIME) spendTypestring Spend type of the limit startDatestring Spend limit start date endDatestring Spend limit end date ownerUserIdsarray User IDs of the spend limit owners memberUserIdsarray User IDs of the spend limit members currentPeriodBalancejson Spend and rollover amounts for the current period ↳ start_date string Start date of the current period ↳ end_date string End date of the current period ↳ start_time string Start time of the current period (ISO 8601) ↳ end_time string End time of the current period (ISO 8601) ↳ amount_spent json Amount spent in the current period ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ rollover_amount json Amount rolled over from previous periods ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) authorizationSettingsjson Authorization settings (base limit, authorization type, rollover refresh)
List vendors in the Brex account, optionally filtered by name
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) namestring No Filter vendors by name cursorstring No Pagination cursor from a previous response limitstring No Number of vendors to return (default 100, max 1000)
Parameter Type Description itemsarray Vendors in the Brex account ↳ id string Unique vendor ID ↳ company_name string Vendor company name ↳ email string Vendor email address ↳ phone string Vendor phone number ↳ payment_accounts array Payment accounts associated with the vendor nextCursorstring Cursor for fetching the next page of results
Get a Brex vendor by its ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) vendorIdstring Yes ID of the vendor to fetch
Parameter Type Description idstring Unique vendor ID companyNamestring Vendor company name emailstring Vendor email address phonestring Vendor phone number paymentAccountsarray Payment accounts associated with the vendor
Create a new vendor in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) companyNamestring Yes Name for the vendor (must be unique) emailstring No Email address for the vendor phonestring No Phone number for the vendor
Parameter Type Description idstring Unique vendor ID companyNamestring Vendor company name emailstring Vendor email address phonestring Vendor phone number paymentAccountsarray Payment accounts associated with the vendor
Update an existing vendor in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) vendorIdstring Yes ID of the vendor to update companyNamestring No New name for the vendor emailstring No New email address for the vendor phonestring No New phone number for the vendor
Parameter Type Description idstring Unique vendor ID companyNamestring Vendor company name emailstring Vendor email address phonestring Vendor phone number paymentAccountsarray Payment accounts associated with the vendor
List money transfers in the Brex account
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) cursorstring No Pagination cursor from a previous response limitstring No Number of transfers to return (default 100, max 1000)
Parameter Type Description itemsarray Transfers in the Brex account ↳ id string Unique transfer ID ↳ counterparty json Transfer counterparty details ↳ description string Transfer description ↳ payment_type string Payment type (ACH, DOMESTIC_WIRE, CHEQUE, INTERNATIONAL_WIRE, BOOK_TRANSFER, STABLECOIN) ↳ amount json Transfer amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) ↳ process_date string Date the transfer processes ↳ originating_account json Account the transfer originates from ↳ status string Transfer status (PROCESSING, SCHEDULED, PENDING_APPROVAL, FAILED, PROCESSED) ↳ cancellation_reason string Reason the transfer was canceled ↳ estimated_delivery_date string Estimated delivery date ↳ creator_user_id string ID of the user who created the transfer ↳ created_at string Creation timestamp ↳ display_name string Transfer display name ↳ external_memo string External memo ↳ is_ppro_enabled boolean Whether Principal Protection (PPRO) is enabled nextCursorstring Cursor for fetching the next page of results
Get a Brex money transfer by its ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) transferIdstring Yes ID of the transfer to fetch
Parameter Type Description idstring Unique transfer ID counterpartyjson Transfer counterparty details descriptionstring Transfer description paymentTypestring Payment type (ACH, DOMESTIC_WIRE, CHEQUE, INTERNATIONAL_WIRE, BOOK_TRANSFER, STABLECOIN) amountjson Transfer amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) processDatestring Date the transfer processes originatingAccountjson Account the transfer originates from statusstring Transfer status (PROCESSING, SCHEDULED, PENDING_APPROVAL, FAILED, PROCESSED) cancellationReasonstring Reason the transfer was canceled estimatedDeliveryDatestring Estimated delivery date creatorUserIdstring ID of the user who created the transfer createdAtstring Creation timestamp displayNamestring Transfer display name externalMemostring External memo isPproEnabledboolean Whether Principal Protection (PPRO) is enabled
Create a money transfer from a Brex cash account to a vendor
Inputs and outputsParameter Type Required Description apiKeystring Yes Brex user token (generated from Developer Settings in the Brex dashboard) cashAccountIdstring Yes ID of the Brex cash account to send the transfer from (found via the /accounts endpoint) vendorPaymentInstrumentIdstring Yes ID of the vendor's payment instrument to send the transfer to (from the vendor's payment_accounts) amountnumber Yes Amount to transfer, in the smallest unit of the currency (e.g., cents for USD) currencystring No ISO 4217 currency code (defaults to USD) descriptionstring Yes Description of the transfer for internal use (not exposed externally) externalMemostring Yes External memo shown to the recipient (max 90 characters for ACH/Wire, 40 for Cheque) approvalTypestring No Set to MANUAL to require cash admin approval before the transfer is sent isPproEnabledboolean No Enable Principal Protection (PPRO) to have Brex cover intermediary/receiving bank fees (international wires only)
Parameter Type Description idstring Unique transfer ID counterpartyjson Transfer counterparty details descriptionstring Description of the transfer paymentTypestring Payment type (ACH, DOMESTIC_WIRE, CHEQUE, INTERNATIONAL_WIRE, BOOK_TRANSFER, STABLECOIN) amountjson Transfer amount ↳ amount number Amount in the smallest unit of the currency (e.g., cents for USD) ↳ currency string ISO 4217 currency code (e.g., USD) processDatestring Transaction processing date originatingAccountjson Originating account details for the transfer statusstring Transfer status (PROCESSING, SCHEDULED, PENDING_APPROVAL, FAILED, PROCESSED) cancellationReasonstring Reason the transfer was canceled estimatedDeliveryDatestring Estimated delivery date for the transfer creatorUserIdstring ID of the user who created the transfer createdAtstring Creation timestamp of the transfer displayNamestring Human-readable name of the transfer externalMemostring External memo of the transfer isPproEnabledboolean Whether Principal Protection (PPRO) is enabled for the transfer