Skip to content

ExpensesPaths

Defined in: src/expenses/types.gen.ts:2

/v1/expenses: object

Defined in: src/expenses/types.gen.ts:3

optional delete?: undefined

get: object

List expenses

List expenses under the same account. Admin and bookkeeper have access to any expense, and regular users can only access their own.

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: object

optional budget_id[]?: string[] | null

optional cursor?: string | null

The cursor to use for pagination. This is the next_cursor value returned from the previous response.

optional expand[]?: string[] | null

Get additional details for the expense, e.g. merchant mcc code, by passing in expand[]=merchant. Query parameters include location, department, merchant, receipts.download_uris, user, budget, payment, spending_entity and policy.

?expand[]=merchant&expand[]=location

optional expense_type[]?: ("CARD" | "REIMBURSEMENT" | "BILLPAY" | "CLAWBACK" | "UNSET")[] | null

optional limit?: number | null

Controls the maximum number of expenses returned in the response, can’t be greater than 100

optional load_custom_fields?: boolean | null

Load custom fields for the expenses.

optional parent_expense_id[]?: string[] | null

Get itemized expenses belong to provided parent expenses ID(s).

get.parameters.query.payment_posted_at_end?
Section titled “get.parameters.query.payment_posted_at_end?”

optional payment_posted_at_end?: string | null

Shows only expenses with a payment_posted_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999
get.parameters.query.payment_posted_at_start?
Section titled “get.parameters.query.payment_posted_at_start?”

optional payment_posted_at_start?: string | null

Shows only expenses with a payment_posted_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999

optional payment_status[]?: ("NOT_STARTED" | "PROCESSING" | "CANCELED" | "DECLINED" | "CLEARED" | "REFUNDING" | "REFUNDED" | "CASH_ADVANCE" | "CREDITED" | "AWAITING_PAYMENT" | "SCHEDULED")[] | null

optional purchased_at_end?: string | null

Shows only expenses with a purchased_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999

optional purchased_at_start?: string | null

Shows only expenses with a purchased_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999
get.parameters.query.spending_entity_id[]?
Section titled “get.parameters.query.spending_entity_id[]?”

optional spending_entity_id[]?: string[] | null

optional status[]?: ("APPROVED" | "CANCELED" | "DRAFT" | "SUBMITTED" | "OUT_OF_POLICY" | "VOID" | "SPLIT" | "SETTLED")[] | null

optional updated_at_end?: string | null

Shows only expenses with a updated_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999

optional updated_at_start?: string | null

Shows only expenses with a updated_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999

optional user_id[]?: string[] | null

Get expenses belong to provided user(s).

optional requestBody?: undefined

responses: object

200: object

List expenses response.

content: object

get.responses.200.content.application/json
Section titled “get.responses.200.content.application/json”

application/json: object

get.responses.200.content.application/json.items
Section titled “get.responses.200.content.application/json.items”

items: object[]

get.responses.200.content.application/json.next_cursor?
Section titled “get.responses.200.content.application/json.next_cursor?”

optional next_cursor?: string | null

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

optional post?: undefined

optional put?: undefined

optional trace?: undefined


/v1/expenses/{id}: object

Defined in: src/expenses/types.gen.ts:23

optional delete?: undefined

get: object

Get an expense

Get an expense by its ID.

parameters: object

optional cookie?: undefined

optional header?: undefined

path: object

id: string

optional query?: object

optional expand[]?: string[] | null

Get additional details for the expense, e.g. merchant mcc code, by passing in expand[]=merchant. Query parameters include location, department, merchant, receipts.download_uris, user, budget, payment, spending_entity and policy.

?expand[]=merchant&expand[]=location

optional load_custom_fields?: boolean | null

Load custom fields for the expense.

optional requestBody?: undefined

responses: object

200: object

Get an expense response.

content: object

get.responses.200.content.application/json
Section titled “get.responses.200.content.application/json”

application/json: object

get.responses.200.content.application/json.address?
Section titled “get.responses.200.content.application/json.address?”

optional address?: { city?: string | null; coordinates?: { latitude: number; longitude: number; } | null; country?: string | null; line1?: string | null; line2?: string | null; postal_code?: string | null; state?: string | null; timezone?: string | null; } | null

{ city?: string | null; coordinates?: { latitude: number; longitude: number; } | null; country?: string | null; line1?: string | null; line2?: string | null; postal_code?: string | null; state?: string | null; timezone?: string | null; }

optional city?: string | null

City, district, suburb, town, or village.

optional coordinates?: { latitude: number; longitude: number; } | null

{ latitude: number; longitude: number; }

latitude: number

Format: double

longitude: number

Format: double


null

optional country?: string | null

Two-letter country code (ISO 3166-1 alpha-2).

optional line1?: string | null

Address line 1, no PO Box.

optional line2?: string | null

Address line 2 (e.g., apartment, suite, unit, or building).

optional postal_code?: string | null

ZIP or postal code.

optional state?: string | null

For US-addressed the 2-letter State abbreviation. For international-addresses the county, providence, or region.

optional timezone?: string | null

Timezone.


null

get.responses.200.content.application/json.approved_at?
Section titled “get.responses.200.content.application/json.approved_at?”

optional approved_at?: string | null

Format: date-time

The time the expense is approved.

get.responses.200.content.application/json.billing_amount?
Section titled “get.responses.200.content.application/json.billing_amount?”

optional billing_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.billing_entity_id?
Section titled “get.responses.200.content.application/json.billing_entity_id?”

optional billing_entity_id?: string | null

ID of the legal entity responsible for billing the expense.

get.responses.200.content.application/json.booking_id?
Section titled “get.responses.200.content.application/json.booking_id?”

optional booking_id?: string | null

The booking ID associated with the expense if it is a trip expense.

get.responses.200.content.application/json.budget?
Section titled “get.responses.200.content.application/json.budget?”

optional budget?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

Unique ID for the Budget.

name: string

Name for the Budget.


null

get.responses.200.content.application/json.budget_amount?
Section titled “get.responses.200.content.application/json.budget_amount?”

optional budget_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.budget_id?
Section titled “get.responses.200.content.application/json.budget_id?”

optional budget_id?: string | null

get.responses.200.content.application/json.category?
Section titled “get.responses.200.content.application/json.category?”

optional category?: "GROCERY" | "TELEPHONY" | "OFFICE_SUPPLIES" | "PRIVATE_AIR_TRAVEL" | "CLOTHING" | "CAR_RENTAL" | "VEHICLE_EXPENSES" | "RESTAURANTS" | "GAMBLING" | "FLOWERS" | "ELECTRONICS" | "LEGAL_SERVICES" | "UTILITIES" | "FURNITURE" | "LAUNDRY" | "EVENT_EXPENSES" | "SHIPPING" | "OTHER_TRAVEL_EXPENSES" | "CHARITY" | "LODGING" | "FACILITIES_EXPENSES" | "SERVERS" | "CONFERENCES" | "FOOD_DELIVERY" | "RENT" | "AIRLINE_EXPENSES" | "OTHER_BUSINESS_EXPENSES" | "CORPORATE_INSURANCE" | "DIGITAL_GOODS" | "GENERAL_MERCHANDISE" | "MEDICAL" | "PARKING_EXPENSES" | "POLITICAL_DONATIONS" | "PUBLIC_TRANSPORTATION" | "ADVERTISING_AND_MARKETING" | "BARS_AND_NIGHTLIFE" | "SOFTWARE_NON_RECURRING" | "BANK_AND_FINANCIAL_FEES" | "BOOKS_AND_NEWSPAPERS" | "CONSULTANT_AND_CONTRACTOR" | "FEES_AND_LICENSES_AND_TAXES" | "GAS_AND_FUEL" | "MEMBERSHIPS_AND_CLUBS" | "RECURRING_SOFTWARE_AND_SAAS" | "RIDESHARE_AND_TAXI" | "TOLL_AND_BRIDGE_FEES" | "TRAINING_AND_EDUCATION" | "TRAVEL_WIFI" | null

get.responses.200.content.application/json.completion_date?
Section titled “get.responses.200.content.application/json.completion_date?”

optional completion_date?: string | null

Format: date-time

The time payment will be completed/is completed.

get.responses.200.content.application/json.custom_fields?
Section titled “get.responses.200.content.application/json.custom_fields?”

optional custom_fields?: object[] | null

A list of custom field values associated with the expense.

get.responses.200.content.application/json.dashboard_url
Section titled “get.responses.200.content.application/json.dashboard_url”

dashboard_url: string

URL to view the expense in the Brex dashboard.

get.responses.200.content.application/json.department?
Section titled “get.responses.200.content.application/json.department?”

optional department?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the department.

name: string

The name of the department.


null

get.responses.200.content.application/json.department_id?
Section titled “get.responses.200.content.application/json.department_id?”

optional department_id?: string | null

get.responses.200.content.application/json.expense_line_items?
Section titled “get.responses.200.content.application/json.expense_line_items?”

optional expense_line_items?: { address?: { city?: string | null | undefined; coordinates?: { latitude: number; longitude: number; } | null | undefined; country?: string | null | undefined; line1?: string | null | undefined; line2?: string | … 1 more … | undefined; postal_code?: string | … 1 more … | undefined; state?: string | … 1 mor…[] | null

The expense line items. Limited to 100 items.

get.responses.200.content.application/json.expense_type?
Section titled “get.responses.200.content.application/json.expense_type?”

optional expense_type?: "CARD" | "REIMBURSEMENT" | "BILLPAY" | "CLAWBACK" | "UNSET" | null

get.responses.200.content.application/json.exported_at?
Section titled “get.responses.200.content.application/json.exported_at?”

optional exported_at?: string | null

Format: date-time

Timestamp when the expense was exported to the accounting system.

get.responses.200.content.application/json.id
Section titled “get.responses.200.content.application/json.id”

id: string

Unique ID associated with the expense.

get.responses.200.content.application/json.integration_billing_entity_id?
Section titled “get.responses.200.content.application/json.integration_billing_entity_id?”

optional integration_billing_entity_id?: string | null

ID of the billing entity in accounting.

get.responses.200.content.application/json.integration_spending_entity_id?
Section titled “get.responses.200.content.application/json.integration_spending_entity_id?”

optional integration_spending_entity_id?: string | null

ID of the spending entity in accounting.

get.responses.200.content.application/json.location?
Section titled “get.responses.200.content.application/json.location?”

optional location?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the location.

name: string

The name of the location.


null

get.responses.200.content.application/json.location_id?
Section titled “get.responses.200.content.application/json.location_id?”

optional location_id?: string | null

get.responses.200.content.application/json.memo?
Section titled “get.responses.200.content.application/json.memo?”

optional memo?: string | null

The memo of the expense.

get.responses.200.content.application/json.merchant?
Section titled “get.responses.200.content.application/json.merchant?”

optional merchant?: { country: string; mcc: string; raw_descriptor: string; } | null

{ country: string; mcc: string; raw_descriptor: string; }

country: string

Merchant’s country, in ISO 3166-1 alpha-3 format.

mcc: string

A four-digit number listed in ISO 18245 for retail financial services, e.g. 4121 for Taxicabs and Rideshares. Please refer to https://en.wikipedia.org/wiki/Merchant_category_code for more details.

raw_descriptor: string

Merchant descriptor, it can be the merchant name.


null

get.responses.200.content.application/json.merchant_id?
Section titled “get.responses.200.content.application/json.merchant_id?”

optional merchant_id?: string | null

get.responses.200.content.application/json.original_amount?
Section titled “get.responses.200.content.application/json.original_amount?”

optional original_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.payment?
Section titled “get.responses.200.content.application/json.payment?”

optional payment?: { id: string; paymentInstrument: Omit<object & object & object, "type">; statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"; } | null

{ id: string; paymentInstrument: Omit<object & object & object, "type">; statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"; }

id: string

Unique ID for the payment.

paymentInstrument: Omit<object & object & object, "type">

statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"


null

get.responses.200.content.application/json.payment_posted_at?
Section titled “get.responses.200.content.application/json.payment_posted_at?”

optional payment_posted_at?: string | null

Format: date-time

get.responses.200.content.application/json.payment_status?
Section titled “get.responses.200.content.application/json.payment_status?”

optional payment_status?: "NOT_STARTED" | "PROCESSING" | "CANCELED" | "DECLINED" | "CLEARED" | "REFUNDING" | "REFUNDED" | "CASH_ADVANCE" | "CREDITED" | "AWAITING_PAYMENT" | "SCHEDULED" | null

get.responses.200.content.application/json.policy?
Section titled “get.responses.200.content.application/json.policy?”

optional policy?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the policy.

name: string

The display name of the policy.


null

get.responses.200.content.application/json.purchased_amount?
Section titled “get.responses.200.content.application/json.purchased_amount?”

optional purchased_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.purchased_at?
Section titled “get.responses.200.content.application/json.purchased_at?”

optional purchased_at?: string | null

Format: date-time

The time the purchase was made.

get.responses.200.content.application/json.receipts?
Section titled “get.responses.200.content.application/json.receipts?”

optional receipts?: object[] | null

A list of receipts associated with the expense.

get.responses.200.content.application/json.repayment?
Section titled “get.responses.200.content.application/json.repayment?”

optional repayment?: { repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null; repayment_initiation_date?: string | null; } | null

{ repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null; repayment_initiation_date?: string | null; }

optional repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null

{ department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; }

optional department_id?: … | … | …

first_name: string

First name of the User.

id: string

Unique ID for the User.

last_name: string

Last name of the User.

optional location_id?: … | … | …


null

optional repayment_initiation_date?: string | null

Format: date-time


null

get.responses.200.content.application/json.review?
Section titled “get.responses.200.content.application/json.review?”

optional review?: { approval_steps: object[] | null; compliance_status: string | null; } | null

{ approval_steps: object[] | null; compliance_status: string | null; }

approval_steps: object[] | null

Information for each approval step of the expense

compliance_status: string | null

Compliance status of the expense


null

get.responses.200.content.application/json.spending_entity?
Section titled “get.responses.200.content.application/json.spending_entity?”

optional spending_entity?: { billing_address: { city?: string | null; country?: string | null; line1?: string | null; line2?: string | null; phone_number?: string | null; postal_code?: string | null; state?: string | null; }; created_at: string; display_name: string; id: string; is_default?: boolean; status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"; } | null

{ billing_address: { city?: string | null; country?: string | null; line1?: string | null; line2?: string | null; phone_number?: string | null; postal_code?: string | null; state?: string | null; }; created_at: string; display_name: string; id: string; is_default?: boolean; status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"; }

billing_address: object

optional city?: string | null

City, district, suburb, town, or village.

optional country?: string | null

Two-letter country code (ISO 3166-1 alpha-2).

optional line1?: string | null

Address line 1, no PO Box.

optional line2?: string | null

Address line 2 (e.g., apartment, suite, unit, or building).

optional phone_number?: string | null

Phone number.

optional postal_code?: string | null

ZIP or postal code.

optional state?: string | null

For US-addressed the 2-letter State abbreviation. For international-addresses the county, providence, or region.

created_at: string

Format: date-time

Timestamp, in UTC, when this legal entity was created.

display_name: string

The display name of this legal entity.

id: string

The ID of this legal entity.

optional is_default?: boolean

Whether this is the default entity of the account.

status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"


null

get.responses.200.content.application/json.spending_entity_id?
Section titled “get.responses.200.content.application/json.spending_entity_id?”

optional spending_entity_id?: string | null

The spending entity ID associated with the expense.

get.responses.200.content.application/json.status?
Section titled “get.responses.200.content.application/json.status?”

optional status?: "APPROVED" | "CANCELED" | "DRAFT" | "SUBMITTED" | "OUT_OF_POLICY" | "VOID" | "SPLIT" | "SETTLED" | null

get.responses.200.content.application/json.submitted_at?
Section titled “get.responses.200.content.application/json.submitted_at?”

optional submitted_at?: string | null

Format: date-time

The time the expense is submitted,

get.responses.200.content.application/json.trip_id?
Section titled “get.responses.200.content.application/json.trip_id?”

optional trip_id?: string | null

The trip ID associated with the expense if it is a trip expense.

get.responses.200.content.application/json.updated_at
Section titled “get.responses.200.content.application/json.updated_at”

updated_at: string

Format: date-time

The last time the expense was updated.

get.responses.200.content.application/json.usd_equivalent_amount?
Section titled “get.responses.200.content.application/json.usd_equivalent_amount?”

optional usd_equivalent_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.user?
Section titled “get.responses.200.content.application/json.user?”

optional user?: { department_id?: string | null; first_name: string; id: string; last_name: string; location_id?: string | null; } | null

{ department_id?: string | null; first_name: string; id: string; last_name: string; location_id?: string | null; }

optional department_id?: string | null

first_name: string

First name of the User.

id: string

Unique ID for the User.

last_name: string

Last name of the User.

optional location_id?: string | null


null

get.responses.200.content.application/json.user_id?
Section titled “get.responses.200.content.application/json.user_id?”

optional user_id?: string | null

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

404: object

Not found

optional content?: undefined

headers: object

[name: string]: unknown

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

optional post?: undefined

optional put?: undefined

optional trace?: undefined


/v1/expenses/card: object

Defined in: src/expenses/types.gen.ts:43

optional delete?: undefined

get: object

List card expenses

This endpoint is deprecated. Use the “List expenses” (GET /v1/expenses) endpoint instead.

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: object

optional budget_id[]?: string[] | null

optional cursor?: string | null

The cursor to use for pagination. This is the next_cursor value returned from the previous response.

optional expand[]?: string[] | null

Get additional details for the expense, e.g. merchant mcc code, by passing in expand[]=merchant. Query parameters include location, department, merchant, receipts.download_uris, user, budget, payment, spending_entity and policy.

?expand[]=merchant&expand[]=location

optional limit?: number | null

Controls the maximum number of expenses returned in the response, can’t be greater than 100

optional load_custom_fields?: boolean | null

Load custom fields for the expenses.

optional parent_expense_id[]?: string[] | null

Get itemized expenses belong to provided parent expenses ID(s).

get.parameters.query.payment_posted_at_end?
Section titled “get.parameters.query.payment_posted_at_end?”

optional payment_posted_at_end?: string | null

Shows only expenses with a payment_posted_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999
get.parameters.query.payment_posted_at_start?
Section titled “get.parameters.query.payment_posted_at_start?”

optional payment_posted_at_start?: string | null

Shows only expenses with a payment_posted_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999

optional payment_status[]?: ("NOT_STARTED" | "PROCESSING" | "CANCELED" | "DECLINED" | "CLEARED" | "REFUNDING" | "REFUNDED" | "CASH_ADVANCE" | "CREDITED" | "AWAITING_PAYMENT" | "SCHEDULED")[] | null

optional purchased_at_end?: string | null

Shows only expenses with a purchased_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999

optional purchased_at_start?: string | null

Shows only expenses with a purchased_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999
get.parameters.query.spending_entity_id[]?
Section titled “get.parameters.query.spending_entity_id[]?”

optional spending_entity_id[]?: string[] | null

optional status[]?: ("APPROVED" | "CANCELED" | "DRAFT" | "SUBMITTED" | "OUT_OF_POLICY" | "VOID" | "SPLIT" | "SETTLED")[] | null

optional updated_at_end?: string | null

Shows only expenses with a updated_at on or before this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-10T23:59:59.999

optional updated_at_start?: string | null

Shows only expenses with a updated_at on or after this date-time. This parameter is the date-time notation as defined by RFC 3339, section 5.6, e.g. 2022-11-12T23:59:59.999

2023-01-01T23:59:59.999

optional user_id[]?: string[] | null

Get expenses belong to provided user(s).

optional requestBody?: undefined

responses: object

200: object

List expenses response.

content: object

get.responses.200.content.application/json
Section titled “get.responses.200.content.application/json”

application/json: object

get.responses.200.content.application/json.items
Section titled “get.responses.200.content.application/json.items”

items: object[]

get.responses.200.content.application/json.next_cursor?
Section titled “get.responses.200.content.application/json.next_cursor?”

optional next_cursor?: string | null

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

optional post?: undefined

optional put?: undefined

optional trace?: undefined


/v1/expenses/card/{expense_id}: object

Defined in: src/expenses/types.gen.ts:64

optional delete?: undefined

get: object

Get a card expense

This endpoint is deprecated. Use the “Get an expense” (GET /v1/expenses/{id}) endpoint instead.

parameters: object

optional cookie?: undefined

optional header?: undefined

path: object

expense_id: string

optional query?: object

optional expand[]?: string[] | null

Get additional details for the expense, e.g. merchant mcc code, by passing in expand[]=merchant. Query parameters include location, department, merchant, receipts.download_uris, user, budget, payment, spending_entity and policy.

?expand[]=merchant&expand[]=location

optional load_custom_fields?: boolean | null

Load custom fields for the expense.

optional requestBody?: undefined

responses: object

200: object

Get an expense response.

content: object

get.responses.200.content.application/json
Section titled “get.responses.200.content.application/json”

application/json: object

get.responses.200.content.application/json.address?
Section titled “get.responses.200.content.application/json.address?”

optional address?: { city?: string | null; coordinates?: { latitude: number; longitude: number; } | null; country?: string | null; line1?: string | null; line2?: string | null; postal_code?: string | null; state?: string | null; timezone?: string | null; } | null

{ city?: string | null; coordinates?: { latitude: number; longitude: number; } | null; country?: string | null; line1?: string | null; line2?: string | null; postal_code?: string | null; state?: string | null; timezone?: string | null; }

optional city?: string | null

City, district, suburb, town, or village.

optional coordinates?: { latitude: number; longitude: number; } | null

{ latitude: number; longitude: number; }

latitude: number

Format: double

longitude: number

Format: double


null

optional country?: string | null

Two-letter country code (ISO 3166-1 alpha-2).

optional line1?: string | null

Address line 1, no PO Box.

optional line2?: string | null

Address line 2 (e.g., apartment, suite, unit, or building).

optional postal_code?: string | null

ZIP or postal code.

optional state?: string | null

For US-addressed the 2-letter State abbreviation. For international-addresses the county, providence, or region.

optional timezone?: string | null

Timezone.


null

get.responses.200.content.application/json.approved_at?
Section titled “get.responses.200.content.application/json.approved_at?”

optional approved_at?: string | null

Format: date-time

The time the expense is approved.

get.responses.200.content.application/json.billing_amount?
Section titled “get.responses.200.content.application/json.billing_amount?”

optional billing_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.billing_entity_id?
Section titled “get.responses.200.content.application/json.billing_entity_id?”

optional billing_entity_id?: string | null

ID of the legal entity responsible for billing the expense.

get.responses.200.content.application/json.booking_id?
Section titled “get.responses.200.content.application/json.booking_id?”

optional booking_id?: string | null

The booking ID associated with the expense if it is a trip expense.

get.responses.200.content.application/json.budget?
Section titled “get.responses.200.content.application/json.budget?”

optional budget?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

Unique ID for the Budget.

name: string

Name for the Budget.


null

get.responses.200.content.application/json.budget_amount?
Section titled “get.responses.200.content.application/json.budget_amount?”

optional budget_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.budget_id?
Section titled “get.responses.200.content.application/json.budget_id?”

optional budget_id?: string | null

get.responses.200.content.application/json.category?
Section titled “get.responses.200.content.application/json.category?”

optional category?: "GROCERY" | "TELEPHONY" | "OFFICE_SUPPLIES" | "PRIVATE_AIR_TRAVEL" | "CLOTHING" | "CAR_RENTAL" | "VEHICLE_EXPENSES" | "RESTAURANTS" | "GAMBLING" | "FLOWERS" | "ELECTRONICS" | "LEGAL_SERVICES" | "UTILITIES" | "FURNITURE" | "LAUNDRY" | "EVENT_EXPENSES" | "SHIPPING" | "OTHER_TRAVEL_EXPENSES" | "CHARITY" | "LODGING" | "FACILITIES_EXPENSES" | "SERVERS" | "CONFERENCES" | "FOOD_DELIVERY" | "RENT" | "AIRLINE_EXPENSES" | "OTHER_BUSINESS_EXPENSES" | "CORPORATE_INSURANCE" | "DIGITAL_GOODS" | "GENERAL_MERCHANDISE" | "MEDICAL" | "PARKING_EXPENSES" | "POLITICAL_DONATIONS" | "PUBLIC_TRANSPORTATION" | "ADVERTISING_AND_MARKETING" | "BARS_AND_NIGHTLIFE" | "SOFTWARE_NON_RECURRING" | "BANK_AND_FINANCIAL_FEES" | "BOOKS_AND_NEWSPAPERS" | "CONSULTANT_AND_CONTRACTOR" | "FEES_AND_LICENSES_AND_TAXES" | "GAS_AND_FUEL" | "MEMBERSHIPS_AND_CLUBS" | "RECURRING_SOFTWARE_AND_SAAS" | "RIDESHARE_AND_TAXI" | "TOLL_AND_BRIDGE_FEES" | "TRAINING_AND_EDUCATION" | "TRAVEL_WIFI" | null

get.responses.200.content.application/json.completion_date?
Section titled “get.responses.200.content.application/json.completion_date?”

optional completion_date?: string | null

Format: date-time

The time payment will be completed/is completed.

get.responses.200.content.application/json.custom_fields?
Section titled “get.responses.200.content.application/json.custom_fields?”

optional custom_fields?: object[] | null

A list of custom field values associated with the expense.

get.responses.200.content.application/json.dashboard_url
Section titled “get.responses.200.content.application/json.dashboard_url”

dashboard_url: string

URL to view the expense in the Brex dashboard.

get.responses.200.content.application/json.department?
Section titled “get.responses.200.content.application/json.department?”

optional department?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the department.

name: string

The name of the department.


null

get.responses.200.content.application/json.department_id?
Section titled “get.responses.200.content.application/json.department_id?”

optional department_id?: string | null

get.responses.200.content.application/json.expense_line_items?
Section titled “get.responses.200.content.application/json.expense_line_items?”

optional expense_line_items?: { address?: { city?: string | null | undefined; coordinates?: { latitude: number; longitude: number; } | null | undefined; country?: string | null | undefined; line1?: string | null | undefined; line2?: string | … 1 more … | undefined; postal_code?: string | … 1 more … | undefined; state?: string | … 1 mor…[] | null

The expense line items. Limited to 100 items.

get.responses.200.content.application/json.expense_type?
Section titled “get.responses.200.content.application/json.expense_type?”

optional expense_type?: "CARD" | "REIMBURSEMENT" | "BILLPAY" | "CLAWBACK" | "UNSET" | null

get.responses.200.content.application/json.exported_at?
Section titled “get.responses.200.content.application/json.exported_at?”

optional exported_at?: string | null

Format: date-time

Timestamp when the expense was exported to the accounting system.

get.responses.200.content.application/json.id
Section titled “get.responses.200.content.application/json.id”

id: string

Unique ID associated with the expense.

get.responses.200.content.application/json.integration_billing_entity_id?
Section titled “get.responses.200.content.application/json.integration_billing_entity_id?”

optional integration_billing_entity_id?: string | null

ID of the billing entity in accounting.

get.responses.200.content.application/json.integration_spending_entity_id?
Section titled “get.responses.200.content.application/json.integration_spending_entity_id?”

optional integration_spending_entity_id?: string | null

ID of the spending entity in accounting.

get.responses.200.content.application/json.location?
Section titled “get.responses.200.content.application/json.location?”

optional location?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the location.

name: string

The name of the location.


null

get.responses.200.content.application/json.location_id?
Section titled “get.responses.200.content.application/json.location_id?”

optional location_id?: string | null

get.responses.200.content.application/json.memo?
Section titled “get.responses.200.content.application/json.memo?”

optional memo?: string | null

The memo of the expense.

get.responses.200.content.application/json.merchant?
Section titled “get.responses.200.content.application/json.merchant?”

optional merchant?: { country: string; mcc: string; raw_descriptor: string; } | null

{ country: string; mcc: string; raw_descriptor: string; }

country: string

Merchant’s country, in ISO 3166-1 alpha-3 format.

mcc: string

A four-digit number listed in ISO 18245 for retail financial services, e.g. 4121 for Taxicabs and Rideshares. Please refer to https://en.wikipedia.org/wiki/Merchant_category_code for more details.

raw_descriptor: string

Merchant descriptor, it can be the merchant name.


null

get.responses.200.content.application/json.merchant_id?
Section titled “get.responses.200.content.application/json.merchant_id?”

optional merchant_id?: string | null

get.responses.200.content.application/json.original_amount?
Section titled “get.responses.200.content.application/json.original_amount?”

optional original_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.payment?
Section titled “get.responses.200.content.application/json.payment?”

optional payment?: { id: string; paymentInstrument: Omit<object & object & object, "type">; statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"; } | null

{ id: string; paymentInstrument: Omit<object & object & object, "type">; statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"; }

id: string

Unique ID for the payment.

paymentInstrument: Omit<object & object & object, "type">

statusReason: "APPROVED" | "OTHER" | "EXCEEDED_BUDGET_LIMIT" | "BUDGET_EXPIRED" | "NO_BUDGET" | "BUDGET_NOT_YET_STARTED" | "BUDGET_CATEGORY_RESTRICTION" | "BUDGET_MERCHANT_RESTRICTION" | "SUSPECTED_FRAUD" | "EXCEEDED_GLOBAL_LIMIT" | "EXCEEDED_USER_LIMIT" | "EXCEEDED_CARD_LIMIT" | "INVALID_EXPIRATION_DATE" | "CARD_NOT_ACTIVE" | "INVALID_CARD_CREDENTIALS" | "INVALID_BILLING_ADDRESS" | "CARD_SUSPENDED" | "CARD_TERMINATED" | "CARD_EXPIRED" | "MCC_BLOCKED" | "USER_SUSPENDED" | "INVALID_PIN" | "INVALID_CVV" | "EXCEEDED_PIN_ATTEMPTS" | "INSIDE_SANCTIONED_COUNTRY" | "SOFT_EXPIRATION" | "TRANSFERRED_CARD_NEW_MERCHANT" | "EXCEEDED_ANCESTOR_BUDGET_LIMIT" | "EXCEEDED_BUDGET_TRANSACTION_LIMIT" | "TOS_BLOCKED" | "COMPLIANCE_BLOCKED"


null

get.responses.200.content.application/json.payment_posted_at?
Section titled “get.responses.200.content.application/json.payment_posted_at?”

optional payment_posted_at?: string | null

Format: date-time

get.responses.200.content.application/json.payment_status?
Section titled “get.responses.200.content.application/json.payment_status?”

optional payment_status?: "NOT_STARTED" | "PROCESSING" | "CANCELED" | "DECLINED" | "CLEARED" | "REFUNDING" | "REFUNDED" | "CASH_ADVANCE" | "CREDITED" | "AWAITING_PAYMENT" | "SCHEDULED" | null

get.responses.200.content.application/json.policy?
Section titled “get.responses.200.content.application/json.policy?”

optional policy?: { id: string; name: string; } | null

{ id: string; name: string; }

id: string

The unique identifier for the policy.

name: string

The display name of the policy.


null

get.responses.200.content.application/json.purchased_amount?
Section titled “get.responses.200.content.application/json.purchased_amount?”

optional purchased_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.purchased_at?
Section titled “get.responses.200.content.application/json.purchased_at?”

optional purchased_at?: string | null

Format: date-time

The time the purchase was made.

get.responses.200.content.application/json.receipts?
Section titled “get.responses.200.content.application/json.receipts?”

optional receipts?: object[] | null

A list of receipts associated with the expense.

get.responses.200.content.application/json.repayment?
Section titled “get.responses.200.content.application/json.repayment?”

optional repayment?: { repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null; repayment_initiation_date?: string | null; } | null

{ repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null; repayment_initiation_date?: string | null; }

optional repayment_initiated_by?: { department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; } | null

{ department_id?: … | … | …; first_name: string; id: string; last_name: string; location_id?: … | … | …; }

optional department_id?: … | … | …

first_name: string

First name of the User.

id: string

Unique ID for the User.

last_name: string

Last name of the User.

optional location_id?: … | … | …


null

optional repayment_initiation_date?: string | null

Format: date-time


null

get.responses.200.content.application/json.review?
Section titled “get.responses.200.content.application/json.review?”

optional review?: { approval_steps: object[] | null; compliance_status: string | null; } | null

{ approval_steps: object[] | null; compliance_status: string | null; }

approval_steps: object[] | null

Information for each approval step of the expense

compliance_status: string | null

Compliance status of the expense


null

get.responses.200.content.application/json.spending_entity?
Section titled “get.responses.200.content.application/json.spending_entity?”

optional spending_entity?: { billing_address: { city?: string | null; country?: string | null; line1?: string | null; line2?: string | null; phone_number?: string | null; postal_code?: string | null; state?: string | null; }; created_at: string; display_name: string; id: string; is_default?: boolean; status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"; } | null

{ billing_address: { city?: string | null; country?: string | null; line1?: string | null; line2?: string | null; phone_number?: string | null; postal_code?: string | null; state?: string | null; }; created_at: string; display_name: string; id: string; is_default?: boolean; status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"; }

billing_address: object

optional city?: string | null

City, district, suburb, town, or village.

optional country?: string | null

Two-letter country code (ISO 3166-1 alpha-2).

optional line1?: string | null

Address line 1, no PO Box.

optional line2?: string | null

Address line 2 (e.g., apartment, suite, unit, or building).

optional phone_number?: string | null

Phone number.

optional postal_code?: string | null

ZIP or postal code.

optional state?: string | null

For US-addressed the 2-letter State abbreviation. For international-addresses the county, providence, or region.

created_at: string

Format: date-time

Timestamp, in UTC, when this legal entity was created.

display_name: string

The display name of this legal entity.

id: string

The ID of this legal entity.

optional is_default?: boolean

Whether this is the default entity of the account.

status: "UNSUBMITTED" | "UNVERIFIED" | "IN_PROGRESS" | "VERIFIED" | "REJECTED"


null

get.responses.200.content.application/json.spending_entity_id?
Section titled “get.responses.200.content.application/json.spending_entity_id?”

optional spending_entity_id?: string | null

The spending entity ID associated with the expense.

get.responses.200.content.application/json.status?
Section titled “get.responses.200.content.application/json.status?”

optional status?: "APPROVED" | "CANCELED" | "DRAFT" | "SUBMITTED" | "OUT_OF_POLICY" | "VOID" | "SPLIT" | "SETTLED" | null

get.responses.200.content.application/json.submitted_at?
Section titled “get.responses.200.content.application/json.submitted_at?”

optional submitted_at?: string | null

Format: date-time

The time the expense is submitted,

get.responses.200.content.application/json.trip_id?
Section titled “get.responses.200.content.application/json.trip_id?”

optional trip_id?: string | null

The trip ID associated with the expense if it is a trip expense.

get.responses.200.content.application/json.updated_at
Section titled “get.responses.200.content.application/json.updated_at”

updated_at: string

Format: date-time

The last time the expense was updated.

get.responses.200.content.application/json.usd_equivalent_amount?
Section titled “get.responses.200.content.application/json.usd_equivalent_amount?”

optional usd_equivalent_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

get.responses.200.content.application/json.user?
Section titled “get.responses.200.content.application/json.user?”

optional user?: { department_id?: string | null; first_name: string; id: string; last_name: string; location_id?: string | null; } | null

{ department_id?: string | null; first_name: string; id: string; last_name: string; location_id?: string | null; }

optional department_id?: string | null

first_name: string

First name of the User.

id: string

Unique ID for the User.

last_name: string

Last name of the User.

optional location_id?: string | null


null

get.responses.200.content.application/json.user_id?
Section titled “get.responses.200.content.application/json.user_id?”

optional user_id?: string | null

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

404: object

Not found

optional content?: undefined

headers: object

[name: string]: unknown

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

optional post?: undefined

put: object

Update an expense

Update an expense. Admin and bookkeeper have access to any expense, and regular users can only access their own.

parameters: object

optional cookie?: undefined

optional header?: undefined

path: object

expense_id: string

optional query?: undefined

requestBody: object

content: object

application/json: object

put.requestBody.content.application/json.memo?
Section titled “put.requestBody.content.application/json.memo?”

optional memo?: string | null

Expense memo.

responses: object

200: object

Update an expense response.

content: object

put.responses.200.content.application/json
Section titled “put.responses.200.content.application/json”

application/json: object

put.responses.200.content.application/json.billing_amount?
Section titled “put.responses.200.content.application/json.billing_amount?”

optional billing_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

put.responses.200.content.application/json.budget_id?
Section titled “put.responses.200.content.application/json.budget_id?”

optional budget_id?: string | null

put.responses.200.content.application/json.category?
Section titled “put.responses.200.content.application/json.category?”

optional category?: "GROCERY" | "TELEPHONY" | "OFFICE_SUPPLIES" | "PRIVATE_AIR_TRAVEL" | "CLOTHING" | "CAR_RENTAL" | "VEHICLE_EXPENSES" | "RESTAURANTS" | "GAMBLING" | "FLOWERS" | "ELECTRONICS" | "LEGAL_SERVICES" | "UTILITIES" | "FURNITURE" | "LAUNDRY" | "EVENT_EXPENSES" | "SHIPPING" | "OTHER_TRAVEL_EXPENSES" | "CHARITY" | "LODGING" | "FACILITIES_EXPENSES" | "SERVERS" | "CONFERENCES" | "FOOD_DELIVERY" | "RENT" | "AIRLINE_EXPENSES" | "OTHER_BUSINESS_EXPENSES" | "CORPORATE_INSURANCE" | "DIGITAL_GOODS" | "GENERAL_MERCHANDISE" | "MEDICAL" | "PARKING_EXPENSES" | "POLITICAL_DONATIONS" | "PUBLIC_TRANSPORTATION" | "ADVERTISING_AND_MARKETING" | "BARS_AND_NIGHTLIFE" | "SOFTWARE_NON_RECURRING" | "BANK_AND_FINANCIAL_FEES" | "BOOKS_AND_NEWSPAPERS" | "CONSULTANT_AND_CONTRACTOR" | "FEES_AND_LICENSES_AND_TAXES" | "GAS_AND_FUEL" | "MEMBERSHIPS_AND_CLUBS" | "RECURRING_SOFTWARE_AND_SAAS" | "RIDESHARE_AND_TAXI" | "TOLL_AND_BRIDGE_FEES" | "TRAINING_AND_EDUCATION" | "TRAVEL_WIFI" | null

put.responses.200.content.application/json.department_id?
Section titled “put.responses.200.content.application/json.department_id?”

optional department_id?: string | null

put.responses.200.content.application/json.id
Section titled “put.responses.200.content.application/json.id”

id: string

Unique ID associated with the expense.

put.responses.200.content.application/json.location_id?
Section titled “put.responses.200.content.application/json.location_id?”

optional location_id?: string | null

put.responses.200.content.application/json.memo?
Section titled “put.responses.200.content.application/json.memo?”

optional memo?: string | null

The memo of the expense.

put.responses.200.content.application/json.merchant_id?
Section titled “put.responses.200.content.application/json.merchant_id?”

optional merchant_id?: string | null

put.responses.200.content.application/json.original_amount?
Section titled “put.responses.200.content.application/json.original_amount?”

optional original_amount?: { amount: number; currency: string | null; } | null

{ amount: number; currency: string | null; }

amount: number

Format: int64

The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.

700

currency: string | null

The type of currency, in ISO 4217 format.

USD
USD

null

put.responses.200.content.application/json.payment_status?
Section titled “put.responses.200.content.application/json.payment_status?”

optional payment_status?: "NOT_STARTED" | "PROCESSING" | "CANCELED" | "DECLINED" | "CLEARED" | "REFUNDING" | "REFUNDED" | "CASH_ADVANCE" | "CREDITED" | "AWAITING_PAYMENT" | "SCHEDULED" | null

put.responses.200.content.application/json.purchased_at?
Section titled “put.responses.200.content.application/json.purchased_at?”

optional purchased_at?: string | null

Format: date-time

The time the purchase was made.

put.responses.200.content.application/json.status?
Section titled “put.responses.200.content.application/json.status?”

optional status?: "APPROVED" | "CANCELED" | "DRAFT" | "SUBMITTED" | "OUT_OF_POLICY" | "VOID" | "SPLIT" | "SETTLED" | null

put.responses.200.content.application/json.updated_at
Section titled “put.responses.200.content.application/json.updated_at”

updated_at: string

Format: date-time

The last time the expense was updated.

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

404: object

Not found

optional content?: undefined

headers: object

[name: string]: unknown

optional trace?: undefined


/v1/expenses/card/{expense_id}/receipt_upload

Section titled “/v1/expenses/card/{expense_id}/receipt_upload”

/v1/expenses/card/{expense_id}/receipt_upload: object

Defined in: src/expenses/types.gen.ts:89

optional delete?: undefined

optional get?: undefined

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

post: object

Create a new receipt upload

The uri will be a pre-signed S3 URL allowing you to upload the receipt securely. This URL can only be used for a PUT operation and expires 30 minutes after its creation. Once your upload is complete, we will try to match the receipt with existing expenses.

Refer to these [docs](https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html) on how to upload to this pre-signed S3 URL. We highly recommend using one of AWS SDKs if they're available for your language to upload these files.

parameters: object

optional cookie?: undefined

optional header?: undefined

path: object

expense_id: string

optional query?: undefined

requestBody: object

content: object

application/json: object

post.requestBody.content.application/json.receipt_name
Section titled “post.requestBody.content.application/json.receipt_name”

receipt_name: string

The name of the receipt (with the file extension).

responses: object

201: object

Upload a new receipt response.

content: object

post.responses.201.content.application/json
Section titled “post.responses.201.content.application/json”

application/json: object

post.responses.201.content.application/json.id
Section titled “post.responses.201.content.application/json.id”

id: string

The unique identifier for the request.

post.responses.201.content.application/json.uri
Section titled “post.responses.201.content.application/json.uri”

uri: string

The pre-signed S3 link that should be used to upload the file. The maximum size accepted for this document is 50 MB.

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

403: object

Forbidden

optional content?: undefined

headers: object

[name: string]: unknown

404: object

Not found

optional content?: undefined

headers: object

[name: string]: unknown

optional put?: undefined

optional trace?: undefined


/v1/expenses/card/receipt_match: object

Defined in: src/expenses/types.gen.ts:111

optional delete?: undefined

optional get?: undefined

optional head?: undefined

optional options?: undefined

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

optional patch?: undefined

post: object

Create a new receipt match

The uri will be a pre-signed S3 URL allowing you to upload the receipt securely. This URL can only be used for a PUT operation and expires 30 minutes after its creation. Once your upload is complete, we will try to match the receipt with existing expenses.

Refer to these [docs](https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html) on how to upload to this pre-signed S3 URL. We highly recommend using one of AWS SDKs if they're available for your language to upload these files.

parameters: object

optional cookie?: undefined

optional header?: undefined

optional path?: undefined

optional query?: undefined

requestBody: object

content: object

application/json: object

post.requestBody.content.application/json.receipt_name
Section titled “post.requestBody.content.application/json.receipt_name”

receipt_name: string

The name of the receipt (with the file extension). It will be used in the matching result email.

responses: object

201: object

Create a new receipt match response.

content: object

post.responses.201.content.application/json
Section titled “post.responses.201.content.application/json”

application/json: object

post.responses.201.content.application/json.id
Section titled “post.responses.201.content.application/json.id”

id: string

The unique identifier for the request.

post.responses.201.content.application/json.uri
Section titled “post.responses.201.content.application/json.uri”

uri: string

The pre-signed S3 link that should be used to upload the file. The maximum size accepted for this document is 50 MB.

headers: object

[name: string]: unknown

400: object

Bad request

optional content?: undefined

headers: object

[name: string]: unknown

401: object

Unauthorized

optional content?: undefined

headers: object

[name: string]: unknown

optional put?: undefined

optional trace?: undefined