Create accounting integration
Changed onCreate 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.
Set amortization: true to also provision the amortization fields and enable the AMORTIZATION capability for the integration. Amortization is not available to every account yet; when it is unavailable, the request returns 403. The ERP opts into amortization by having these fields provisioned, so this works for any accounting integration created through this endpoint. Omitting the field (or passing false) leaves integration behavior unchanged.
Optionally accepts subsidiaries to enable/disable VAT per subsidiary on creation, so VAT can be turned on in the same call instead of a follow-up PATCH.
Request
- Base URLhttps://api.brex.com
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://accounts-api.brex.com/oauth2/default/v1/authorizeToken URLhttps://accounts-api.brex.com/oauth2/default/v1/tokenScopesaccounting.integration.write
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Headers
Caller-generated key (recommend a v4 UUID) that uniquely identifies this logical request. Reuse the same value when retrying so the request is de-duplicated.
Request body
Example request
{
"vendor": "RILLET",
"vendor_account_id": "vendor_account_id"
}Response
Integration created successfully
Example response
{
"created_at": "2025-08-15T10:00:00Z",
"integration_id": "int_abc123",
"status": "ACTIVE",
"vendor_account_id": "rillet_account_id"
}Changes
- breaking
request property
was restricted to a list of enum values - breaking
the
response's property type changed from no type toobjectfor status - breaking
the
response's property type changed from no type toobjectfor status - breaking
the
response's property type changed from no type toobjectfor status - breaking
the
response's property type changed from no type toobjectfor status - breaking
the
response's property type changed from no type toobjectfor status - warning
added the new
AMORTIZATION_PROVISIONING_FAILEDenum value to theresponse property for the response status - warning
added the new
AMORTIZATION_PROVISIONING_FAILEDenum value to theresponse property for the response status - warning
added the new
AMORTIZATION_PROVISIONING_FAILEDenum value to theresponse property for the response status - warning
added the new
AMORTIZATION_PROVISIONING_FAILEDenum value to theresponse property for the response status - warning
added the new
AMORTIZATION_PROVISIONING_FAILEDenum value to theresponse property for the response status - warning
added the new
CAMPFIREenum value to theresponse property for the response status - warning
added the new
DUALENTRYenum value to theresponse property for the response status - warning
added the new
HANOVER_PARKenum value to theresponse property for the response status - warning
added the new
INKLEenum value to theresponse property for the response status - warning
added the new
RILLETenum value to theresponse property for the response status - info
the endpoint scheme security
bearerwas added to the API - info
api tag
Accountingadded - info
api tag
Accounting Integrationsremoved - info
added the new optional
headerrequest parameterIdempotency-Key - info
added the new optional request property
- info
added the new
CAMPFIREenum value to the request property - info
added the new
DUALENTRYenum value to the request property - info
added the new
HANOVER_PARKenum value to the request property - info
added the new
INKLEenum value to the request property - info
added the new
RILLETenum value to the request property
- breaking