# Get accounting record by ID Retrieve a single accounting record by its unique identifier Endpoint: GET /v3/accounting/records/{record_id} Version: 1.0.0-alpha Security: oauth2 ## Path parameters: - `record_id` (string, required) ## Query parameters: - `single_entry` (boolean) Whether to return single entry line items ## Response 200 fields (application/json): - `id` (string, required) Unique identifier for the accounting record Example: "accr_abc123" - `amount` (object, required) Amount of the accounting record - `amount.amount` (number, required) The amount Example: 100 - `amount.currency` (string, required) The currency Example: "USD" - `original_amount` (object,null) Original amount if different from current - `type` (string, required) Types of accounting records representing different financial transactions: Card-related transactions: - CARD_EXPENSE_POST: Records when a card expense is posted and settled - CARD_EXPENSE_REFUND: Records when a merchant issues a refund for a card transaction - CARD_EXPENSE_REPAYMENT: Records when an employee repays money to the company for a card expense - CARD_PAYMENT: Records payments from customer to Brex for card balances - CARD_PAYMENT_REFUND: Records refunds from Brex to customer for overpayments - REWARD_REDEMPTION: Records when a reward is redeemed Bill-related transactions: - BILL_EXPENSE: Records when a bill expense is created - BILL_EXPENSE_PAYMENT: Records when a bill is paid through ACH/wire transfer - BILL_EXPENSE_CARD_PAYMENT: Records when a bill is paid using a Brex card Reimbursement-related transactions: - REIMBURSEMENT_EXPENSE_APPROVAL: Records approval of reimbursement (accrual basis) - REIMBURSEMENT_EXPENSE_POST: Records when reimbursement is fulfilled (cash basis) - REIMBURSEMENT_EXPENSE_REPAYMENT: Records repayment of a reimbursement expense - REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYOUT: Records payout to employee/third party - REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYOUT_REVERSAL: Records reversal of payout - REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYIN: Records payment from customer to Brex - REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_REFUND: Records refund to customer's bank Enum: "CARD_EXPENSE_POST", "CARD_EXPENSE_REPAYMENT", "REIMBURSEMENT_EXPENSE_REPAYMENT", "REIMBURSEMENT_EXPENSE_APPROVAL", "REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYOUT", "REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYIN", "REIMBURSEMENT_EXPENSE_POST", "CARD_PAYMENT", "REWARD_REDEMPTION", "REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_REFUND", "CARD_EXPENSE_REFUND", "CARD_PAYMENT_REFUND", "REIMBURSEMENT_EXPENSE_MONEY_MOVEMENT_PAYOUT_REVERSAL", "INVOICE", "INVOICE_PAYMENT", "BILL_EXPENSE", "BILL_EXPENSE_PAYMENT", "BILL_EXPENSE_CARD_PAYMENT", "BILL_MONEY_MOVEMENT_PAYIN" - `review_status` (string, required) Review status Enum: "READY_FOR_EXPORT", "PREPARE", "REVIEW", "EXPORTED" - `source_id` (string,null) Source transaction ID - `source_type` (string, required) Source type Enum: "CARD", "REIMBURSEMENT", "BILL" - `erp_posting_date` (string, required) ERP impact date in UTC timezone - `updated_at` (string, required) Last update timestamp in UTC timezone - `version` (number, required) Version number - `receipts` (array,null) Associated receipts - `receipts.id` (string, required) Unique identifier for the receipt - `receipts.download_uris` (array,null) Presigned S3 URLs to download receipt files (expire in 15 minutes) - `user` (object,null) User associated with the record - `user.id` (string, required) The ID of the user Example: "VXNlcjpjdXVzZXJfMTIzNA==" - `user.first_name` (string, required) The user's first name Example: "John" - `user.last_name` (string, required) The user's last name Example: "Doe" - `user.email` (string, required) The user's email address Example: "john.doe@example.com" - `user.role` (string, required) The user's role in the system Enum: "ACCOUNT_ADMIN", "AP_CLERK", "BOOKKEEPER", "CARD_ADMIN", "EMPLOYEE", "EMPLOYEE_WITHOUT_CORP_CARDS", "EXPENSE_ADMIN", "SUPER_ADMIN", "USER_MANAGEMENT_ADMIN" - `user.status` (string, required) The user's status in the system Enum: "ACTIVE", "ARCHIVED", "DELETED", "DISABLED", "INACTIVE", "INVITED", "PENDING_ACTIVATION" - `user.manager_id` (string) The ID of the user's manager Example: "VXNlcjpjdXVzZXJfMTIzNA==" - `user.department_id` (string) The ID of the user's department Example: "VXNlcjpjdXVzZXJfMTIzNA==" - `user.department_name` (string) The user's department name Example: "Engineering" - `user.location_id` (string) The ID of the user's location Example: "VXNlcjpjdXVzZXJfMTIzNA==" - `user.location_name` (string) The user's location name Example: "San Francisco" - `user.title_id` (string) The user's title ID Example: "VGl0bGU6dGl0bGVfMTIzNA==" - `user.title_name` (string) The user's title display name Example: "Software Engineer" - `user.manager_first_name` (string) The user's manager first name Example: "Jane" - `user.manager_last_name` (string) The user's manager last name Example: "Smith" - `user.manager_title_id` (string) The user's manager title ID Example: "VGl0bGU6dGl0bGVfMTIzNA==" - `user.manager_title_name` (string) The user's manager title display name Example: "Engineering Manager" - `vendor` (object,null) Vendor information - `vendor.id` (string, required) The unique identifier for the vendor Example: "vendor_123" - `vendor.name` (string, required) The name of the vendor Example: "Acme Corp" - `vendor.contact_name` (string,null) The name of the contact for the vendor Example: "Jane Smith" - `vendor.email` (string,null) The email for the vendor Example: "contact@acme.com" - `vendor.website` (string,null) The website of the vendor Example: "https://acme.com" - `vendor.phone` (string,null) The phone number for the vendor Example: "+1-555-123-4567" - `memo` (string,null) Memo/description - `posted_at` (string, required) Source posted date in UTC timezone - `due_at` (string,null) Source due at in UTC timezone. For bills only - `invoice_number` (string,null) Invoice number. For bills only - `line_items` (array, required) Line items for double-entry bookkeeping - `line_items.id` (string, required) Unique identifier for the line item Example: "arli_abc123" - `line_items.type` (string, required) Type of line item Enum: "CREDIT", "DEBIT" - `line_items.amount` (object, required) Amount for this line item. Amount is always positive for AccountingRecordLineItem. - `line_items.original_amount` (object,null) Original amount for this line item. Amount is always positive for AccountingRecordLineItem. - `line_items.accounting_field_values` (array, required) Accounting field mappings - `line_items.accounting_field_values.brex_field_id` (string, required) Brex internal field identifier Example: "ef_123" - `line_items.accounting_field_values.remote_field_id` (string,null, required) Remote system field identifier Example: "1" - `line_items.accounting_field_values.brex_field_value_id` (string, required) Brex internal field value identifier Example: "efo_123" - `line_items.accounting_field_values.remote_field_value_id` (string,null, required) Remote system field value identifier Example: "123" ## Response 400 fields (application/json): - `error_code` (string, required) Machine-readable error code Enum: "ACTIVE_INTEGRATION_EXISTS", "FORBIDDEN", "INTEGRATION_NOT_ACTIVE", "INTERNAL_ERROR", "INVALID_REQUEST", "NOT_FOUND", "UNAUTHORIZED", "DUPLICATE_ACCOUNTING_RECORD_IDS", "ACCOUNTING_RECORD_NOT_READY_FOR_EXPORT", "VENDOR_ACCOUNT_ID_MISMATCH" - `message` (string, required) Human-readable error message Example: "The request is malformed or contains invalid data." - `details` (object,null) Additional error context - `details.existing_integration_id` (string) ID of the existing active integration Example: "int_abc123" - `details.existing_vendor` (string) Vendor of the existing integration Example: "ERP_A" - `details.requested_vendor` (string) Vendor that was requested to be created Example: "ERP_B" - `details.integration_id` (string) Integration ID associated with the error Example: "int_abc123" - `details.current_status` (string) Current status of the integration when the error occurred Example: "DISABLED" - `details.duplicate_accounting_record_ids` (array) Accounting record IDs that triggered the error Example: ["accr_abc123","accr_def456"] - `details.not_ready_for_export_accounting_record_ids` (array) Accounting record IDs that are not ready for export Example: ["accr_ghi789"] - `details.not_found_export_entry_source_ids` (array) Accounting record IDs that could not be found Example: ["accr_ghi789"] ## Response 401 fields (application/json): - `error_code` (string, required) Machine-readable error code Enum: "ACTIVE_INTEGRATION_EXISTS", "FORBIDDEN", "INTEGRATION_NOT_ACTIVE", "INTERNAL_ERROR", "INVALID_REQUEST", "NOT_FOUND", "UNAUTHORIZED", "DUPLICATE_ACCOUNTING_RECORD_IDS", "ACCOUNTING_RECORD_NOT_READY_FOR_EXPORT", "VENDOR_ACCOUNT_ID_MISMATCH" - `message` (string, required) Human-readable error message Example: "The request is malformed or contains invalid data." - `details` (object,null) Additional error context - `details.existing_integration_id` (string) ID of the existing active integration Example: "int_abc123" - `details.existing_vendor` (string) Vendor of the existing integration Example: "ERP_A" - `details.requested_vendor` (string) Vendor that was requested to be created Example: "ERP_B" - `details.integration_id` (string) Integration ID associated with the error Example: "int_abc123" - `details.current_status` (string) Current status of the integration when the error occurred Example: "DISABLED" - `details.duplicate_accounting_record_ids` (array) Accounting record IDs that triggered the error Example: ["accr_abc123","accr_def456"] - `details.not_ready_for_export_accounting_record_ids` (array) Accounting record IDs that are not ready for export Example: ["accr_ghi789"] - `details.not_found_export_entry_source_ids` (array) Accounting record IDs that could not be found Example: ["accr_ghi789"] ## Response 403 fields (application/json): - `error_code` (string, required) Machine-readable error code Enum: "ACTIVE_INTEGRATION_EXISTS", "FORBIDDEN", "INTEGRATION_NOT_ACTIVE", "INTERNAL_ERROR", "INVALID_REQUEST", "NOT_FOUND", "UNAUTHORIZED", "DUPLICATE_ACCOUNTING_RECORD_IDS", "ACCOUNTING_RECORD_NOT_READY_FOR_EXPORT", "VENDOR_ACCOUNT_ID_MISMATCH" - `message` (string, required) Human-readable error message Example: "The request is malformed or contains invalid data." - `details` (object,null) Additional error context - `details.existing_integration_id` (string) ID of the existing active integration Example: "int_abc123" - `details.existing_vendor` (string) Vendor of the existing integration Example: "ERP_A" - `details.requested_vendor` (string) Vendor that was requested to be created Example: "ERP_B" - `details.integration_id` (string) Integration ID associated with the error Example: "int_abc123" - `details.current_status` (string) Current status of the integration when the error occurred Example: "DISABLED" - `details.duplicate_accounting_record_ids` (array) Accounting record IDs that triggered the error Example: ["accr_abc123","accr_def456"] - `details.not_ready_for_export_accounting_record_ids` (array) Accounting record IDs that are not ready for export Example: ["accr_ghi789"] - `details.not_found_export_entry_source_ids` (array) Accounting record IDs that could not be found Example: ["accr_ghi789"] ## Response 404 fields (application/json): - `error_code` (string, required) Machine-readable error code Enum: "ACTIVE_INTEGRATION_EXISTS", "FORBIDDEN", "INTEGRATION_NOT_ACTIVE", "INTERNAL_ERROR", "INVALID_REQUEST", "NOT_FOUND", "UNAUTHORIZED", "DUPLICATE_ACCOUNTING_RECORD_IDS", "ACCOUNTING_RECORD_NOT_READY_FOR_EXPORT", "VENDOR_ACCOUNT_ID_MISMATCH" - `message` (string, required) Human-readable error message Example: "The request is malformed or contains invalid data." - `details` (object,null) Additional error context - `details.existing_integration_id` (string) ID of the existing active integration Example: "int_abc123" - `details.existing_vendor` (string) Vendor of the existing integration Example: "ERP_A" - `details.requested_vendor` (string) Vendor that was requested to be created Example: "ERP_B" - `details.integration_id` (string) Integration ID associated with the error Example: "int_abc123" - `details.current_status` (string) Current status of the integration when the error occurred Example: "DISABLED" - `details.duplicate_accounting_record_ids` (array) Accounting record IDs that triggered the error Example: ["accr_abc123","accr_def456"] - `details.not_ready_for_export_accounting_record_ids` (array) Accounting record IDs that are not ready for export Example: ["accr_ghi789"] - `details.not_found_export_entry_source_ids` (array) Accounting record IDs that could not be found Example: ["accr_ghi789"] ## Response 500 fields (application/json): - `error_code` (string, required) Machine-readable error code Enum: "ACTIVE_INTEGRATION_EXISTS", "FORBIDDEN", "INTEGRATION_NOT_ACTIVE", "INTERNAL_ERROR", "INVALID_REQUEST", "NOT_FOUND", "UNAUTHORIZED", "DUPLICATE_ACCOUNTING_RECORD_IDS", "ACCOUNTING_RECORD_NOT_READY_FOR_EXPORT", "VENDOR_ACCOUNT_ID_MISMATCH" - `message` (string, required) Human-readable error message Example: "The request is malformed or contains invalid data." - `details` (object,null) Additional error context - `details.existing_integration_id` (string) ID of the existing active integration Example: "int_abc123" - `details.existing_vendor` (string) Vendor of the existing integration Example: "ERP_A" - `details.requested_vendor` (string) Vendor that was requested to be created Example: "ERP_B" - `details.integration_id` (string) Integration ID associated with the error Example: "int_abc123" - `details.current_status` (string) Current status of the integration when the error occurred Example: "DISABLED" - `details.duplicate_accounting_record_ids` (array) Accounting record IDs that triggered the error Example: ["accr_abc123","accr_def456"] - `details.not_ready_for_export_accounting_record_ids` (array) Accounting record IDs that are not ready for export Example: ["accr_ghi789"] - `details.not_found_export_entry_source_ids` (array) Accounting record IDs that could not be found Example: ["accr_ghi789"]