# Brex

Brex provides corporate credit cards, spend management, and financial tools tailored for startups and tech businesses to optimize cash flow, accounting, and growth

- **Category:** accounting
- **Auth:** OAUTH2, API_KEY
- **Tools:** 95
- **Triggers:** 0
- **Slug:** `BREX`
- **Version:** 20260217_00

## Tools

### Add Webhook Group Members

**Slug:** `BREX_ADD_WEBHOOK_GROUP_MEMBERS`

Add webhook subscription members to a webhook group. This action associates one or more webhook subscriptions with an existing webhook group, allowing those subscriptions to receive events targeted at the group. Note: Webhook groups are only available for Brex partner accounts. Requires an existing webhook group ID and valid webhook subscription IDs. Use this when you need to organize webhook subscriptions into groups for easier management of webhook events across multiple subscriptions.

### Archive Budget

**Slug:** `BREX_ARCHIVE_BUDGET`

Archive a budget to mark it as inactive and prevent future expenses. Archives the specified budget, making it unusable for new transactions and removing it from active budget lists in the UI. This action is permanent and cannot be undone.

### Archive Spend Limit

**Slug:** `BREX_ARCHIVE_SPEND_LIMIT`

Archive a spend limit in Brex. Archives an existing spend limit to remove it from active use, making it unusable for future expenses and hiding it from the UI. Once archived, the spend limit cannot be used to authorize new transactions.

### Create Budget

**Slug:** `BREX_CREATE_BUDGET`

Create a new budget for departments or projects.

### Create Spend Limit (Budget V1)

**Slug:** `BREX_CREATE_BUDGET_V1`

Tool to create a new Spend Limit (Budget) in Brex. Use when you need to set up spending controls with specific limits, visibility settings, and period types.

### Create Card

**Slug:** `BREX_CREATE_CARD`

Create a new card and assign it to a user.

### Create Department

**Slug:** `BREX_CREATE_DEPARTMENT`

Create a new department.

### Create Document Upload for Referral

**Slug:** `BREX_CREATE_DOCUMENT`

Create a document upload URL for a referral and return a pre-signed S3 upload URL. Use this tool when you need to upload supporting documents for a business referral application. The tool returns a pre-signed S3 URL that can be used to upload document files (PDF, JPG, PNG, etc.) up to 50 MB. The pre-signed URL expires 30 minutes after creation and can only be used for a PUT operation. Supported document types: - ARTICLES_OF_INCORPORATION: Company incorporation documents - IRS_EIN_CONFIRMATION: IRS CP 575 or 147C form (EIN confirmation letter) - IRS_EIN_APPLICATION: IRS SS4 form (Application for Employer Identification Number) - CERTIFICATE_GOOD_STANDING: Certificate of good standing from the state

### Create Expense

**Slug:** `BREX_CREATE_EXPENSE`

Create a new expense.

### Create Custom Field

**Slug:** `BREX_CREATE_FIELD`

Create a new custom field in Brex. Use when you need to add custom metadata fields for accounting or ERP integrations. Fields can be associated with specific integrations and can be enabled or disabled as needed.

### Create Field Values

**Slug:** `BREX_CREATE_FIELD_VALUES`

Create custom field values for a specific Brex field. Use when you need to add new dropdown options or values to a custom field (up to 1000 values per request). This action allows you to bulk-create field values for custom fields in Brex. Custom fields are used throughout Brex for categorizing expenses, cards, budgets, and other entities. Each value can have a custom ID, be marked as disabled, and include an external system reference for integrations.

### Create Location

**Slug:** `BREX_CREATE_LOCATION`

Create a new location.

### Create Referral Request

**Slug:** `BREX_CREATE_REFERRAL_REQUEST`

Tool to create a new referral to Brex for onboarding. Use when you want to refer a prospect to Brex and get a personalized application link. The response contains a unique referral ID and a personalized signup URL. Many fields are optional; when provided, they prefill the application form for the prospect. The referral link expires after a certain time period.

### Create Spend Limit

**Slug:** `BREX_CREATE_SPEND_LIMIT`

Tool to create a spend limit in Brex. Use when you need to establish spending controls with authorization settings, visibility rules, and policy associations. Requires expense policy ID and authorization settings. Optionally link to parent budget.

### Create Job Title

**Slug:** `BREX_CREATE_TITLE`

Create a new job title.

### Create User

**Slug:** `BREX_CREATE_USER`

Create a new user in the Brex account.

### Create Vendor

**Slug:** `BREX_CREATE_VENDOR`

Create a new vendor in Brex for payment operations. The vendor company name must be unique within your Brex account - attempting to create a vendor with a duplicate name will result in an error. You can optionally include contact information (email, phone) and payment account details (ACH, wire transfer, or check) at creation time. Returns a vendor ID that can be used in transfer operations and other vendor-related actions.

### Create Vendor Card

**Slug:** `BREX_CREATE_VENDOR_CARD`

Create a new vendor card in Brex with specified spend controls. Vendor cards are cards with specific spending limits (limit_type=CARD) that can be assigned to users for specific vendors or expense categories. Unlike corporate cards which use the user's monthly limit, vendor cards have their own independent spend limits and refresh schedules. Requires an existing Brex user as the card owner. Use BREX_LIST_USERS to find existing user IDs.

### Create Webhook Group

**Slug:** `BREX_CREATE_WEBHOOK_GROUP`

Tool to create a webhook group for targeting webhook subscriptions. Use when you need to create a webhook group to organize webhook subscriptions for specific members. Webhook groups are only available for partners.

### Create Webhook Subscription

**Slug:** `BREX_CREATE_WEBHOOK_SUBSCRIPTION`

Register a new webhook subscription to receive real-time notifications for Brex events. This allows you to be notified via HTTPS POST requests when events occur, such as USER_UPDATED, EXPENSE_PAYMENT_UPDATED, TRANSFER_PROCESSED, TRANSFER_FAILED, and others. Note: Currently only one webhook endpoint can be registered per customer/client_id, though each endpoint can handle multiple event types. Requires 'openid' and 'offline_access' OAuth scopes, plus event-specific scopes (e.g., 'expenses.card.readonly' for EXPENSE_PAYMENT_UPDATED).

### Delete Field

**Slug:** `BREX_DELETE_FIELD`

Tool to delete a custom field by Brex ID. Use when you need to permanently remove a custom field from the system.

### Delete Field Values

**Slug:** `BREX_DELETE_FIELD_VALUES`

Delete custom field values for a specific field. You can delete up to 1000 values at once. Each value must be identified by exactly one of: brex_id (Brex-generated ID), value_id (value identifier), or remote_id (external system ID). Use this when you need to bulk delete field values from a custom field.

### Delete Vendor

**Slug:** `BREX_DELETE_VENDOR`

Delete a vendor by ID. Use this when you need to remove a vendor from the system. The vendor must exist and not have any pending transactions or dependencies.

### Get Cash Account Details

**Slug:** `BREX_GET_ACCOUNT_DETAILS`

Get a list of all cash accounts associated with the Brex account, including account numbers, routing numbers, and current balances.

### Get Account Statements

**Slug:** `BREX_GET_ACCOUNT_STATEMENTS`

Get finalized statements for the primary cash account. Returns statement history including start and end balances for each statement period.

### Get Budget by ID

**Slug:** `BREX_GET_BUDGET_BY_ID`

Tool to get detailed information about a specific Brex budget/spend limit by ID. Use when you need to retrieve the configuration, limits, and current status of a budget.

### Get Budget Details

**Slug:** `BREX_GET_BUDGET_DETAILS`

Get detailed information about a specific budget. This action retrieves comprehensive budget details including balance, limits, ownership, and period information from the Brex v2 Budgets API.

### Get Budget Transactions

**Slug:** `BREX_GET_BUDGET_TRANSACTIONS`

Retrieves expenses/transactions associated with a specific budget within a date range. This action filters expenses by budget ID and payment posted date, returning all transactions that were charged to the specified budget. Useful for tracking budget spending and analyzing expense patterns over time.

### Get Card Details

**Slug:** `BREX_GET_CARD_DETAILS`

Get detailed information about a specific card.

### Get Card Expense

**Slug:** `BREX_GET_CARD_EXPENSE`

Tool to retrieve detailed information about a specific card expense by its ID. Use when you need to get comprehensive details about a card transaction, including merchant information, amounts, status, and other expense metadata. Supports expanding additional fields like merchant MCC code, location, department, user, budget, and payment details.

### Get Card Number

**Slug:** `BREX_GET_CARD_NUMBER`

Get card number, CVV, and expiration date for a specific card.

### Get Card Transactions

**Slug:** `BREX_GET_CARD_TRANSACTIONS`

Get settled card transactions for the primary card account. Returns purchases, refunds, and chargebacks that have been posted/settled. Use the next_cursor field in the response for pagination to retrieve additional results.

### Get Company Cash Accounts

**Slug:** `BREX_GET_COMPANY_CASH_ACCOUNTS`

Retrieve all cash (deposit) accounts for the company. Returns account details including balances, account numbers, routing numbers, and status. Use this to view available cash accounts, check balances, or get account information for transfers. Each Brex account has at least one primary cash account. Requires the 'accounts.cash.readonly' scope.

### Get Company Details

**Slug:** `BREX_GET_COMPANY_DETAILS`

Get company information associated with the OAuth2 access token. Returns details including company ID, legal name, account type, and mailing address.

### Get Department By ID

**Slug:** `BREX_GET_DEPARTMENT_BY_ID`

Get detailed information about a specific department by ID. Use when you need to retrieve department details for a given department identifier.

### Get Expense

**Slug:** `BREX_GET_EXPENSE`

Tool to get details of a specific expense by ID. Use when you need to retrieve complete information about an expense including merchant details, receipts, budget allocation, and payment status.

### Get Expense Details

**Slug:** `BREX_GET_EXPENSE_DETAILS`

Retrieves detailed information about a specific expense by its ID. Returns comprehensive expense data including amounts, merchant information, user details, budget associations, approval workflows, receipts, and more. Useful for getting full expense details after finding expenses via list operations.

### Get Expenses by Payment Posted Date

**Slug:** `BREX_GET_EXPENSES`

Get expenses filtered by payment posted date range. Use this when you need to retrieve expenses that were posted/cleared within a specific timeframe. For more flexible filtering (by user, budget, purchased date, status, etc.), use the LIST_EXPENSES action instead.

### Get Field By ID

**Slug:** `BREX_GET_FIELD_BY_ID`

Tool to retrieve a custom field by its Brex ID. Use when you need detailed information about a specific custom field.

### Get Field Value By ID

**Slug:** `BREX_GET_FIELD_VALUE_BY_ID`

Tool to retrieve a specific field value by field ID and field value ID. Use when you need details about a custom field value.

### Get Legal Entity

**Slug:** `BREX_GET_LEGAL_ENTITY`

Tool to retrieve a legal entity by its ID from Brex. Use when you need detailed information about a specific legal entity.

### Get Location By ID

**Slug:** `BREX_GET_LOCATION_BY_ID`

Get detailed information about a specific location by ID. Use when you need to retrieve location details for a given location identifier.

### Get Current User

**Slug:** `BREX_GET_ME`

Tool to retrieve the current authenticated user's information from Brex. Use when you need to get details about the user associated with the OAuth2 access token.

### Get Referral By ID

**Slug:** `BREX_GET_REFERRAL`

Tool to retrieve a specific referral by its ID from Brex. Use when you need to check the status of a referral or get the signup URL.

### Get Spend Limit By ID

**Slug:** `BREX_GET_SPEND_LIMIT_BY_ID`

Tool to get detailed information about a specific spend limit by its ID. Use when you need to retrieve the configuration, status, balance, or settings of a particular spend limit.

### Get Spend Limits

**Slug:** `BREX_GET_SPEND_LIMITS`

Get spend limits configuration.

### Get Title by ID

**Slug:** `BREX_GET_TITLE_BY_ID`

Get detailed information about a specific job title by ID. Use when you need to retrieve title details for a given title identifier.

### Get Transaction by ID

**Slug:** `BREX_GET_TRANSACTION_BY_ID`

Get details of a specific transaction by ID. Retrieves detailed information about a card transaction including amount, merchant details, dates, and metadata. This action searches through recent transactions to find the one matching the provided ID. Note: Very old transactions may not be retrievable.

### Get Card Transactions

**Slug:** `BREX_GET_TRANSACTIONS`

Get card transactions from the primary Brex account. Retrieves settled card transactions including purchases, refunds, chargebacks, and collections. Returns transaction details with merchant information, amounts, dates, and associated metadata. Supports pagination for handling large result sets. Note: The Brex API does not support server-side date filtering. Date filtering (posted_at_start/posted_at_end) is performed client-side by filtering the posted_at_date field in the response.

### Get Transactions by Amount Range

**Slug:** `BREX_GET_TRANSACTIONS_BY_AMOUNT_RANGE`

Get card transactions filtered by amount range and date period. This action retrieves settled card transactions within a specified amount range (min to max in USD) and date period. Useful for finding transactions of specific values, expense analysis, budget tracking, or identifying large purchases. The action performs client-side filtering to return only transactions matching both the amount and date criteria.

### Search Transactions by Description

**Slug:** `BREX_GET_TRANSACTIONS_BY_DESCRIPTION`

Search and filter card transactions by description text. This action retrieves transactions from the primary card account and filters them by description (case-insensitive partial match) and date range. Useful for finding all transactions from a specific merchant or category.

### Get User By ID

**Slug:** `BREX_GET_USER_BY_ID`

Tool to retrieve a specific user by their ID from Brex. Use when you need detailed information about a user.

### Get User Limit

**Slug:** `BREX_GET_USER_LIMIT`

Retrieves the monthly spending limit and available balance for a specific Brex user. Use this action when you need to check how much a user is allowed to spend per month and how much of that limit remains available. Returns empty if no spending limit has been configured for the user.

### Get User Profile

**Slug:** `BREX_GET_USER_PROFILE`

Get user profile information from Brex Team API. Returns the user profile associated with the OAuth2 access token when using 'me', or retrieves a specific user's profile when providing a user ID. Requires 'users.readonly' or 'users' OAuth scope.

### Get Vendor By ID

**Slug:** `BREX_GET_VENDOR_BY_ID`

Tool to get vendor details by ID. Use when you need to retrieve information about a specific vendor including payment accounts.

### Get Webhook Group

**Slug:** `BREX_GET_WEBHOOK_GROUP`

Tool to retrieve details of a specific webhook group by ID. Use when you need to get information about a webhook group including its name and identifier. Webhook groups allow webhook subscriptions to target specific members, providing granular control over webhook delivery. This feature is only available for Brex partners. Returns the webhook group's ID and name.

### Get Webhook Subscription

**Slug:** `BREX_GET_WEBHOOK_SUBSCRIPTION`

Tool to retrieve details of a specific webhook subscription by ID. Use this when you need to: - Get information about an existing webhook subscription - Verify webhook configuration (URL, event types, status) - Check if a webhook subscription is active or inactive - Retrieve the webhook group ID for partner integrations Returns the webhook subscription's ID, URL, event types, status (ACTIVE/INACTIVE), and optionally the webhook group ID.

### List Budget Programs

**Slug:** `BREX_LIST_BUDGET_PROGRAMS`

Tool to list all budget programs in the organization. Use when you need to retrieve budget programs that define spend limits for eligible users.

### List Budgets

**Slug:** `BREX_LIST_BUDGETS`

List all budgets and show available amounts across all cards.

### List Card Accounts

**Slug:** `BREX_LIST_CARD_ACCOUNTS`

Tool to list all card accounts for the company. Use when you need to retrieve information about card accounts, including balances and statement periods.

### List Card Expenses

**Slug:** `BREX_LIST_CARD_EXPENSES`

Tool to list card expenses with filtering and pagination. Use when you need to retrieve expenses from Brex card transactions with optional filters by user, budget, date range, status, and more.

### List Cards

**Slug:** `BREX_LIST_CARDS`

List all cards associated with the account.

### List Card Statements

**Slug:** `BREX_LIST_CARD_STATEMENTS`

Tool to list finalized statements for primary card accounts. Use when you need to retrieve statement history for primary card accounts including balances and statement periods.

### List Departments

**Slug:** `BREX_LIST_DEPARTMENTS`

List all departments in the organization.

### List Expenses

**Slug:** `BREX_LIST_EXPENSES`

Tool to list expenses from the Brex platform. Use when you need to retrieve expenses with various filters such as user, budget, date ranges, or status. Supports pagination and expandable fields for additional details.

### List Field Values

**Slug:** `BREX_LIST_FIELD_VALUES`

Tool to list values under a custom field. Use when you need to retrieve all values defined for a specific custom field, optionally filtering by Brex ID, value ID, remote ID, or value string.

### List Legal Entities

**Slug:** `BREX_LIST_LEGAL_ENTITIES`

Tool to list all legal entities in the Brex account with pagination support. Use when you need to retrieve all legal entities or browse through them page by page.

### List Locations

**Slug:** `BREX_LIST_LOCATIONS`

List all locations in the organization.

### List Referrals

**Slug:** `BREX_LIST_REFERRALS`

Tool to list all referrals created in the Brex account. Use when you need to view or manage customer referrals. Note: This endpoint only returns active referrals and does not include expired ones.

### List Job Titles

**Slug:** `BREX_LIST_TITLES`

List all job titles in the organization.

### List Transfers

**Slug:** `BREX_LIST_TRANSFERS`

Lists transfers for the account. Use when you need to retrieve transfer history or monitor transfer status.

### List Trips

**Slug:** `BREX_LIST_TRIPS`

Lists trips according to the filters passed in the query string. Use when you need to retrieve trip history or monitor trip status.

### List Users

**Slug:** `BREX_LIST_USERS`

List all users in the Brex account.

### List Vendors

**Slug:** `BREX_LIST_VENDORS`

List all vendors.

### List Vendors (v1)

**Slug:** `BREX_LIST_VENDORS2`

Tool to list vendors from the Brex v1 vendors API. Use when you need to retrieve vendor information with pagination support.

### List Webhook Group Members

**Slug:** `BREX_LIST_WEBHOOK_GROUP_MEMBERS`

Tool to list all members of a webhook group. Use when you need to retrieve the webhook subscriptions that are members of a specific webhook group. Supports pagination using cursor and limit parameters.

### List Webhook Groups

**Slug:** `BREX_LIST_WEBHOOK_GROUPS`

Tool to list all webhook groups. Use when you need to retrieve all webhook groups in the system. Webhook groups allow subscriptions to target specific members and are only available for Brex partners. Supports pagination using cursor and limit parameters.

### List Webhook Secrets

**Slug:** `BREX_LIST_WEBHOOK_SECRETS`

Tool to retrieve webhook signing secrets for validating incoming webhook messages from Brex. Use when you need to verify webhook authenticity. During key rotation, this may return two secrets.

### List Webhook Subscriptions

**Slug:** `BREX_LIST_WEBHOOK_SUBSCRIPTIONS`

Tool to list all registered webhook subscriptions. Use when you need to retrieve all webhook subscriptions configured in the Brex account, including their URLs, event types, and status. Supports pagination using cursor and limit parameters.

### Lock Card

**Slug:** `BREX_LOCK_CARD`

Tool to lock an existing, unlocked Brex card. Use when you need to temporarily disable a card due to loss, theft, fraud, or other reasons. The card owner will receive a notification about the lock.

### Create Receipt Match

**Slug:** `BREX_RECEIPT_MATCH`

Creates a receipt match request and returns a pre-signed S3 upload URI. Use this when you need to upload a receipt that will be automatically matched to existing Brex card expenses. The returned URI allows secure file upload (max 50 MB) and expires 30 minutes after creation. After upload completes, Brex will automatically attempt to match the receipt with card transactions based on date, amount, and merchant information.

### Create Receipt Upload for Expense

**Slug:** `BREX_RECEIPT_UPLOAD`

Creates a receipt upload request for a specific card expense and returns a pre-signed S3 upload URL. Use this tool when you need to attach a receipt to an existing Brex card expense. The tool returns a pre-signed S3 URL that can be used to upload receipt files (PDF, JPG, PNG, etc.) up to 50 MB. The pre-signed URL expires 30 minutes after creation and can only be used for a PUT operation. Requirements: - The expense_id must belong to an existing card expense in the Brex system - The expense must be accessible by the authenticated user - Receipt file names should include the file extension (e.g., 'receipt.pdf', 'invoice.jpg') Note: For uploading receipts that should be automatically matched to expenses (without specifying an expense_id), use the BREX_RECEIPT_MATCH action instead.

### Set User Limit

**Slug:** `BREX_SET_USER_LIMIT`

Set or update the monthly spending limit for a Brex user. The limit controls the maximum amount the user can spend per month. Set monthly_limit to null to remove an existing limit. The limit amount must be specified in the smallest currency unit (e.g., cents for USD).

### Transfer Card

**Slug:** `BREX_TRANSFER_CARD`

Transfer a card to a different user.

### Update Budget

**Slug:** `BREX_UPDATE_BUDGET`

Update an existing budget's configuration in Brex. This action allows you to modify budget properties such as name, description, amount limits, ownership, parent budget relationships, and recurrence settings. Only the fields you provide will be updated; all other fields remain unchanged. Common use cases: - Adjust budget amounts (increase or decrease limits) - Change budget ownership or reassign to different users - Update budget names and descriptions for clarity - Modify recurrence periods (e.g., change from MONTHLY to QUARTERLY) - Reorganize budget hierarchy by changing parent budgets

### Update Spend Limit (V1)

**Slug:** `BREX_UPDATE_BUDGET_V1`

Tool to update a Spend Limit (budget) using the v1 API. Use when you need to modify budget details such as name, description, owners, members, limits, or date ranges.

### Update Card Limits

**Slug:** `BREX_UPDATE_CARD_LIMITS`

Update spending limits and controls for a Brex card. This action allows you to modify the spending limits, duration, and lock date for cards that have limit_type=CARD. You can update one or more spend control settings while leaving others unchanged. Cards with limit_type=USER inherit limits from the user and cannot be updated with this action.

### Update Card Status

**Slug:** `BREX_UPDATE_CARD_STATUS`

Update the status of a Brex card by locking, unlocking, or terminating it. This action provides a unified interface for card status management: - Lock a card to temporarily block transactions (requires lock_reason) - Unlock a locked card to resume normal operation - Terminate a card permanently (cannot be undone) The action uses the appropriate Brex API endpoint based on the target status.

### Update Expense

**Slug:** `BREX_UPDATE_EXPENSE`

Tool to update an expense by its ID. Use when you need to modify expense details such as memo, location, department, or category. You can update one or multiple fields in a single request.

### Update Field

**Slug:** `BREX_UPDATE_FIELD`

Tool to update a custom field in Brex. Use when you need to modify a field's name or disable/enable it.

### Update Field Values

**Slug:** `BREX_UPDATE_FIELD_VALUES`

Tool to update custom field values in Brex for a specific field. Use when you need to modify existing field values, supporting batch updates of up to 1000 values at once. Each value can be identified by brex_id (entity identifier), value_id (field value ID), or remote_id (external system ID). The API will update the field values and return the complete updated state including metadata like updated_at timestamps.

### Update Spend Limit

**Slug:** `BREX_UPDATE_SPEND_LIMIT`

Updates an existing Brex spend limit by its ID. Allows modifying spend limit properties including name, description, status (ACTIVE/INACTIVE), period settings, authorization controls, spending limits, merchant restrictions, member/owner assignments, and policy associations. At least one optional field must be provided to update. Requires the spend limit ID from BREX_GET_SPEND_LIMITS or creation actions.

### Update User

**Slug:** `BREX_UPDATE_USER`

Update user details.

### Update Vendor

**Slug:** `BREX_UPDATE_VENDOR`

Tool to update vendor information in Brex. Use when you need to modify vendor details such as company name, email, phone, payment accounts, or beneficiary information.

### Update Webhook Subscription

**Slug:** `BREX_UPDATE_WEBHOOK_SUBSCRIPTION`

Updates an existing Brex webhook subscription's configuration. You can modify the webhook URL endpoint, change which event types trigger notifications, activate/deactivate the subscription, or reassign it to a different webhook group (partners only). This is useful when you need to redirect webhooks to a new URL, add/remove event types from your subscription, or temporarily pause webhook deliveries without deleting the subscription.
