Skip to content

Accounting API (1.0.0-alpha)

The Accounting API allows you to manage accounting data for connecting to your accounting system. The Accounting API is currently in Alpha. To access the Accounting Alpha API, please email developer-support@brex.com to express your interest. Please note that participation is determined by Brex based on program needs. For more details, please refer to https://developer.brex.com/docs/api-launch-stages/.

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

View and manage accounting integrations.

Operations

Request

Create a new accounting integration. The behavior depends on the existing active integration:

  • If no active integration exists: Creates and returns new integration
  • If active integration exists with same vendor and vendor_account_id: Returns the existing active integration
  • If active integration exists with same vendor but different vendor_account_id: Returns 409 error
  • If active integration exists with different vendor: Returns 409 error

This ensures only one active integration exists per account.

Security
oauth2(Required scopes:
accounting.integration.write
)
Bodyapplication/jsonrequired
vendorstringrequired

The accounting vendor/system. ERP partners must request Brex to create a vendor ID for them to use this field.

Example: "ERP_A"
vendor_account_idstringrequired

The vendor account ID to tie this integration to

Example: "vendor_account_id"
curl -i -X POST \
  https://api.brex.com/v3/accounting/integration \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "vendor": "ERP_A",
    "vendor_account_id": "vendor_account_id"
  }'

Responses

Integration created successfully

Bodyapplication/json
integration_idstringrequired

Unique identifier for the integration

Example: "int_abc123"
vendorstringrequired

The accounting vendor/system. ERP partners must request Brex to create a vendor ID for them to use this field.

vendor_account_idstringrequired

The vendor account ID this integration is tied to

Example: "customer_account_id"
statusstringrequired

Current status of the integration

Enum"ACTIVE""DISABLED"
Example: "ACTIVE"
created_atstring(date-time)required

Timestamp when the integration was created

Example: "2025-08-15T10:00:00Z"
Response
application/json
{ "id": "int_abc123", "vendor": "ERP_A", "status": "ACTIVE", "created_at": "2025-08-15T10:00:00Z", "vendor_account_id": "vendor_account_id" }

Request

Disconnect an active accounting integration.

  • If integration is ACTIVE: Disconnects and returns success
  • If integration ID doesn't exist: Returns 404 error
  • If integration is not currently active: Returns 409 error
Security
oauth2(Required scopes:
accounting.integration.write
)
Path
integration_idstringrequired
curl -i -X POST \
  'https://api.brex.com/v3/accounting/integration/{integration_id}/disconnect' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Integration disconnected successfully

Bodyapplication/json
integration_idstringrequired

Unique identifier for the integration

Example: "int_abc123"
vendorstringrequired

The accounting vendor/system. ERP partners must request Brex to create a vendor ID for them to use this field.

vendor_account_idstringrequired

The vendor account ID this integration is tied to

Example: "customer_account_id"
statusstringrequired

Current status of the integration

Enum"ACTIVE""DISABLED"
Example: "ACTIVE"
created_atstring(date-time)required

Timestamp when the integration was created

Example: "2025-08-15T10:00:00Z"
Response
application/json
{ "id": "int_abc123", "vendor": "ERP_A", "status": "DISABLED", "created_at": "2025-08-15T10:00:00Z", "vendor_account_id": "vendor_account_id" }

Request

Reactivate a disconnected accounting integration.

  • If integration is DISABLED: Reactivates and returns success
  • If integration ID doesn't exist: Returns 404 error
  • If an active integration already exists: Returns 409 error
Security
oauth2(Required scopes:
accounting.integration.write
)
Path
integration_idstringrequired
curl -i -X POST \
  'https://api.brex.com/v3/accounting/integration/{integration_id}/reactivate' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Integration reactivated successfully

Bodyapplication/json
integration_idstringrequired

Unique identifier for the integration

Example: "int_abc123"
vendorstringrequired

The accounting vendor/system. ERP partners must request Brex to create a vendor ID for them to use this field.

vendor_account_idstringrequired

The vendor account ID this integration is tied to

Example: "customer_account_id"
statusstringrequired

Current status of the integration

Enum"ACTIVE""DISABLED"
Example: "ACTIVE"
created_atstring(date-time)required

Timestamp when the integration was created

Example: "2025-08-15T10:00:00Z"
Response
application/json
{ "id": "int_abc123", "vendor": "ERP_A", "status": "ACTIVE", "created_at": "2025-08-15T10:00:00Z", "vendor_account_id": "vendor_account_id" }

View and manage accounting records.

Operations