title: List general ledger accounts path: /developer/v1/accounting/accounts description: No description request: none response: { data: { accounting_connection_id: string classification?: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' code?: string created_at: string /* date */ gl_account_category_info?: { id?: string name?: string ramp_id?: string } id?: string is_active: boolean name: string provider_name: string ramp_id: string updated_at?: string /* date */ }[] page: { next: string } } --- title: Upload general ledger accounts path: /developer/v1/accounting/accounts description: You can upload up to 500 general ledger accounts in an all-or-nothing fashion. If a general ledger accounts within a batch is malformed or violates a database constraint, the entire batch containing that account will be disregarded. To have a successful upload, please sanitize the data and ensure the general ledger accounts that you are trying to upload do not already exist on Ramp. If a general ledger account is already on Ramp but you want to update its attributes, please use the PATCH developer/v1/accounting/accounts/{id} endpoint instead. request: { gl_accounts: { classification: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' code?: string id: string name: string }[] } response: none --- title: Delete a general ledger account path: /developer/v1/accounting/accounts/{gl_account_id} description: No description request: Record response: none --- title: Fetch a general ledger account path: /developer/v1/accounting/accounts/{gl_account_id} description: No description request: none response: { accounting_connection_id: string classification?: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' code?: string created_at: string /* date */ gl_account_category_info?: { id?: string name?: string ramp_id?: string } id?: string is_active: boolean name: string provider_name: string ramp_id: string updated_at?: string /* date */ } --- title: Update a general ledger account path: /developer/v1/accounting/accounts/{gl_account_id} description: This endpoint can be used to update the name or code of a GL account; request: { code?: string name?: string reactivate?: boolean } response: { accounting_connection_id: string classification?: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' code?: string created_at: string /* date */ gl_account_category_info?: { id?: string name?: string ramp_id?: string } id?: string is_active: boolean name: string provider_name: string ramp_id: string updated_at?: string /* date */ } --- title: Fetch all accounting connections for the current business path: /developer/v1/accounting/all-connections description: No description request: none response: { connections: { connection_type: 'API' | 'CSV' | 'DIRECT' created_at: string /* date */ id: string is_active: boolean is_ready_to_migrate: boolean last_linked_at: string /* date */ remote_provider_name: string settings: { reimbursement_sync_button_enabled: boolean transaction_accounting_vendor_creation_on_sync_enabled: boolean transaction_sync_button_enabled: boolean vendor_credits_enabled: boolean } status: 'failed_to_auth' | 'linked' | 'revoked' | 'unlinked' }[] } --- title: Disconnect an accounting connection path: /developer/v1/accounting/connection description: This endpoint only allows disconnecting API based connections. request: none response: none --- title: Fetch the current active accounting connection path: /developer/v1/accounting/connection description: This endpoint is now deprecated. Please use the `/all-connections` endpoint instead here. request: none response: { connection_type: 'API' | 'CSV' | 'DIRECT' created_at: string /* date */ id: string is_active: boolean is_ready_to_migrate: boolean last_linked_at: string /* date */ remote_provider_name: string settings: { reimbursement_sync_button_enabled: boolean transaction_accounting_vendor_creation_on_sync_enabled: boolean transaction_sync_button_enabled: boolean vendor_credits_enabled: boolean } status: 'failed_to_auth' | 'linked' | 'revoked' | 'unlinked' } | { message?: string } --- title: Register a new API based accounting connection path: /developer/v1/accounting/connection description: A connection is required in order to use our accounting API functionality. If a Universal CSV connection already exists, it will be upgraded to an API based connection. request: { reactivate?: boolean remote_provider_name: string settings?: { reimbursement_sync_button_enabled?: boolean transaction_accounting_vendor_creation_on_sync_enabled?: boolean transaction_sync_button_enabled?: boolean vendor_credits_enabled?: boolean } } response: none --- title: Fetch an accounting connection by ID path: /developer/v1/accounting/connection/{connection_id} description: No description request: none response: { connection_type: 'API' | 'CSV' | 'DIRECT' created_at: string /* date */ id: string is_active: boolean is_ready_to_migrate: boolean last_linked_at: string /* date */ remote_provider_name: string settings: { reimbursement_sync_button_enabled: boolean transaction_accounting_vendor_creation_on_sync_enabled: boolean transaction_sync_button_enabled: boolean vendor_credits_enabled: boolean } status: 'failed_to_auth' | 'linked' | 'revoked' | 'unlinked' } --- title: Update an accounting connection path: /developer/v1/accounting/connection/{connection_id} description: This endpoint is restricted to Accounting API based connections. request: { settings?: { reimbursement_sync_button_enabled?: boolean transaction_accounting_vendor_creation_on_sync_enabled?: boolean transaction_sync_button_enabled?: boolean vendor_credits_enabled?: boolean } } response: { connection_type: 'API' | 'CSV' | 'DIRECT' created_at: string /* date */ id: string is_active: boolean is_ready_to_migrate: boolean last_linked_at: string /* date */ remote_provider_name: string settings: { reimbursement_sync_button_enabled: boolean transaction_accounting_vendor_creation_on_sync_enabled: boolean transaction_sync_button_enabled: boolean vendor_credits_enabled: boolean } status: 'failed_to_auth' | 'linked' | 'revoked' | 'unlinked' } --- title: Reactivate a previously unlinked accounting connection path: /developer/v1/accounting/connection/{connection_id}/reactivate description: This endpoint allows reactivating a previously disconnected accounting connection by changing its status back to linked. This preserves all previous accounting field configurations and settings. The business must not have any other active accounting connections. request: none response: { connection_type: 'API' | 'CSV' | 'DIRECT' created_at: string /* date */ id: string is_active: boolean is_ready_to_migrate: boolean last_linked_at: string /* date */ remote_provider_name: string settings: { reimbursement_sync_button_enabled: boolean transaction_accounting_vendor_creation_on_sync_enabled: boolean transaction_sync_button_enabled: boolean vendor_credits_enabled: boolean } status: 'failed_to_auth' | 'linked' | 'revoked' | 'unlinked' } --- title: List options for a given custom accounting field path: /developer/v1/accounting/field-options description: No description request: none response: { data: { accounting_connection_id: string code?: string created_at?: string /* date */ display_name?: string id?: string is_active?: boolean provider_name: string ramp_id?: string updated_at?: string /* date */ value?: string visibility?: 'HIDDEN' | 'VISIBLE' }[] page: { next: string } } --- title: Upload new options path: /developer/v1/accounting/field-options description: You can upload up to 500 new field options for a given custom accounting field in an all-or-nothing fashion. If a field option within a batch is malformed or violates a database constraint, the entire batch containing that field option will be disregarded. To have a successful upload, please sanitize the data and ensure the field options that you are trying to upload do not already exist on Ramp. If a field option is already on Ramp but you want to update its attributes, please use the PATCH developer/v1/accounting/field-options/{id} endpoint instead. request: { field_id: string options: { code?: string display_name?: string id: string value: string }[] } response: none --- title: Delete a custom accounting field option path: /developer/v1/accounting/field-options/{field_option_id} description: No description request: Record response: none --- title: Fetch a custom accounting field option path: /developer/v1/accounting/field-options/{field_option_id} description: No description request: none response: { accounting_connection_id: string code?: string created_at?: string /* date */ display_name?: string id?: string is_active?: boolean provider_name: string ramp_id?: string updated_at?: string /* date */ value?: string visibility?: 'HIDDEN' | 'VISIBLE' } --- title: Update a custom accounting field option path: /developer/v1/accounting/field-options/{field_option_id} description: No description request: { code?: string display_name?: string reactivate?: boolean value?: string visibility?: 'HIDDEN' | 'VISIBLE' } response: { accounting_connection_id: string code?: string created_at?: string /* date */ display_name?: string id?: string is_active?: boolean provider_name: string ramp_id?: string updated_at?: string /* date */ value?: string visibility?: 'HIDDEN' | 'VISIBLE' } --- title: Update a custom accounting field option path: /developer/v1/accounting/field-options/{field_option_id} description: No description request: { code?: string display_name?: string reactivate?: boolean value?: string visibility?: 'HIDDEN' | 'VISIBLE' } response: { accounting_connection_id: string code?: string created_at?: string /* date */ display_name?: string id?: string is_active?: boolean provider_name: string ramp_id?: string updated_at?: string /* date */ value?: string visibility?: 'HIDDEN' | 'VISIBLE' } --- title: List custom accounting fields path: /developer/v1/accounting/fields description: No description request: none response: { data: { accounting_connection_id: string created_at?: string /* date */ display_name: string id?: string input_type: 'BOOLEAN' | 'DATE' | 'FREE_FORM_TEXT' | 'SINGLE_CHOICE' is_active?: boolean is_required_for: 'BILL' | 'BILL_PAYMENT' | 'INVOICE' | 'PURCHASE_ORDER' | 'REIMBURSEMENT' | 'TRANSACTION' | 'VENDOR_CREDIT'[] is_splittable?: boolean name?: string provider_name: string ramp_id?: string updated_at?: string /* date */ }[] page: { next: string } } --- title: Create a new custom accounting field path: /developer/v1/accounting/fields description: If a custom field with the same id already exists on Ramp, then that existing one will be returned instead of creating a new one; If the existing custom field is inactive, it will be reactivated. If you want to update the existing custom field, please use the PATCH developer/v1/accounting/fields/{id} endpoint instead. request: { display_name?: string id: string input_type: 'BOOLEAN' | 'FREE_FORM_TEXT' | 'SINGLE_CHOICE' is_required_for?: 'BILL' | 'BILL_PAYMENT' | 'INVOICE' | 'PURCHASE_ORDER' | 'REIMBURSEMENT' | 'TRANSACTION' | 'VENDOR_CREDIT'[] is_splittable?: boolean name: string } response: none --- title: Delete a custom accounting field path: /developer/v1/accounting/fields/{field_id} description: No description request: Record response: none --- title: Fetch a custom accounting field path: /developer/v1/accounting/fields/{field_id} description: No description request: none response: { accounting_connection_id: string created_at?: string /* date */ display_name: string id?: string input_type: 'BOOLEAN' | 'DATE' | 'FREE_FORM_TEXT' | 'SINGLE_CHOICE' is_active?: boolean is_required_for: 'BILL' | 'BILL_PAYMENT' | 'INVOICE' | 'PURCHASE_ORDER' | 'REIMBURSEMENT' | 'TRANSACTION' | 'VENDOR_CREDIT'[] is_splittable?: boolean name?: string provider_name: string ramp_id?: string updated_at?: string /* date */ } --- title: Update a custom accounting field path: /developer/v1/accounting/fields/{field_id} description: No description request: { display_name?: string is_splittable?: boolean name?: string } response: { accounting_connection_id: string created_at?: string /* date */ display_name: string id?: string input_type: 'BOOLEAN' | 'DATE' | 'FREE_FORM_TEXT' | 'SINGLE_CHOICE' is_active?: boolean is_required_for: 'BILL' | 'BILL_PAYMENT' | 'INVOICE' | 'PURCHASE_ORDER' | 'REIMBURSEMENT' | 'TRANSACTION' | 'VENDOR_CREDIT'[] is_splittable?: boolean name?: string provider_name: string ramp_id?: string updated_at?: string /* date */ } --- title: Delete inventory item accounting field path: /developer/v1/accounting/inventory-item description: No description request: Record response: none --- title: Fetch inventory item accounting field path: /developer/v1/accounting/inventory-item description: Returns the inventory item accounting field for the current accounting connection. request: none response: { accounting_connection_id: string display_name: string id: string name: string ramp_id: string } --- title: Update inventory item accounting field path: /developer/v1/accounting/inventory-item description: No description request: { display_name?: string name?: string } response: { accounting_connection_id: string display_name: string id: string name: string ramp_id: string } --- title: Create a new inventory item accounting field path: /developer/v1/accounting/inventory-item description: There can only be one active inventory item accounting field per accounting connection. request: { display_name?: string name: string } response: none --- title: List inventory item options path: /developer/v1/accounting/inventory-item/options description: No description request: none response: { data: { accounting_connection_id: string id: string is_active: boolean name: string ramp_id: string }[] page: { next: string } } --- title: Upload inventory item options path: /developer/v1/accounting/inventory-item/options description: There must be an active inventory item accounting field for the accounting connection. request: { options: { id: string name: string }[] } response: none --- title: Delete an inventory item option path: /developer/v1/accounting/inventory-item/options/{option_id} description: No description request: Record response: none --- title: Update an inventory item option path: /developer/v1/accounting/inventory-item/options/{option_id} description: No description request: { name?: string reactivate?: boolean } response: { accounting_connection_id: string id: string is_active: boolean name: string ramp_id: string } --- title: Post ready to sync status path: /developer/v1/accounting/ready-to-sync description: This endpoint allows customers to mark a list of objects as ready to sync by their object IDs. request: { object_ids: string[] object_type: 'TRANSACTION' } response: none --- title: Post sync status path: /developer/v1/accounting/syncs description: This endpoint allows customers to notify Ramp of a list of sync results. An idempotency key is required to ensure that subsequent requests are properly handled. request: { failed_syncs?: { error: { message: string } id: string }[] idempotency_key: string successful_syncs?: { deep_link_url?: string id: string reference_id: string }[] sync_type: 'BILL_PAYMENT_SYNC' | 'BILL_SYNC' | 'BROKERAGE_ORDER_SYNC' | 'REIMBURSEMENT_SYNC' | 'STATEMENT_CREDIT_SYNC' | 'TRANSACTION_SYNC' | 'TRANSFER_SYNC' | 'WALLET_TRANSFER_SYNC' } response: none --- title: Delete tax code accounting field path: /developer/v1/accounting/tax/code description: No description request: Record response: none --- title: Fetch tax code accounting field path: /developer/v1/accounting/tax/code description: Returns the tax code accounting field for the current accounting connection. request: none response: { accounting_connection_id: string display_name: string id: string name: string ramp_id: string } --- title: Update tax code accounting field path: /developer/v1/accounting/tax/code description: No description request: { display_name?: string name?: string } response: { accounting_connection_id: string display_name: string id: string name: string ramp_id: string } --- title: Create a new tax code accounting field path: /developer/v1/accounting/tax/code description: There can only be one active tax code accounting field per accounting connection. request: { display_name?: string name: string } response: none --- title: List tax code options path: /developer/v1/accounting/tax/code/options description: No description request: none response: { data: { accounting_connection_id: string id: string is_active: boolean name: string ramp_id: string tax_rate_ids: string[] }[] page: { next: string } } --- title: Upload tax code options path: /developer/v1/accounting/tax/code/options description: There must be an active tax code accounting field for the accounting connection. request: { options: { id: string name: string tax_rate_ids?: string[] }[] } response: none --- title: Delete a tax code option path: /developer/v1/accounting/tax/code/options/{option_id} description: No description request: Record response: none --- title: Update a tax code option path: /developer/v1/accounting/tax/code/options/{option_id} description: No description request: { name?: string tax_rate_ids?: string[] } response: { accounting_connection_id: string id: string is_active: boolean name: string ramp_id: string tax_rate_ids: string[] } --- title: List tax rates path: /developer/v1/accounting/tax/rates description: No description request: none response: { data: { accounting_connection_id: string accounting_gl_account_id: string id: string name: string ramp_id: string rate: string }[] page: { next: string } } --- title: Upload tax rates path: /developer/v1/accounting/tax/rates description: You can upload up to 500 tax rates in an all-or-nothing fashion. If a tax rate within a batch is malformed or violates a database constraint, the entire batch will be disregarded. To have a successful upload, please sanitize the data and ensure the tax rates that you are trying to upload do not already exist on Ramp. request: { tax_rates: { accounting_gl_account_id?: string id: string name: string rate: string | number }[] } response: none --- title: Delete a tax rate path: /developer/v1/accounting/tax/rates/{tax_rate_id} description: No description request: Record response: none --- title: Update a tax rate path: /developer/v1/accounting/tax/rates/{tax_rate_id} description: No description request: { accounting_gl_account_id?: string name?: string rate?: string | number } response: { accounting_connection_id: string accounting_gl_account_id: string id: string name: string ramp_id: string rate: string } --- title: List vendors path: /developer/v1/accounting/vendors description: No description request: none response: { data: { accounting_connection_id: string code?: string created_at: string /* date */ id?: string is_active: boolean is_synced: boolean name: string provider_name: string ramp_id: string updated_at: string /* date */ vendor_category_info?: { id?: string name?: string ramp_id?: string } }[] page: { next: string } } --- title: Upload vendors path: /developer/v1/accounting/vendors description: You can upload up to 500 vendors in an all-or-nothing fashion. If a vendors within a batch is malformed or violates a database constraint, the entire batch containing that vendors will be disregarded. To have a successful upload, please sanitize the data and ensure the vendors that you are trying to upload do not already exist on Ramp. If a vendors is already on Ramp but you want to update its attributes, please use the PATCH developer/v1/accounting/vendors/{id} endpoint instead. request: { vendors: { code?: string id: string name: string }[] } response: none --- title: Delete a vendor path: /developer/v1/accounting/vendors/{vendor_id} description: No description request: Record response: none --- title: Fetch a vendor path: /developer/v1/accounting/vendors/{vendor_id} description: No description request: none response: { accounting_connection_id: string code?: string created_at: string /* date */ id?: string is_active: boolean is_synced: boolean name: string provider_name: string ramp_id: string updated_at: string /* date */ vendor_category_info?: { id?: string name?: string ramp_id?: string } } --- title: Update a vendor path: /developer/v1/accounting/vendors/{vendor_id} description: No description request: { code?: string name?: string reactivate?: boolean } response: { accounting_connection_id: string code?: string created_at: string /* date */ id?: string is_active: boolean is_synced: boolean name: string provider_name: string ramp_id: string updated_at: string /* date */ vendor_category_info?: { id?: string name?: string ramp_id?: string } } --- title: Fetch a financing application path: /developer/v1/applications description: Since each business can only have one active financing application, this endpoint will only ever return a single application. request: none response: { applicant: { email: string first_name: string last_name: string phone?: string } beneficial_owners: { address?: { apt_suite?: string city?: string country?: string postal_code?: string state?: string street_address?: string } birth_date?: string email?: string first_name?: string last_name?: string passport_last_4?: string phone?: string ssn_last_4?: string title?: string }[] business: { address?: { apt_suite?: string city?: string postal_code?: string state?: string street_address?: string } business_description?: string business_name_dba?: string business_name_legal?: string business_name_on_card?: string business_website?: string incorporation?: { date_of_incorporation?: string /* date */ ein_number?: string entity_type?: 'COOPERATIVE' | 'CORPORATION' | 'LLC' | 'NON_PROFIT_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'SOLE_PROPRIETORSHIP' state_of_incorporation?: string } phone?: string } controlling_officer: { address?: { apt_suite?: string city?: string country?: string postal_code?: string state?: string street_address?: string } birth_date?: string email?: string first_name?: string is_beneficial_owner?: boolean last_name?: string passport_last_4?: string phone?: string ssn_last_4?: string title?: string } financial_details: { estimated_monthly_ap_spend_amount?: number estimated_monthly_spend_amount?: number } id: string status: 'APPROVED' | 'FOLLOW_UPS_REQUIRED' | 'IN_REVIEW' | 'REJECTED' | 'STARTED' | 'WITHDRAWN' } --- title: Create a financing application path: /developer/v1/applications description: This endpoint will create a new business for the applicant and email them with instructions to sign up and continue the application. If the applicant email already exists in Ramp, an invitation email will be re-sent if the business is still in the application stage. If the business is already approved, this operation will be a no-op. Note this endpoint returns success regardless of whether the email exists in Ramp. request: { applicant: { email: string first_name: string last_name: string phone?: string } beneficial_owners?: { address?: { apt_suite?: string city?: string country?: string postal_code?: string state?: string street_address?: string } birth_date?: string email?: string first_name?: string last_name?: string passport_last_4?: string phone?: string ssn_last_4?: string title?: string }[] business?: { address?: { apt_suite?: string city?: string postal_code?: string state?: string street_address?: string } business_description?: string business_name_dba?: string business_name_legal?: string business_name_on_card?: string business_website?: string incorporation?: { date_of_incorporation?: string /* date */ ein_number?: string entity_type?: 'COOPERATIVE' | 'CORPORATION' | 'LLC' | 'NON_PROFIT_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'SOLE_PROPRIETORSHIP' state_of_incorporation?: string } phone?: string } controlling_officer?: { address?: { apt_suite?: string city?: string country?: string postal_code?: string state?: string street_address?: string } birth_date?: string email?: string first_name?: string is_beneficial_owner?: boolean last_name?: string passport_last_4?: string phone?: string ssn_last_4?: string title?: string } financial_details?: { estimated_monthly_ap_spend_amount?: number estimated_monthly_spend_amount?: number } oauth_authorize_params?: { redirect_uri: string state: string } } response: none --- title: Get audit log events path: /developer/v1/audit-logs/events description: No description request: none response: { data: { actor_details: { actor_type: 'policy_agent' | 'ramp' | 'user' } | { actor_type: 'policy_agent' | 'ramp' | 'user' } | { actor_type: 'policy_agent' | 'ramp' | 'user' id: string } | Record actor_id: string actor_type: 'policy_agent' | 'ramp' | 'user' additional_details: string event_details: { references: { label: string resource_name: 'Approvals' | 'Bill payment' | 'Bill template' | 'Card' | 'Fund request' | 'Reimbursement' | 'SFTP Configurations' | 'Separation of duties' | 'Spend allocation' | 'Spend event' | 'Transaction' | 'Travel (Booking request)' | 'Travel (Trip)' | 'User' | 'Vendor / Merchant' | 'Workflow (Base)' | 'Workflow' url: string }[] } event_time: string /* date */ event_type: 'ABK agent blocked on user' | 'ABK agent review requested' | 'ABK agent started' | 'AI custom field config executed' | 'Accounting ai auto mark ready' | 'Activated card' | 'Added bill field' | 'Added card acceptance policy' | 'Added procurement field' | 'Added user to funds' | 'Added vendor field' | 'Admin changed email' | 'Admin changed phone' | 'Agent access request resolved' | 'Agent access requested' | 'Agent created' | 'Agent current version changed' | 'Agent permissions updated' | 'Agent version created' | 'Agent version published' | 'Approval chain updated' | 'Approval step added' | 'Approval step approved' | 'Approval step rejected' | 'Approval step skipped' | 'Approval step terminated' | 'Approved by manager' | 'Approved card edit request with modifications' | 'Approved card edit request' | 'Approved funds edit request with modifications' | 'Approved funds edit request' | 'Approved new card request with modifications' | 'Approved new card request' | 'Approved procurement change request' | 'Approved request for new funds with modifications' | 'Approved request for new funds' | 'Attendee split' | 'Bank account updated' | 'Bill linked to PO' | 'Bill linked' | 'Bill pay accepted sync for bank account from vendor network' | 'Bill pay accepted sync for vendor card acceptance policy from vendor network' | 'Bill pay accepted sync for vendor check mailing address from vendor network' | 'Bill pay accepted sync for vendor information from vendor network' | 'Bill pay accepted sync for vendor tax info from vendor network' | 'Bill pay accounting manual user action' | 'Bill pay accounting sync triggered' | 'Bill pay approval policy updated' | 'Bill pay automatic card payment no longer eligible' | 'Bill pay automatic card payment' | 'Bill pay bank account updated' | 'Bill pay batch payment initiated' | 'Bill pay business vendor unlinked from vendor network' | 'Bill pay card delivery' | 'Bill pay check address update' | 'Bill pay check tracking update' | 'Bill pay deleted bill' | 'Bill pay delivered payment' | 'Bill pay dismissed fraud alert' | 'Bill pay edited payee address' | 'Bill pay edited payment method' | 'Bill pay initiated payment refund' | 'Bill pay mailed check payment' | 'Bill pay marked as paid' | 'Bill pay matched transaction to bill' | 'Bill pay payment failed' | 'Bill pay payment posted' | 'Bill pay recurrence info changed for recurring series' | 'Bill pay rejected sync for bank account from vendor network' | 'Bill pay rejected sync for vendor card acceptance policy from vendor network' | 'Bill pay rejected sync for vendor check mailing address from vendor network' | 'Bill pay rejected sync for vendor information from vendor network' | 'Bill pay rejected sync for vendor tax info from vendor network' | 'Bill pay retried payment' | 'Bill pay returned funds' | 'Bill unlinked from PO' | 'Bill unlinked' | 'Billing config updated' | 'Blank canvas workflow execution updated' | 'Blank canvas workflow pause status updated' | 'Booking request approval policy updated' | 'Brokerage order updated' | 'Cancel revision request' | 'Cancelled by customer' | 'Cancelled by ramp' | 'Card delivered' | 'Card payment initiated' | 'Cash agent recommendation updated' | 'Changed bank account on bill' | 'Changed card holder' | 'Changed funds user' | 'Combined contracts with this contract' | 'Communication sent' | 'Complete revision' | 'Created accounting split line item' | 'Created card' | 'Created fund from purchase order' | 'Created merchant error' | 'Created unrecognized charge' | 'Created' | 'Deleted bill field' | 'Deleted card acceptance policy' | 'Deleted procurement field' | 'Deleted vendor field' | 'Deleted' | 'Demoted co-owner to member' | 'Detached funds from spend program' | 'Document labeled' | 'Document updated' | 'Docusign envelope updated' | 'Draft vendor created' | 'Draft vendor deleted' | 'Draft vendor published' | 'Edited bill field' | 'Edited card acceptance policy' | 'Edited contract tracking setting' | 'Edited procurement field' | 'Edited spend intent' | 'Edited tin' | 'Edited vendor field' | 'Edited wallet automation' | 'Email updated' | 'Emailed purchase order' | 'Exception given from dispute resolution' | 'Exception given from repayment' | 'Exception request approved' | 'Exception request cancelled' | 'Exception request denied' | 'Exception requested' | 'External ticket created asana' | 'External ticket created jira' | 'External ticket created linear' | 'External ticket created zendesk' | 'Funds activated from reissued virtual card' | 'Generated renewal brief for contract' | 'Ironclad workflow updated' | 'Issued funds' | 'Linked funds to spend program' | 'Locked access to funds' | 'Locked card' | 'Managed portfolio transfer updated' | 'Manager updated' | 'Mark as accidental' | 'Matched purchase order to transaction' | 'Matched transaction to purchase order' | 'Memo updated' | 'Merged vendors' | 'Name updated hris' | 'Name updated' | 'New virtual card issued for currency migration' | 'Notification sent due to purchase order request modification' | 'Password reset required' | 'Password reset user' | 'Password updated user' | 'Payback cancelled' | 'Payback payment failed' | 'Payback payment manually paid' | 'Payback payment retried' | 'Payback payment succeeded' | 'Payback request approved by user' | 'Payback request cancelled by manager' | 'Payback request rejected by user' | 'Payback requested by manager' | 'Payback triggered by user' | 'Payee linked to accounting' | 'Payment run updated' | 'Payment updated' | 'Phone updated' | 'Policy agent suggestion feedback submitted' | 'Post spend approval policy updated' | 'Procurement unmatched purchase order from transaction' | 'Procurement unmatched transaction from purchase order' | 'Procurement agent run completed' | 'Procurement change request approval policy updated' | 'Procurement send global form' | 'Procurement submit global form response' | 'Procurement vendor onboarding submitted' | 'Procurement vendor onboarding triggered' | 'Promoted member to co-owner' | 'Purchase order accounting sync created vendor' | 'Purchase order accounting sync failed' | 'Purchase order accounting sync success' | 'RFX clarification answered' | 'RFX clarification question submitted' | 'RFX closed' | 'RFX created' | 'RFX graded' | 'RFX published' | 'RFX response redacted' | 'RFX response submitted' | 'RFX vendor accepted' | 'RFX vendor added' | 'RFX vendor declined' | 'RFX vendor removed' | 'Receipt created' | 'Receipt deleted' | 'Receipt matched' | 'Refund cleared' | 'Refund paid' | 'Reimbursement bank account updated' | 'Reimbursement from user' | 'Reimbursement policy agent suggestion feedback submitted' | 'Reimbursement submitted' | 'Reimbursement to user' | 'Reimbursements disabled' | 'Reimbursements enabled' | 'Reissued card' | 'Rejected card edit request' | 'Rejected funds edit request' | 'Rejected new card request' | 'Rejected procurement change request' | 'Rejected request for new funds' | 'Reminded to approve items' | 'Reminded to upload missing items' | 'Removed user from funds' | 'Request revision' | 'Requested an edit to these funds' | 'Requested new card' | 'Requested new funds' | 'Resolved by ramp' | 'Review needed' | 'Reviewed by ramp' | 'Role updated' | 'SFTP Authentication Failed' | 'SFTP Authentication IP and Username Matched' | 'SFTP Configuration Changed' | 'Separation of duties disabled' | 'Separation of duties enabled' | 'Set member limit on shared fund' | 'Sourcing event created' | 'Sourcing event status changed' | 'Spend allocation change request approval policy updated' | 'Spend approved' | 'Spend rejected' | 'Spend request approval policy updated' | 'Status updated' | 'Submitted procurement change request' | 'Temporarily unlocked access to funds' | 'Terminated card' | 'Terminated funds' | 'Test' | 'Third party risk management vendor review updated' | 'This contract was combined with another contract' | 'Ticket assignee updated' | 'Ticket status updated' | 'Totp authenticator created' | 'Totp authenticator deleted' | 'Totp authenticator updated' | 'Transaction approval policy updated' | 'Transaction cleared' | 'Transaction entity changed' | 'Transaction missing item reminder event' | 'Transaction paid' | 'Transaction receipt updated' | 'Transaction submission policy exemption event' | 'Transferred ownership of funds' | 'Travel policy selection updated' | 'Undid marking transaction as accidental' | 'Unlocked access to funds' | 'Unlocked card temporarily' | 'Unlocked card' | 'Unmark as accidental' | 'Updated card program' | 'Updated card' | 'Updated funds' | 'Updated spend program' | 'User accepted invite' | 'User assigned by external firm' | 'User assigned through external firm merge' | 'User created' | 'User deactivated' | 'User deleted' | 'User invited' | 'User locked' | 'User login' | 'User previewed' | 'User reactivated' | 'User undeleted' | 'User unlocked' | 'Vendor Network updates enabled' | 'Vendor awarded' | 'Vendor credit action' | 'Vendor imported from erp' | 'Vendor management vendor added to managed list' | 'Vendor management vendor removed from managed list' | 'Vendor management agreement deleted document' | 'Vendor management agreement deleted' | 'Vendor management agreement linked document' | 'Vendor management agreement linked purchase order' | 'Vendor management agreement notification type switched' | 'Vendor management agreement status changed' | 'Vendor management agreement unlinked document' | 'Vendor management agreement unlinked purchase order' | 'Vendor management agreement uploaded document' | 'Vendor management edited agreement field' | 'Vendor management expansion request status changed' | 'Vendor payment approval policy updated' | 'Vendor profile access created' | 'Vendor profile access denied' | 'Vendor profile access edited' | 'Vendor profile access email sent' | 'Vendor profile access requested' | 'Vendor profile access revoked' | 'Vendor profile all documents downloaded' | 'Vendor profile document downloaded' | 'Vendor sync failure' | 'Viewed sensitive card details' | 'Violation from manager' | 'Violation from rule' | 'Violation from user' | 'Virtual card reissued' | 'Workflow restarted due to purchase order request modification' id: string primary_reference: { id: string label: string resource_name: 'Approvals' | 'Bill payment' | 'Bill template' | 'Card' | 'Fund request' | 'Reimbursement' | 'SFTP Configurations' | 'Separation of duties' | 'Spend allocation' | 'Spend event' | 'Transaction' | 'Travel (Booking request)' | 'Travel (Trip)' | 'User' | 'Vendor / Merchant' | 'Workflow (Base)' | 'Workflow' url: string } user_details: { actor_type: 'policy_agent' | 'ramp' | 'user' id: string } }[][] page: { next: string } } --- title: List bank accounts path: /developer/v1/bank-accounts description: No description request: none response: { data: { account_number_last_four: string financial_institution_name: string id: string }[] page: { next: string } } --- title: Get bank account details path: /developer/v1/bank-accounts/{bank_account_id} description: No description request: none response: { account_number_last_four: string financial_institution_name: string id: string } --- title: List bills path: /developer/v1/bills description: No description request: none response: { data: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } applied_vendor_credits: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string }[] approval_status: 'APPROVED' | 'INITIALIZED' | 'PENDING' | 'REJECTED' | 'TERMINATED' archived_at: string /* date */ bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ deep_link_url?: string draft_bill_created_at: string /* date */ draft_bill_id: string due_at: string /* date */ enable_accounting_sync?: boolean entity_id: string fx_conversion_rate: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number?: string invoice_urls: string[] issued_at: string /* date */ item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string }[] memo?: string paid_at?: string /* date */ payment: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } customer_friendly_payment_id: string details: ApiCardPaymentDetailsResource | ApiManualPaymentDetailsResource | ApiVendorPaymentDetailsResource effective_date: string /* date */ id: string payment_date: string /* date */ payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' trace_id: { descriptor?: string trace_id?: string } } posting_date?: string /* date */ purchase_order_id?: string remote_id?: string status: 'OPEN' | 'PAID' status_summary: 'APPROVAL_PENDING' | 'APPROVAL_REJECTED' | 'ARCHIVED' | 'AWAITING_RELEASE' | 'BLOCKED' | 'HELD_BY_PROVIDER' | 'ON_HOLD' | 'PAYMENT_COMPLETED' | 'PAYMENT_DETAILS_MISSING' | 'PAYMENT_ERROR' | 'PAYMENT_NOT_INSTRUCTED' | 'PAYMENT_PROCESSING' | 'PAYMENT_READY' | 'PAYMENT_SCHEDULED' | 'PENDING_VENDOR_APPROVAL' | 'WAITING_FOR_TRANSACTION_MATCH' | 'WAITING_FOR_VENDOR' sync_status: 'BILL_AND_PAYMENT_SYNCED' | 'BILL_SYNCED' | 'NOT_SYNCED' vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_contact_id: string vendor_memo?: string }[] page: { next: string } } --- title: Create a bill path: /developer/v1/bills description: Batch payments cannot be created in the API. request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] attachment_id?: string due_at: string /* date */ enable_accounting_sync?: boolean entity_id: string inventory_line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] memo?: string quantity: string | number unit_price: string | number }[] invoice_currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' invoice_number: string issued_at: string /* date */ line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] amount: string | number memo?: string }[] memo?: string payment_details?: { is_same_day?: boolean payment_arrival_date: string /* date */ source_bank_account_id: string vendor_account_id: string } | { is_same_day?: boolean payment_arrival_date: string /* date */ source_bank_account_id: string } | { spend_limit_id: string transaction_id?: string } | { manual_payment_method: 'CASH' | 'CHECK' | 'CROSS_BORDER_PAYMENT' | 'CRYPTO_WALLET_TRANSFER' | 'DIRECT_DEBIT' | 'DOMESTIC_WIRE_TRANSFER' | 'NON_RAMP_CREDIT_CARD' | 'OTHER' | 'PAID_IN_ERP' payment_date: string /* date */ } payment_method?: 'ACH' | 'CARD' | 'CHECK' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'SWIFT' posting_date?: string /* date */ purchase_order_ids?: string[] remote_id?: string use_default_payment_method?: boolean use_default_vendor_contact?: boolean vendor_contact_id?: string vendor_id: string vendor_memo?: string } response: none --- title: List draft bills path: /developer/v1/bills/drafts description: No description request: none response: { data: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ due_at: string /* date */ entity_id: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number: string invoice_urls: string[] issued_at: string /* date */ line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string posting_date: string /* date */ remote_id: string status: none sync_status: none vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_memo: string }[] page: { next: string } } --- title: Create a draft bill path: /developer/v1/bills/drafts description: No description request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] due_at?: string /* date */ enable_accounting_sync?: boolean entity_id?: string inventory_line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] memo?: string quantity: string | number unit_price: string | number }[] invoice_currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' invoice_number?: string issued_at?: string /* date */ line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] amount: string | number memo?: string }[] memo?: string payment_method?: 'ACH' | 'CARD' | 'CHECK' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'SWIFT' posting_date?: string /* date */ purchase_order_ids?: string[] remote_id?: string use_default_payment_method?: boolean vendor_contact_id?: string vendor_id: string } response: none --- title: Fetch a draft bill path: /developer/v1/bills/drafts/{draft_bill_id} description: No description request: none response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ due_at: string /* date */ entity_id: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number: string invoice_urls: string[] issued_at: string /* date */ line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string posting_date: string /* date */ remote_id: string status: none sync_status: none vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_memo: string } --- title: Update a draft bill path: /developer/v1/bills/drafts/{draft_bill_id} description: No description request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] due_at?: string /* date */ enable_accounting_sync?: boolean entity_id?: string inventory_line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] memo?: string quantity: string | number unit_price: string | number }[] invoice_currency?: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' invoice_number?: string issued_at?: string /* date */ line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] amount: string | number memo?: string }[] memo?: string payment_method?: 'ACH' | 'CARD' | 'CHECK' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'SWIFT' posting_date?: string /* date */ purchase_order_ids?: string[] remote_id?: string use_default_payment_method?: boolean vendor_contact_id?: string vendor_id?: string } response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ due_at: string /* date */ entity_id: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number: string invoice_urls: string[] issued_at: string /* date */ line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string posting_date: string /* date */ remote_id: string status: none sync_status: none vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_memo: string } --- title: Upload a file attachment to an existing draft bill path: /developer/v1/bills/drafts/{draft_bill_id}/attachments description: Upload a file as an attachment to a draft bill. INVOICE type attachments cannot be uploaded if one already exists on the draft bill. This endpoint accepts the [multipart/form-data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format. Include the file as a part named 'file' with `Content-Disposition: attachment`. Include the attachment_type as a form field. request: none response: none --- title: Archive a bill path: /developer/v1/bills/{bill_id} description: This is a destructive action. Associated inflight payments will be cancelled if possible or any attached one-time-card will be terminated. Paid bills and bills belonging to a batch payment cannot be deleted. request: none response: none --- title: Fetch a bill path: /developer/v1/bills/{bill_id} description: No description request: none response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } applied_vendor_credits: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string }[] approval_status: 'APPROVED' | 'INITIALIZED' | 'PENDING' | 'REJECTED' | 'TERMINATED' archived_at: string /* date */ bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ deep_link_url?: string draft_bill_created_at: string /* date */ draft_bill_id: string due_at: string /* date */ enable_accounting_sync?: boolean entity_id: string fx_conversion_rate: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number?: string invoice_urls: string[] issued_at: string /* date */ item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string }[] memo?: string paid_at?: string /* date */ payment: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } customer_friendly_payment_id: string details: { spend_limit_id?: string transaction_ids?: string[] } | { manual_payment_method: 'CASH' | 'CHECK' | 'CROSS_BORDER_PAYMENT' | 'CRYPTO_WALLET_TRANSFER' | 'DIRECT_DEBIT' | 'DOMESTIC_WIRE_TRANSFER' | 'NON_RAMP_CREDIT_CARD' | 'OTHER' | 'PAID_IN_ERP' } | { approval_status: 'APPROVED' | 'INITIALIZED' | 'PENDING' | 'REJECTED' | 'TERMINATED' is_same_day: boolean source_bank_account_id: string vendor_account_id: string } effective_date: string /* date */ id: string payment_date: string /* date */ payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' trace_id: { descriptor?: string trace_id?: string } } posting_date?: string /* date */ purchase_order_id?: string remote_id?: string status: 'OPEN' | 'PAID' status_summary: 'APPROVAL_PENDING' | 'APPROVAL_REJECTED' | 'ARCHIVED' | 'AWAITING_RELEASE' | 'BLOCKED' | 'HELD_BY_PROVIDER' | 'ON_HOLD' | 'PAYMENT_COMPLETED' | 'PAYMENT_DETAILS_MISSING' | 'PAYMENT_ERROR' | 'PAYMENT_NOT_INSTRUCTED' | 'PAYMENT_PROCESSING' | 'PAYMENT_READY' | 'PAYMENT_SCHEDULED' | 'PENDING_VENDOR_APPROVAL' | 'WAITING_FOR_TRANSACTION_MATCH' | 'WAITING_FOR_VENDOR' sync_status: 'BILL_AND_PAYMENT_SYNCED' | 'BILL_SYNCED' | 'NOT_SYNCED' vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_contact_id: string vendor_memo?: string } --- title: Update a bill path: /developer/v1/bills/{bill_id} description: Only approved bills can be updated. request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] due_at?: string /* date */ entity_id?: string inventory_line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] memo?: string quantity: string | number unit_price: string | number }[] invoice_number?: string issued_at?: string /* date */ line_items?: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] amount: string | number memo?: string }[] memo?: string payment_method?: 'ACH' | 'CARD' | 'CHECK' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'SWIFT' posting_date?: string /* date */ purchase_order_ids?: string[] remote_id?: string vendor_contact_id?: string vendor_id?: string vendor_memo?: string } response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } applied_vendor_credits: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string }[] approval_status: 'APPROVED' | 'INITIALIZED' | 'PENDING' | 'REJECTED' | 'TERMINATED' archived_at: string /* date */ bill_owner: { first_name?: string id: string last_name?: string } created_at: string /* date */ deep_link_url?: string draft_bill_created_at: string /* date */ draft_bill_id: string due_at: string /* date */ enable_accounting_sync?: boolean entity_id: string fx_conversion_rate: string id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string quantity: number unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] invoice_number?: string invoice_urls: string[] issued_at: string /* date */ item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } item_receipt_line_item_ids: string[] memo?: string purchase_order_line_item_id: string }[] memo?: string paid_at?: string /* date */ payment: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } customer_friendly_payment_id: string details: { spend_limit_id?: string transaction_ids?: string[] } | { manual_payment_method: 'CASH' | 'CHECK' | 'CROSS_BORDER_PAYMENT' | 'CRYPTO_WALLET_TRANSFER' | 'DIRECT_DEBIT' | 'DOMESTIC_WIRE_TRANSFER' | 'NON_RAMP_CREDIT_CARD' | 'OTHER' | 'PAID_IN_ERP' } | { approval_status: 'APPROVED' | 'INITIALIZED' | 'PENDING' | 'REJECTED' | 'TERMINATED' is_same_day: boolean source_bank_account_id: string vendor_account_id: string } effective_date: string /* date */ id: string payment_date: string /* date */ payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' trace_id: { descriptor?: string trace_id?: string } } posting_date?: string /* date */ purchase_order_id?: string remote_id?: string status: 'OPEN' | 'PAID' status_summary: 'APPROVAL_PENDING' | 'APPROVAL_REJECTED' | 'ARCHIVED' | 'AWAITING_RELEASE' | 'BLOCKED' | 'HELD_BY_PROVIDER' | 'ON_HOLD' | 'PAYMENT_COMPLETED' | 'PAYMENT_DETAILS_MISSING' | 'PAYMENT_ERROR' | 'PAYMENT_NOT_INSTRUCTED' | 'PAYMENT_PROCESSING' | 'PAYMENT_READY' | 'PAYMENT_SCHEDULED' | 'PENDING_VENDOR_APPROVAL' | 'WAITING_FOR_TRANSACTION_MATCH' | 'WAITING_FOR_VENDOR' sync_status: 'BILL_AND_PAYMENT_SYNCED' | 'BILL_SYNCED' | 'NOT_SYNCED' vendor: { id: string name: string remote_code?: string remote_id?: string remote_name?: string type?: 'BUSINESS' | 'INDIVIDUAL' } vendor_contact_id: string vendor_memo?: string } --- title: Upload a file attachment to an existing bill path: /developer/v1/bills/{bill_id}/attachments description: Upload a file as an attachment to a bill. INVOICE type attachments cannot be uploaded if one already exists on the bill. This endpoint accepts the [multipart/form-data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format. Include the file as a part named 'file' with `Content-Disposition: attachment`. Include the attachment_type as a form field. request: none response: none --- title: Fetch the company information path: /developer/v1/business description: No description request: none response: { active?: boolean billing_address?: Record business_name_legal?: string business_name_on_card?: string created_time?: string /* date */ enforce_sso?: boolean id?: string initial_approved_limit?: number is_integrated_with_slack?: boolean is_reimbursements_enabled: boolean limit_locked?: boolean phone?: string website?: string } --- title: Fetch the company balance information path: /developer/v1/business/balance description: No description request: none response: { available_card_limit?: number available_flex_limit?: number balance_including_pending?: number card_balance_excluding_pending?: number card_balance_including_pending?: number card_limit?: number flex_balance?: number flex_limit?: number float_balance_excluding_pending?: number global_limit?: number max_balance?: number next_billing_date?: string prev_billing_date?: string statement_balance?: number } --- title: List cards path: /developer/v1/cards description: No description request: none response: { data: { card_program_id: string cardholder_id?: string cardholder_name?: string created_at?: string /* date */ display_name: string entity_id?: string expiration: string fulfillment: { card_personalization?: { text?: { name_line_1?: CardPersonalizationNameLine name_line_2?: CardPersonalizationNameLine } } cardholder_uuid?: string fulfillment_status?: 'DELIVERED' | 'DIGITALLY_PRESENTED' | 'ISSUED' | 'ORDERED' | 'REJECTED' | 'SHIPPED' shipping?: { method?: string recipient_address?: { address1: string address2?: string city: string country: string first_name: string last_name: string phone?: string postal_code: string state?: string } recipient_address_verification_state?: 'NOT_VERIFIED' | 'OVERRIDEN' | 'VERIFIED' return_address?: CardShippingAddress } shipping_date?: string /* date */ shipping_eta?: string /* date */ shipping_tracking_url?: string } has_program_overridden: boolean id?: string is_physical?: boolean last_four: string spending_restrictions: { amount?: number auto_lock_date: string /* date */ blocked_categories?: number[] categories?: number[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' suspended?: boolean transaction_amount_limit?: number } state?: 'ACTIVE' | 'CHIP_LOCKED' | 'SUSPENDED' | 'TERMINATED' | 'UNACTIVATED' }[] page: { next: string } } --- title: Create a physical card path: /developer/v1/cards/deferred/physical description: Call this endpoint to create an async task to request for new physical card. request: { display_name?: string entity_id?: string fulfillment?: { card_personalization?: { text?: { name_line_1?: { value?: string } name_line_2?: { value?: string } } } cardholder_uuid?: string shipping?: { method?: string recipient_address?: { address1: string address2?: string city: string country: string first_name: string last_name: string phone?: string postal_code: string state?: string } recipient_address_verification_state?: 'NOT_VERIFIED' | 'OVERRIDEN' | 'VERIFIED' return_address?: { address1: string address2?: string city: string country: string first_name: string last_name: string phone?: string postal_code: string state?: string } } } idempotency_key: string is_temporary?: boolean spending_restrictions?: { amount: string | number blocked_mcc_codes?: string[] card_accounting_rules?: { tracking_category_id: string tracking_category_option_id: string tracking_category_option_remote_name: string }[] categories?: number[] categories_blacklist?: number[] categories_whitelist?: number[] currency?: string interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' lock_date?: string /* date */ policy_id?: string transaction_amount_limit?: string | number vendor_blacklist?: string[] vendor_whitelist?: string[] } user_id: string } response: { id: string } --- title: Fetch deferred task status path: /developer/v1/cards/deferred/status/{task_id} description: No description request: none response: { context?: { acting_user_id?: string card_id?: string } data?: { card_id?: string error?: string } id?: string status?: string } --- title: Create a virtual card path: /developer/v1/cards/deferred/virtual description: Call this endpoint to create an async task to request for new virtual card. request: { display_name?: string entity_id?: string idempotency_key: string is_temporary?: boolean spending_restrictions?: { amount: string | number blocked_mcc_codes?: string[] card_accounting_rules?: { tracking_category_id: string tracking_category_option_id: string tracking_category_option_remote_name: string }[] categories?: number[] categories_blacklist?: number[] categories_whitelist?: number[] currency?: string interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' lock_date?: string /* date */ policy_id?: string transaction_amount_limit?: string | number vendor_blacklist?: string[] vendor_whitelist?: string[] } user_id: string } response: { id: string } --- title: Fetch a card path: /developer/v1/cards/{card_id} description: No description request: none response: { card_program_id: string cardholder_id?: string cardholder_name?: string created_at?: string /* date */ display_name: string entity_id?: string expiration: string fulfillment: { card_personalization?: { text?: { name_line_1?: { value?: string } name_line_2?: { value?: string } } } cardholder_uuid?: string fulfillment_status?: 'DELIVERED' | 'DIGITALLY_PRESENTED' | 'ISSUED' | 'ORDERED' | 'REJECTED' | 'SHIPPED' shipping?: { method?: string recipient_address?: { address1: string address2?: string city: string country: string first_name: string last_name: string phone?: string postal_code: string state?: string } recipient_address_verification_state?: 'NOT_VERIFIED' | 'OVERRIDEN' | 'VERIFIED' return_address?: { address1: string address2?: string city: string country: string first_name: string last_name: string phone?: string postal_code: string state?: string } } shipping_date?: string /* date */ shipping_eta?: string /* date */ shipping_tracking_url?: string } has_program_overridden: boolean id?: string is_physical?: boolean last_four: string spending_restrictions: { amount?: number auto_lock_date: string /* date */ blocked_categories?: number[] categories?: number[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' suspended?: boolean transaction_amount_limit?: number } state?: 'ACTIVE' | 'CHIP_LOCKED' | 'SUSPENDED' | 'TERMINATED' | 'UNACTIVATED' } --- title: Update a card path: /developer/v1/cards/{card_id} description: This endpoint allow you update the owner, display name, and spend restrictions of a card. request: { display_name?: string entity_id?: string has_notifications_enabled?: boolean new_user_id?: string spending_restrictions?: { amount?: string | number blocked_mcc_codes?: string[] categories?: number[] categories_blacklist?: number[] categories_whitelist?: number[] currency?: string interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' lock_date?: string /* date */ policy_id?: string transaction_amount_limit?: string | number vendor_blacklist?: string[] vendor_whitelist?: string[] } } response: none --- title: Suspend a card path: /developer/v1/cards/{card_id}/deferred/suspension description: Call this endpoint to create an async task to suspend a card so that it is locked from use. The suspension is revertable. request: { idempotency_key: string } response: { id: string } --- title: Terminate a card path: /developer/v1/cards/{card_id}/deferred/termination description: Call this endpoint to create an async task to terminate a card permanently. Please note that this action is irreversible. request: { idempotency_key: string } response: { id: string } --- title: Unlock a card path: /developer/v1/cards/{card_id}/deferred/unsuspension description: Call this endpoint to create an async task to remove a card's suspension so that it may be used again. request: { idempotency_key: string } response: { id: string } --- title: List cashback payments path: /developer/v1/cashbacks description: No description request: none response: { data: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } created_at?: string /* date */ entity_id?: string id?: string sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' }[] page: { next: string } } --- title: Fetch a cashback payment path: /developer/v1/cashbacks/{cashback_id} description: No description request: none response: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } created_at?: string /* date */ entity_id?: string id?: string sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' } --- title: Create Custom Table path: /developer/v1/custom-records/configure/custom-tables description: No description request: { table_label: string table_name: string type?: 'custom_table' } response: none --- title: Create Custom Table column path: /developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns description: No description request: { column_type_name: 'boolean' | 'number' | 'text' label: string name: string } | { column_type_name: 'custom_reference' | 'native_reference' label: string name: string reference_args: { cardinality: 'many_to_many' | 'many_to_one' corresponding_column_label?: string corresponding_column_name?: string foreign_table: { table_name: string type?: 'custom_table' } | { table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type?: 'native_table' } } } response: { column_id: string } --- title: Change the API name of a Custom Table's Column path: /developer/v1/custom-records/configure/custom-tables/{custom_table_name}/columns/{column_name} description: No description request: { new_name: string } response: none --- title: Extend Native Ramp table path: /developer/v1/custom-records/configure/native-tables description: No description request: { table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type?: 'native_table' } response: none --- title: Create Native Ramp table field path: /developer/v1/custom-records/configure/native-tables/{native_table_name}/columns description: No description request: { column_type_name: 'boolean' | 'number' | 'text' label: string name: string } | { column_type_name: 'custom_reference' | 'native_reference' label: string name: string reference_args: { cardinality: 'many_to_many' | 'many_to_one' corresponding_column_label?: string corresponding_column_name?: string foreign_table: { table_name: string type?: 'custom_table' } | { table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type?: 'native_table' } } } response: { column_id: string } --- title: Change the API name of a Native Table's Custom Record Column path: /developer/v1/custom-records/configure/native-tables/{native_table_name}/columns/{column_name} description: No description request: { new_name: string } response: none --- title: List Custom Tables path: /developer/v1/custom-records/custom-tables description: No description request: none response: { data: { table_label: string table_name: string type: 'custom_table' }[] page: { next: string } } --- title: List Custom Table columns path: /developer/v1/custom-records/custom-tables/{custom_table_name}/columns description: No description request: none response: { data: { allows_writes: boolean display_name: string id: string name: string type: { type: 'boolean' } | { cardinality: 'many_to_many' | 'many_to_one' | 'one_to_many' | 'one_to_one' corresponding_column_id: string table_display_name: string table_id: string table_name: string type: 'custom_reference' } | { display_type: 'date' type: 'datetime' } | { cardinality: 'many_to_many' | 'many_to_one' | 'one_to_many' | 'one_to_one' corresponding_column_id: string table_id: string table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' tracking_category: { accounting_provider_is_connected: boolean display_name: string is_active: boolean uuid: string } type: 'native_reference' } | { display_type: 'currency' | 'number' | 'percentage' type: 'number' } | { display_type: 'email' | 'numeric_id' | 'paragraph' | 'phone' | 'plain_text' | 'url' type: 'text' } }[] page: { next: string } } --- title: Delete rows from a Custom Table path: /developer/v1/custom-records/custom-tables/{custom_table_name}/rows description: No description request: { data: { external_key: string }[] } response: { metadata: { deleted: number } } --- title: List Custom Table rows path: /developer/v1/custom-records/custom-tables/{custom_table_name}/rows description: No description request: none response: { data: { cells: { column_display_name: string column_id: string value: { display_name: string type: 'boolean' value: boolean } | { has_more: boolean rows: CustomTableRowForDisplay[] table_name: string type: 'custom_table' } | { display_name: string type: 'date' value: string /* date */ } | { has_more: boolean rows: NativeTableRowForDisplay[] table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type: 'native_table' } | { display_name: string type: 'number' value: number } | { display_name: string type: 'text' value: string } }[] display_name: string external_key: string id: string }[] page: { next: string } } --- title: Set values for rows of a Custom Table path: /developer/v1/custom-records/custom-tables/{custom_table_name}/rows description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] external_key: string }[] } response: { metadata: { inserted: number updated: number } } --- title: Change the external key of a Custom Table row path: /developer/v1/custom-records/custom-tables/{custom_table_name}/rows/{row_id} description: No description request: { new_external_key: string } response: none --- title: Append cells to a Custom Table path: /developer/v1/custom-records/custom-tables/{table_name}/rows/-/append description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] external_key: string }[] } response: { metadata: { inserted: number } } --- title: Remove cells from a Custom Table path: /developer/v1/custom-records/custom-tables/{table_name}/rows/-/remove description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] external_key: string }[] } response: { metadata: { deleted: number } } --- title: List all Matrix tables for the business path: /developer/v1/custom-records/matrix-tables description: No description request: none response: { data: { id: string input_columns: { display_name: string id: string name: string type: { column_type?: 'native_reference' native_table: DeveloperApiNativeTableReference } | { column_type?: 'number' } }[] label: string name: string result_columns: { display_name: string id: string name: string type: { cardinality: PydanticCardinalityEnum column_type?: 'native_reference' native_table: DeveloperApiResultNativeTableReference } }[] }[] } --- title: Create a Matrix table path: /developer/v1/custom-records/matrix-tables description: Matrix tables are special-purpose lookup tables where unique combinations of input values map to result values. request: { input_columns: { column_type: { accounting_field_ramp_id?: string table_name: 'accounting_field_options' | 'business_entities' | 'departments' | 'locations' | 'users' type?: 'native_table' } | { type?: 'number' } label: string name?: string }[] label: string name?: string result_columns: { cardinality: 'many_to_many' | 'many_to_one' label: string name?: string native_table: { accounting_field_ramp_id?: string table_name: 'accounting_field_options' | 'users' type?: 'native_table' } }[] } response: none --- title: Add a result column to an existing Matrix table path: /developer/v1/custom-records/matrix-tables/{table_name}/columns description: Allows adding result columns to already-created matrix tables without modifying the input columns. Only result columns (users and accounting_field_options) can be added. Input columns cannot be added after table creation. request: { cardinality: 'many_to_many' | 'many_to_one' label: string name?: string native_table: { accounting_field_ramp_id?: string table_name: 'accounting_field_options' | 'users' type?: 'native_table' } } response: none --- title: Change the API name of a Matrix table column (input or result) path: /developer/v1/custom-records/matrix-tables/{table_name}/columns/{column_name} description: This changes the internal name used in API calls while preserving the human-readable label. Both input and result columns can be renamed. request: { new_name: string } response: none --- title: List Matrix table rows path: /developer/v1/custom-records/matrix-tables/{table_name}/list-rows description: Returns rows with inputs and results separated. Inputs are always complete (all input columns), results are sparse (only set values). request: { external_keys?: string[] filters?: { column_name: string one_of: string[] }[] page_size?: number start?: string } response: { data: { id: string inputs: { column_name: string display_name: string identifier?: { column_name: string value: string } | { value: number } }[] results: { column_name: string display_name: string identifier: { column_name: string value: string } }[] }[] page: { next: string } total_count: number } --- title: Change the API name of a Matrix table path: /developer/v1/custom-records/matrix-tables/{table_name}/rename description: No description request: { new_name: string } response: none --- title: Upsert Matrix table rows path: /developer/v1/custom-records/matrix-tables/{table_name}/rows description: Creates new rows or updates existing rows based on input values. Input values define row identity (via external_key). Result values are mutable and can be partially updated. request: { data: { inputs: { column_name: string identifier?: { column_name: string value: string } number_identifier?: number | string }[] results: { column_name: string identifier: { column_name: string value: string } }[] }[] } response: { metadata: { inserted: number updated: number } } --- title: Append cells to Matrix table rows path: /developer/v1/custom-records/matrix-tables/{table_name}/rows/-/append description: Adds values to many-to-many result columns without replacing existing values. Only works on many-to-many result columns. request: { data: { inputs: { column_name: string identifier?: { column_name: string value: string } number_identifier?: number | string }[] results: { column_name: string identifier: { column_name: string value: string } }[] }[] } response: { metadata: { cells_appended: number } } --- title: Remove cells from Matrix table rows path: /developer/v1/custom-records/matrix-tables/{table_name}/rows/-/remove description: Removes specific values from many-to-many result columns without affecting other values. request: { data: { inputs: { column_name: string identifier?: { column_name: string value: string } number_identifier?: number | string }[] results: { column_name: string identifier: { column_name: string value: string } }[] }[] } response: { metadata: { cells_removed: number } } --- title: Delete a single Matrix table row by ID path: /developer/v1/custom-records/matrix-tables/{table_name}/rows/{row_id} description: Deletes the matrix row with the specified ID from the matrix table. request: none response: none --- title: List Native Ramp tables path: /developer/v1/custom-records/native-tables description: No description request: none response: { data: { table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type: 'native_table' }[] page: { next: string } } --- title: List Custom Columns for a Native Ramp table path: /developer/v1/custom-records/native-tables/{native_table_name}/columns description: No description request: none response: { data: { allows_writes: boolean display_name: string id: string name: string type: { type: 'boolean' } | { cardinality: 'many_to_many' | 'many_to_one' | 'one_to_many' | 'one_to_one' corresponding_column_id: string table_display_name: string table_id: string table_name: string type: 'custom_reference' } | { display_type: 'date' type: 'datetime' } | { cardinality: 'many_to_many' | 'many_to_one' | 'one_to_many' | 'one_to_one' corresponding_column_id: string table_id: string table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' tracking_category: { accounting_provider_is_connected: boolean display_name: string is_active: boolean uuid: string } type: 'native_reference' } | { display_type: 'currency' | 'number' | 'percentage' type: 'number' } | { display_type: 'email' | 'numeric_id' | 'paragraph' | 'phone' | 'plain_text' | 'url' type: 'text' } }[] page: { next: string } } --- title: List Custom Column values for rows of a Native Ramp table path: /developer/v1/custom-records/native-tables/{native_table_name}/rows description: No description request: none response: { data: { cells: { column_display_name: string column_id: string value: { display_name: string type: 'boolean' value: boolean } | { has_more: boolean rows: { display_name: string external_key: string row_id: string type: 'custom_table' }[] table_name: string type: 'custom_table' } | { display_name: string type: 'date' value: string /* date */ } | { has_more: boolean rows: { display_name: string external_key: string type: 'native_table' }[] table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type: 'native_table' } | { display_name: string type: 'number' value: number } | { display_name: string type: 'text' value: string } }[] display_name: string external_key: string id: string }[] page: { next: string } } --- title: Set values for rows of a Native Ramp table path: /developer/v1/custom-records/native-tables/{native_table_name}/rows description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] row: { column_name: string value: string } }[] } response: { metadata: { inserted: number updated: number } } --- title: Append cells to a Native Ramp table path: /developer/v1/custom-records/native-tables/{native_table_name}/rows/-/append description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] row: { column_name: string value: string } }[] } response: { metadata: { inserted: number } } --- title: Remove cells from a Native Ramp table path: /developer/v1/custom-records/native-tables/{native_table_name}/rows/-/remove description: No description request: { data: { cells: { contents: { column_name: string value: string } | string /* date */ | boolean | number | string name: string }[] row: { column_name: string value: string } }[] } response: { metadata: { deleted: number } } --- title: List departments path: /developer/v1/departments description: No description request: none response: { data: { id: string name: string }[] page: { next: string } } --- title: Create a department path: /developer/v1/departments description: No description request: { name: string } response: none --- title: Fetch a department path: /developer/v1/departments/{department_id} description: No description request: none response: { id: string name: string } --- title: Update a department path: /developer/v1/departments/{department_id} description: No description request: { name: string } response: { id: string name: string } --- title: Create an embed init token for a card path: /developer/v1/embedded/cards/{card_id}/embed description: The specified card must be activated and currently active request: { parent_origin: string } response: { embed_init_token: string } --- title: List business entities path: /developer/v1/entities description: No description request: none response: { data: { accounts: { bank_account_id: string classification: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' created_at: string /* date */ external_id: string external_name: string internal_id: string usage_type: 'ACCRUAL_AP_ACCOUNT' | 'ACCRUAL_LIABILITY_ACCOUNT' | 'AR_ACCOUNTS_RECEIVABLE_ACCOUNT' | 'AR_BAD_DEBT_ACCOUNT' | 'AR_CARD_FEES_ACCOUNT' | 'AR_CASH_ACCOUNT_DEFAULT' | 'AR_CHARGEBACK_CLEARING_ACCOUNT' | 'AR_INCOME_ACCOUNT_DEFAULT' | 'AR_REFUNDS_CLEARING_ACCOUNT' | 'AR_UNDEPOSITED_FUNDS_ACCOUNT' | 'BILL_PAY_ACCOUNTS_PAYABLE_ACCOUNT' | 'BILL_PAY_BANK_ACCOUNT' | 'BILL_PAY_FX_GAIN_LOSS_ACCOUNT' | 'BOOKKEEPING_AUTOMATION_BANK_ACCOUNT' | 'BOOKKEEPING_AUTOMATION_CLEARING_ACCOUNT' | 'BROKERAGE_ACCOUNT' | 'BROKERAGE_DIVIDEND_ACCOUNT' | 'CARD_LIABILITY_ACCOUNT' | 'CARD_TRANSACTION_BILLS_ACCOUNTS_PAYABLE_ACCOUNT' | 'CASHBACK_ACCOUNT' | 'CASH_ACCOUNT' | 'INTERCOMPANY_ACCOUNTS_PAYABLE_ACCOUNT' | 'INTERCOMPANY_ACCOUNTS_RECEIVABLE_ACCOUNT' | 'INTERCOMPANY_TRANSFER_CLEARING_ACCOUNT' | 'MANAGED_PORTFOLIO_CASH_ACCOUNT' | 'MANAGED_PORTFOLIO_INTEREST_INCOME_ACCOUNT' | 'MANAGED_PORTFOLIO_POSITION_ASSET_ACCOUNT' | 'MANAGED_PORTFOLIO_REALIZED_GAIN_LOSS_ACCOUNT' | 'MANAGED_PORTFOLIO_UNREALIZED_GAIN_LOSS_ACCOUNT' | 'REIMBURSEMENT_ACCOUNTS_PAYABLE_ACCOUNT' | 'REIMBURSEMENT_BANK_ACCOUNT' | 'TRANSFER_BANK_ACCOUNT' | 'UNDEPOSITED_FUNDS' | 'WALLET_ACCOUNT' | 'WALLET_BANK_ACCOUNT' | 'WALLET_YIELD_ACCOUNT' }[] connected_subsidiary: { external_id: string id: string name: string } currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' entity_name: string id: string is_primary: boolean location_ids: string[] payment_accounts: { account_name: string account_number_last_four: string currency: string id: string }[] }[] page: { next: string } } --- title: Get a business entity path: /developer/v1/entities/{entity_id} description: No description request: none response: { accounts: { bank_account_id: string classification: 'ANY' | 'ASSET' | 'CREDCARD' | 'EQUITY' | 'EXPENSE' | 'LIABILITY' | 'REVENUE' | 'UNKNOWN' created_at: string /* date */ external_id: string external_name: string internal_id: string usage_type: 'ACCRUAL_AP_ACCOUNT' | 'ACCRUAL_LIABILITY_ACCOUNT' | 'AR_ACCOUNTS_RECEIVABLE_ACCOUNT' | 'AR_BAD_DEBT_ACCOUNT' | 'AR_CARD_FEES_ACCOUNT' | 'AR_CASH_ACCOUNT_DEFAULT' | 'AR_CHARGEBACK_CLEARING_ACCOUNT' | 'AR_INCOME_ACCOUNT_DEFAULT' | 'AR_REFUNDS_CLEARING_ACCOUNT' | 'AR_UNDEPOSITED_FUNDS_ACCOUNT' | 'BILL_PAY_ACCOUNTS_PAYABLE_ACCOUNT' | 'BILL_PAY_BANK_ACCOUNT' | 'BILL_PAY_FX_GAIN_LOSS_ACCOUNT' | 'BOOKKEEPING_AUTOMATION_BANK_ACCOUNT' | 'BOOKKEEPING_AUTOMATION_CLEARING_ACCOUNT' | 'BROKERAGE_ACCOUNT' | 'BROKERAGE_DIVIDEND_ACCOUNT' | 'CARD_LIABILITY_ACCOUNT' | 'CARD_TRANSACTION_BILLS_ACCOUNTS_PAYABLE_ACCOUNT' | 'CASHBACK_ACCOUNT' | 'CASH_ACCOUNT' | 'INTERCOMPANY_ACCOUNTS_PAYABLE_ACCOUNT' | 'INTERCOMPANY_ACCOUNTS_RECEIVABLE_ACCOUNT' | 'INTERCOMPANY_TRANSFER_CLEARING_ACCOUNT' | 'MANAGED_PORTFOLIO_CASH_ACCOUNT' | 'MANAGED_PORTFOLIO_INTEREST_INCOME_ACCOUNT' | 'MANAGED_PORTFOLIO_POSITION_ASSET_ACCOUNT' | 'MANAGED_PORTFOLIO_REALIZED_GAIN_LOSS_ACCOUNT' | 'MANAGED_PORTFOLIO_UNREALIZED_GAIN_LOSS_ACCOUNT' | 'REIMBURSEMENT_ACCOUNTS_PAYABLE_ACCOUNT' | 'REIMBURSEMENT_BANK_ACCOUNT' | 'TRANSFER_BANK_ACCOUNT' | 'UNDEPOSITED_FUNDS' | 'WALLET_ACCOUNT' | 'WALLET_BANK_ACCOUNT' | 'WALLET_YIELD_ACCOUNT' }[] connected_subsidiary: { external_id: string id: string name: string } currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' entity_name: string id: string is_primary: boolean location_ids: string[] payment_accounts: { account_name: string account_number_last_four: string currency: string id: string }[] } --- title: List item receipts path: /developer/v1/item-receipts description: No description request: none response: { data: { archived_at: string /* date */ created_at: string /* date */ documents: string[] id: string item_receipt_number: string line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string memo: string purchase_order_line_item_id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string purchase_order_id: string received_at: string /* date */ remote_id: string }[] page: { next: string } } --- title: Create an item receipt path: /developer/v1/item-receipts description: No description request: { item_receipt_line_items: { purchase_order_line_item_id: string unit_quantity?: number }[] item_receipt_number: string memo?: string purchase_order_id: string received_at: string /* date */ } response: none --- title: Delete an item receipt path: /developer/v1/item-receipts/{item_receipt_id} description: No description request: none response: none --- title: Fetch an item receipt path: /developer/v1/item-receipts/{item_receipt_id} description: No description request: none response: { archived_at: string /* date */ created_at: string /* date */ documents: string[] id: string item_receipt_number: string line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string memo: string purchase_order_line_item_id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string purchase_order_id: string received_at: string /* date */ remote_id: string } --- title: List limits path: /developer/v1/limits description: No description request: none response: { data: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] }[] page: { next: string } } --- title: Create a limit path: /developer/v1/limits/deferred description: Limit may either be created with spend program id (can provide display name and spending restrictions, cannot permitted spend types) or without (must provide display name, spending restrictions, and permitted spend types). request: { accounting_rules?: { field_id: string field_option_id: string }[] display_name?: string idempotency_key: string is_shareable?: boolean permitted_spend_types?: { primary_card_enabled: boolean reimbursements_enabled: boolean } spend_program_id?: string spending_restrictions?: { allowed_categories?: number[] allowed_vendors?: string[] blocked_categories?: number[] blocked_mcc_codes?: string[] blocked_vendors?: string[] interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code?: string } lock_date?: string /* date */ transaction_amount_limit?: { amount: number currency_code?: string } } user_id: string } response: { id: string } --- title: Fetch deferred task status path: /developer/v1/limits/deferred/status/{task_id} description: No description request: none response: { context: { acting_user_id: string spend_limit_id: string } data: { error: string spend_limit_id: string } id: string status: string } --- title: Fetch a limit path: /developer/v1/limits/{spend_limit_id} description: No description request: none response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: CustomFormFieldResponseWrapperDumpSchemaV2[] label: string }[] label: string } } display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Update a limit path: /developer/v1/limits/{spend_limit_id} description: No description request: { accounting_rules?: { field_id: string field_option_id: string }[] display_name?: string existing_expense_policy_agent_exemption_application_rules?: 'APPLY_TO_ALL' | 'APPLY_TO_NONE' is_exempt_from_policy_agent?: boolean is_shareable?: boolean new_user_id?: string permitted_spend_types?: { primary_card_enabled: boolean reimbursements_enabled: boolean } spend_program_id?: string spending_restrictions?: { allowed_categories?: number[] allowed_vendors?: string[] blocked_categories?: number[] blocked_mcc_codes?: string[] blocked_vendors?: string[] interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' is_one_time_edit?: boolean limit: { amount: number currency_code?: string } lock_date?: string /* date */ transaction_amount_limit?: { amount: number currency_code?: string } } } response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Update a limit path: /developer/v1/limits/{spend_limit_id} description: No description request: { accounting_rules?: { field_id: string field_option_id: string }[] display_name?: string existing_expense_policy_agent_exemption_application_rules?: 'APPLY_TO_ALL' | 'APPLY_TO_NONE' is_exempt_from_policy_agent?: boolean is_shareable?: boolean new_user_id?: string permitted_spend_types?: { primary_card_enabled: boolean reimbursements_enabled: boolean } spend_program_id?: string spending_restrictions?: { allowed_categories?: number[] allowed_vendors?: string[] blocked_categories?: number[] blocked_mcc_codes?: string[] blocked_vendors?: string[] interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' is_one_time_edit?: boolean limit: { amount: number currency_code?: string } lock_date?: string /* date */ transaction_amount_limit?: { amount: number currency_code?: string } } } response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Add new users into a shared limit path: /developer/v1/limits/{spend_limit_id}/add-users description: No description request: { user_ids?: string[] } response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Terminate a limit path: /developer/v1/limits/{spend_limit_id}/deferred/termination description: This endpoint creates an async task to terminate a limit permanently. request: { idempotency_key: string } response: { id: string } --- title: Remove users from a shared limit path: /developer/v1/limits/{spend_limit_id}/delete-users description: No description request: { user_ids?: string[] } response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Suspend a limit path: /developer/v1/limits/{spend_limit_id}/suspension description: No description request: none response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: Unsuspend a limit path: /developer/v1/limits/{spend_limit_id}/unsuspension description: No description request: none response: { balance: { cleared: { amount: number currency_code: string minor_unit_conversion_rate: number } pending: { amount: number currency_code: string minor_unit_conversion_rate: number } total: { amount: number currency_code: string minor_unit_conversion_rate: number } } cards: { card_id: string cardholder_id: string created_at: string /* date */ display_name: string expiration: string is_ap_card: boolean last_four: string via_new_product_or_service: boolean }[] created_at: string /* date */ display_name: string entity_id: string has_program_overridden: boolean id: string is_exempt_from_policy_agent: boolean is_shareable: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval?: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } spend_program_id: string state: 'ACTIVE' | 'SUSPENDED' | 'TERMINATED' suspension: { acting_user_id: string inserted_at: string /* date */ suspended_by_ramp: boolean } users: { user_id: string }[] } --- title: List locations path: /developer/v1/locations description: No description request: none response: { data: { entity_id: string id: string name: string }[] page: { next: string } } --- title: Create a location path: /developer/v1/locations description: No description request: { entity_id?: string name: string } response: none --- title: Fetch a location path: /developer/v1/locations/{location_id} description: No description request: none response: { entity_id: string id: string name: string } --- title: Update a location path: /developer/v1/locations/{location_id} description: No description request: { entity_id?: string name: string } response: { entity_id: string id: string name: string } --- title: List memos path: /developer/v1/memos description: No description request: none response: { data: { id?: string memo?: string }[] page: { next: string } } --- title: Fetch a transaction memo path: /developer/v1/memos/{transaction_id} description: No description request: none response: { id?: string memo?: string } --- title: Upload a new memo for a transaction path: /developer/v1/memos/{transaction_id} description: No description request: { is_memo_recurring?: boolean memo: string } response: { id?: string memo?: string } --- title: List merchants path: /developer/v1/merchants description: No description request: none response: { data: { id: string is_auto_approved: boolean merchant_name: string sk_category_name: string }[] page: { next: string } } --- title: List purchase orders path: /developer/v1/purchase-orders description: No description request: none response: { data: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } archived_at: string /* date */ bill_ids: string[] billing_status?: 'CLOSED' | 'DELETED' | 'FULLY_BILLED' | 'OPEN' | 'PARTIALLY_BILLED' created_at: string /* date */ creation_source: 'ACCOUNTING_PROVIDER' | 'DEVELOPER_API' | 'RAMP' entity_id: string id: string item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } description: string id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string name: string net_payment_terms: number owner_id: string promise_date: string /* date */ purchase_order_number: string receipt_status: 'FULLY_RECEIVED' | 'NOT_RECEIVED' | 'OVER_RECEIVED' | 'PARTIALLY_RECEIVED' remote_id: string spend_end_date: string /* date */ spend_program_id: string spend_request_id: string spend_start_date: string /* date */ spend_total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } three_way_match_enabled: boolean transaction_ids: string[] user_id: string vendor_id: string }[] page: { next: string } } --- title: Create a purchase order path: /developer/v1/purchase-orders description: No description request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' entity_id: string line_items: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] description?: string unit_price: string | number unit_quantity: number }[] memo?: string net_payment_terms?: number promise_date?: string /* date */ purchase_order_number?: string spend_end_date?: string /* date */ spend_start_date?: string /* date */ three_way_match_enabled: boolean vendor_id?: string } response: none --- title: Fetch a purchase order path: /developer/v1/purchase-orders/{purchase_order_id} description: No description request: none response: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } archived_at: string /* date */ bill_ids: string[] billing_status?: 'CLOSED' | 'DELETED' | 'FULLY_BILLED' | 'OPEN' | 'PARTIALLY_BILLED' created_at: string /* date */ creation_source: 'ACCOUNTING_PROVIDER' | 'DEVELOPER_API' | 'RAMP' custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: { attachments?: RampDocumentSchema[] conditions: WorkflowsCondition description: string field: CustomFormFieldResponseDumpSchemaV2 field_id: string global_library_field_id?: string is_mapped_to_ironclad_field?: boolean is_used_in_approval_workflow_condition?: boolean is_used_in_custom_form_workflow_condition?: boolean label: string required: boolean validation_errors?: CustomFormFieldValidationErrorSchemaV2[] value_display_string: string }[] label: string }[] label: string } } entity_id: string id: string item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } description: string id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string name: string net_payment_terms: number owner_id: string promise_date: string /* date */ purchase_order_number: string receipt_status: 'FULLY_RECEIVED' | 'NOT_RECEIVED' | 'OVER_RECEIVED' | 'PARTIALLY_RECEIVED' remote_id: string spend_end_date: string /* date */ spend_program_id: string spend_request_id: string spend_start_date: string /* date */ spend_total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } three_way_match_enabled: boolean transaction_ids: string[] user_id: string vendor_id: string } --- title: Update a purchase order path: /developer/v1/purchase-orders/{purchase_order_id} description: Purchase order must be approved. request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] spend_end_date?: string /* date */ spend_start_date?: string /* date */ } response: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } archived_at: string /* date */ bill_ids: string[] billing_status?: 'CLOSED' | 'DELETED' | 'FULLY_BILLED' | 'OPEN' | 'PARTIALLY_BILLED' created_at: string /* date */ creation_source: 'ACCOUNTING_PROVIDER' | 'DEVELOPER_API' | 'RAMP' custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: { attachments?: RampDocumentSchema[] conditions: WorkflowsCondition description: string field: CustomFormAddressFieldResponseDumpSchema | CustomFormBooleanFieldResponseDumpSchema | CustomFormContactFieldResponseDumpSchema | CustomFormDateFieldResponseDumpSchema | CustomFormDepartmentFieldResponseDumpSchema | CustomFormEmailFieldResponseDumpSchema | CustomFormFileUploadFieldResponseDumpSchema | CustomFormLinkFieldResponseDumpSchema | CustomFormMerchantCategoryFieldResponseDumpSchema | CustomFormMerchantFieldResponseDumpSchema | CustomFormMonetaryAmountFieldResponseDumpSchema | CustomFormNumberFieldResponseDumpSchema | CustomFormParagraphFieldResponseDumpSchema | CustomFormTextFieldResponseDumpSchema | CustomFormTextMultiSelectFieldResponseDumpSchema | CustomFormTextSingleSelectFieldResponseDumpSchema | CustomFormVendorFieldResponseDumpSchema field_id: string global_library_field_id?: string is_mapped_to_ironclad_field?: boolean is_used_in_approval_workflow_condition?: boolean is_used_in_custom_form_workflow_condition?: boolean label: string required: boolean validation_errors?: CustomFormFieldValidationErrorSchemaV2[] value_display_string: string }[] label: string }[] label: string } } entity_id: string id: string item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } description: string id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string name: string net_payment_terms: number owner_id: string promise_date: string /* date */ purchase_order_number: string receipt_status: 'FULLY_RECEIVED' | 'NOT_RECEIVED' | 'OVER_RECEIVED' | 'PARTIALLY_RECEIVED' remote_id: string spend_end_date: string /* date */ spend_program_id: string spend_request_id: string spend_start_date: string /* date */ spend_total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } three_way_match_enabled: boolean transaction_ids: string[] user_id: string vendor_id: string } --- title: Archive a purchase order path: /developer/v1/purchase-orders/{purchase_order_id}/archive description: No description request: { archived_reason?: string } response: none --- title: Add line items to an existing purchase order path: /developer/v1/purchase-orders/{purchase_order_id}/line-items description: No description request: { line_items: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] description?: string unit_price: string | number unit_quantity: number }[] } response: none --- title: Delete a single line item from an existing purchase order path: /developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id} description: Purchase order must be approved. request: none response: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } archived_at: string /* date */ bill_ids: string[] billing_status?: 'CLOSED' | 'DELETED' | 'FULLY_BILLED' | 'OPEN' | 'PARTIALLY_BILLED' created_at: string /* date */ creation_source: 'ACCOUNTING_PROVIDER' | 'DEVELOPER_API' | 'RAMP' custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: { attachments?: RampDocumentSchema[] conditions: WorkflowsCondition description: string field: CustomFormAddressFieldResponseDumpSchema | CustomFormBooleanFieldResponseDumpSchema | CustomFormContactFieldResponseDumpSchema | CustomFormDateFieldResponseDumpSchema | CustomFormDepartmentFieldResponseDumpSchema | CustomFormEmailFieldResponseDumpSchema | CustomFormFileUploadFieldResponseDumpSchema | CustomFormLinkFieldResponseDumpSchema | CustomFormMerchantCategoryFieldResponseDumpSchema | CustomFormMerchantFieldResponseDumpSchema | CustomFormMonetaryAmountFieldResponseDumpSchema | CustomFormNumberFieldResponseDumpSchema | CustomFormParagraphFieldResponseDumpSchema | CustomFormTextFieldResponseDumpSchema | CustomFormTextMultiSelectFieldResponseDumpSchema | CustomFormTextSingleSelectFieldResponseDumpSchema | CustomFormVendorFieldResponseDumpSchema field_id: string global_library_field_id?: string is_mapped_to_ironclad_field?: boolean is_used_in_approval_workflow_condition?: boolean is_used_in_custom_form_workflow_condition?: boolean label: string required: boolean validation_errors?: CustomFormFieldValidationErrorSchemaV2[] value_display_string: string }[] label: string }[] label: string } } entity_id: string id: string item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } description: string id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string name: string net_payment_terms: number owner_id: string promise_date: string /* date */ purchase_order_number: string receipt_status: 'FULLY_RECEIVED' | 'NOT_RECEIVED' | 'OVER_RECEIVED' | 'PARTIALLY_RECEIVED' remote_id: string spend_end_date: string /* date */ spend_program_id: string spend_request_id: string spend_start_date: string /* date */ spend_total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } three_way_match_enabled: boolean transaction_ids: string[] user_id: string vendor_id: string } --- title: Update a single line item on an existing purchase order path: /developer/v1/purchase-orders/{purchase_order_id}/line-items/{line_item_id} description: Purchase order must be approved. request: { accounting_field_selections?: { field_external_id: string field_option_external_id?: string free_form_text?: string }[] description?: string unit_price?: string | number unit_quantity?: number } response: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } archived_at: string /* date */ bill_ids: string[] billing_status?: 'CLOSED' | 'DELETED' | 'FULLY_BILLED' | 'OPEN' | 'PARTIALLY_BILLED' created_at: string /* date */ creation_source: 'ACCOUNTING_PROVIDER' | 'DEVELOPER_API' | 'RAMP' custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: { attachments?: RampDocumentSchema[] conditions: WorkflowsCondition description: string field: CustomFormAddressFieldResponseDumpSchema | CustomFormBooleanFieldResponseDumpSchema | CustomFormContactFieldResponseDumpSchema | CustomFormDateFieldResponseDumpSchema | CustomFormDepartmentFieldResponseDumpSchema | CustomFormEmailFieldResponseDumpSchema | CustomFormFileUploadFieldResponseDumpSchema | CustomFormLinkFieldResponseDumpSchema | CustomFormMerchantCategoryFieldResponseDumpSchema | CustomFormMerchantFieldResponseDumpSchema | CustomFormMonetaryAmountFieldResponseDumpSchema | CustomFormNumberFieldResponseDumpSchema | CustomFormParagraphFieldResponseDumpSchema | CustomFormTextFieldResponseDumpSchema | CustomFormTextMultiSelectFieldResponseDumpSchema | CustomFormTextSingleSelectFieldResponseDumpSchema | CustomFormVendorFieldResponseDumpSchema field_id: string global_library_field_id?: string is_mapped_to_ironclad_field?: boolean is_used_in_approval_workflow_condition?: boolean is_used_in_custom_form_workflow_condition?: boolean label: string required: boolean validation_errors?: CustomFormFieldValidationErrorSchemaV2[] value_display_string: string }[] label: string }[] label: string } } entity_id: string id: string item_receipt_ids: string[] line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } description: string id: string quantity: number remote_id: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] memo: string name: string net_payment_terms: number owner_id: string promise_date: string /* date */ purchase_order_number: string receipt_status: 'FULLY_RECEIVED' | 'NOT_RECEIVED' | 'OVER_RECEIVED' | 'PARTIALLY_RECEIVED' remote_id: string spend_end_date: string /* date */ spend_program_id: string spend_request_id: string spend_start_date: string /* date */ spend_total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } three_way_match_enabled: boolean transaction_ids: string[] user_id: string vendor_id: string } --- title: List emails opted out of receipt integrations path: /developer/v1/receipt-integrations/opt-out description: No description request: { email?: string id?: string } response: { email?: string id?: string } --- title: Add a new email to receipt integrations opt-out list path: /developer/v1/receipt-integrations/opt-out description: No description request: { business_id: number email: string } response: none --- title: Remove an email from receipt integration opt-out list path: /developer/v1/receipt-integrations/opt-out/{mailbox_opted_out_email_uuid} description: Successful request will opt-in email to receipt integrations. request: none response: none --- title: List receipts path: /developer/v1/receipts description: No description request: none response: { data: { created_at?: string /* date */ id?: string receipt_url: string transaction_id?: string user_id?: string }[] page: { next: string } } --- title: Upload a receipt path: /developer/v1/receipts description: image and optionally associate it with a transaction. If a `transaction_id` is provided, the receipt will be linked directly to that transaction. If not, Ramp will attempt to automatically match the receipt to the most relevant transaction based on context. This endpoint accepts the [multipart/form-data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format. Include the receipt image as a part with `Content-Disposition: attachment`. Include metadata as parts with `Content-Disposition: form-data`. request: { idempotency_key: string transaction_id?: string user_id: string } response: none --- title: Fetch a receipt path: /developer/v1/receipts/{receipt_id} description: No description request: none response: { created_at?: string /* date */ id?: string receipt_url: string transaction_id?: string user_id?: string } --- title: List reimbursements path: /developer/v1/reimbursements description: No description request: none response: { data: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: number approved_at: string /* date */ attendees: { name: string user_id: string }[] created_at: string /* date */ currency: string direction: 'BUSINESS_TO_USER' | 'USER_TO_BUSINESS' distance: number employee_id: string end_location: string entity_id: string id: string line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string merchant: string merchant_id: string original_reimbursement_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payee_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payment_batch_id: string payment_id: string payment_processed_at: string /* date */ receipts: string[] spend_limit_id: string start_location: string state: 'APPROVED' | 'AWAITING_EXPORT' | 'AWAITING_PAYMENT' | 'AWAITING_PUSH_PAYMENT' | 'CANCELED' | 'DELETED' | 'DRAFT' | 'EXPORTED' | 'EXPORT_FAILED' | 'EXPORT_INITIATED' | 'EXPORT_MARKED_AS_FAILED' | 'EXPORT_SUCCESSFUL' | 'FAILED_REIMBURSEMENT' | 'INIT' | 'MANUALLY_REIMBURSED' | 'MISSING_ACH' | 'PENDING' | 'PROCESSING' | 'PUSH_PAYMENT_FAILED' | 'PUSH_PAYMENT_INITIATED' | 'REIMBURSED' | 'REIMBURSED_VIA_PUSH' | 'REJECTED' submitted_at: string /* date */ sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' synced_at: string /* date */ transaction_date: string /* date */ trip_id: string type: 'MILEAGE' | 'OUT_OF_POCKET' | 'PAYBACK_FULL' | 'PAYBACK_PARTIAL' | 'PER_DIEM' updated_at: string /* date */ user_email: string user_full_name: string user_id: string waypoints: string[] }[] page: { next: string } } --- title: Create a mileage reimbursement path: /developer/v1/reimbursements/mileage description: No description request: { distance: string | number distance_units?: 'KILOMETERS' | 'MILES' end_location?: string memo?: string reimbursee_id: string start_location?: string trip_date: string /* date */ waypoints?: string[] } response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: number approved_at: string /* date */ attendees: { name: string user_id: string }[] created_at: string /* date */ currency: string direction: 'BUSINESS_TO_USER' | 'USER_TO_BUSINESS' distance: number employee_id: string end_location: string entity_id: string id: string line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string merchant: string merchant_id: string original_reimbursement_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payee_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payment_batch_id: string payment_id: string payment_processed_at: string /* date */ receipts: string[] spend_limit_id: string start_location: string state: 'APPROVED' | 'AWAITING_EXPORT' | 'AWAITING_PAYMENT' | 'AWAITING_PUSH_PAYMENT' | 'CANCELED' | 'DELETED' | 'DRAFT' | 'EXPORTED' | 'EXPORT_FAILED' | 'EXPORT_INITIATED' | 'EXPORT_MARKED_AS_FAILED' | 'EXPORT_SUCCESSFUL' | 'FAILED_REIMBURSEMENT' | 'INIT' | 'MANUALLY_REIMBURSED' | 'MISSING_ACH' | 'PENDING' | 'PROCESSING' | 'PUSH_PAYMENT_FAILED' | 'PUSH_PAYMENT_INITIATED' | 'REIMBURSED' | 'REIMBURSED_VIA_PUSH' | 'REJECTED' submitted_at: string /* date */ sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' synced_at: string /* date */ transaction_date: string /* date */ trip_id: string type: 'MILEAGE' | 'OUT_OF_POCKET' | 'PAYBACK_FULL' | 'PAYBACK_PARTIAL' | 'PER_DIEM' updated_at: string /* date */ user_email: string user_full_name: string user_id: string waypoints: string[] } --- title: Upload a receipt for a reimbursement path: /developer/v1/reimbursements/submit-receipt description: If a `reimbursement_id` is provided, the receipt will be linked directly to that reimbursement. If not, Ramp will attempt to automatically create a draft reimbursement via OCR. This endpoint accepts the [multipart/form-data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST) format. Include the receipt image as a part with `Content-Disposition: attachment`. Include metadata as parts with `Content-Disposition: form-data`. request: { idempotency_key: string reimbursee_id: string reimbursement_id?: string } response: none --- title: Fetch a reimbursement path: /developer/v1/reimbursements/{reimbursement_id} description: No description request: none response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: number approved_at: string /* date */ attendees: { name: string user_id: string }[] created_at: string /* date */ currency: string direction: 'BUSINESS_TO_USER' | 'USER_TO_BUSINESS' distance: number employee_id: string end_location: string entity_id: string id: string line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code: string external_id: string id: string name: string provider_name: string source: { type?: string } type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo: string }[] memo: string merchant: string merchant_id: string original_reimbursement_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payee_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } payment_batch_id: string payment_id: string payment_processed_at: string /* date */ receipts: string[] spend_limit_id: string start_location: string state: 'APPROVED' | 'AWAITING_EXPORT' | 'AWAITING_PAYMENT' | 'AWAITING_PUSH_PAYMENT' | 'CANCELED' | 'DELETED' | 'DRAFT' | 'EXPORTED' | 'EXPORT_FAILED' | 'EXPORT_INITIATED' | 'EXPORT_MARKED_AS_FAILED' | 'EXPORT_SUCCESSFUL' | 'FAILED_REIMBURSEMENT' | 'INIT' | 'MANUALLY_REIMBURSED' | 'MISSING_ACH' | 'PENDING' | 'PROCESSING' | 'PUSH_PAYMENT_FAILED' | 'PUSH_PAYMENT_INITIATED' | 'REIMBURSED' | 'REIMBURSED_VIA_PUSH' | 'REJECTED' submitted_at: string /* date */ sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' synced_at: string /* date */ transaction_date: string /* date */ trip_id: string type: 'MILEAGE' | 'OUT_OF_POCKET' | 'PAYBACK_FULL' | 'PAYBACK_PARTIAL' | 'PER_DIEM' updated_at: string /* date */ user_email: string user_full_name: string user_id: string waypoints: string[] } --- title: List spend programs path: /developer/v1/spend-programs description: No description request: none response: { data: { description: string display_name: string icon: 'AccountingServicesIcon' | 'AdvertisingIcon' | 'CONTRACTORS_AND_PROFESSIONAL_SERVICES' | 'CUSTOM' | 'CardIcon' | 'EducationStipendIcon' | 'EmployeeRewardsIcon' | 'GroundTransportationIcon' | 'LegalFeesIcon' | 'LodgingIcon' | 'LunchOrderingIcon' | 'OnboardingIcon' | 'PerDiemCardIcon' | 'SOFTWARE' | 'SaasSubscriptionIcon' | 'SoftwareTrialIcon' | 'SuppliesIcon' | 'TeamSocialIcon' | 'TravelExpensesIcon' | 'VirtualEventIcon' | 'WellnessIcon' | 'WorkFromHomeIcon' | 'advertising' | 'airlines' | 'bills' | 'business' | 'car_services' | 'contractor' | 'education' | 'entertainment' | 'event_balloons' | 'event_virtual' | 'food' | 'fuel_and_gas' | 'general_expense' | 'general_merchandise' | 'gift' | 'government_services' | 'internet_and_phone' | 'legal' | 'lodging' | 'lodging_room' | 'newspaper' | 'office' | 'physical_card' | 'procurement_checklist' | 'procurement_intake' | 'professional_services' | 'restaurants' | 'reward' | 'saas_software' | 'shipping' | 'travel_misc' | 'wellness' id: string is_shareable: boolean issue_physical_card_if_needed: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval: 'ANNUAL' | 'CUSTOM' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } }[] page: { next: string } } --- title: Create a spend program path: /developer/v1/spend-programs description: No description request: { description: string display_name: string icon: 'AccountingServicesIcon' | 'AdvertisingIcon' | 'CONTRACTORS_AND_PROFESSIONAL_SERVICES' | 'CUSTOM' | 'CardIcon' | 'EducationStipendIcon' | 'EmployeeRewardsIcon' | 'GroundTransportationIcon' | 'LegalFeesIcon' | 'LodgingIcon' | 'LunchOrderingIcon' | 'OnboardingIcon' | 'PerDiemCardIcon' | 'SOFTWARE' | 'SaasSubscriptionIcon' | 'SoftwareTrialIcon' | 'SuppliesIcon' | 'TeamSocialIcon' | 'TravelExpensesIcon' | 'VirtualEventIcon' | 'WellnessIcon' | 'WorkFromHomeIcon' | 'advertising' | 'airlines' | 'bills' | 'business' | 'car_services' | 'contractor' | 'education' | 'entertainment' | 'event_balloons' | 'event_virtual' | 'food' | 'fuel_and_gas' | 'general_expense' | 'general_merchandise' | 'gift' | 'government_services' | 'internet_and_phone' | 'legal' | 'lodging' | 'lodging_room' | 'newspaper' | 'office' | 'physical_card' | 'procurement_checklist' | 'procurement_intake' | 'professional_services' | 'restaurants' | 'reward' | 'saas_software' | 'shipping' | 'travel_misc' | 'wellness' is_shareable?: boolean issuance_rules?: { automatic?: { applies_to_all?: boolean department_ids?: string[] location_ids?: string[] user_custom_field_ids?: string[] } requestable?: { applies_to_all?: boolean department_ids?: string[] location_ids?: string[] user_custom_field_ids?: string[] } } issue_physical_card_if_needed?: boolean permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } spending_restrictions: { allowed_categories?: number[] allowed_vendors?: string[] blocked_categories?: number[] blocked_mcc_codes?: string[] blocked_vendors?: string[] interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code?: string } lock_date?: string /* date */ transaction_amount_limit?: { amount: number currency_code?: string } } } response: none --- title: Fetch a spend program path: /developer/v1/spend-programs/{spend_program_id} description: No description request: none response: { custom_form_collection: { custom_form_collection_log_entry: { forms: { fields: CustomFormFieldWrapperDumpSchema[] label: string }[] label: string } } description: string display_name: string icon: 'AccountingServicesIcon' | 'AdvertisingIcon' | 'CONTRACTORS_AND_PROFESSIONAL_SERVICES' | 'CUSTOM' | 'CardIcon' | 'EducationStipendIcon' | 'EmployeeRewardsIcon' | 'GroundTransportationIcon' | 'LegalFeesIcon' | 'LodgingIcon' | 'LunchOrderingIcon' | 'OnboardingIcon' | 'PerDiemCardIcon' | 'SOFTWARE' | 'SaasSubscriptionIcon' | 'SoftwareTrialIcon' | 'SuppliesIcon' | 'TeamSocialIcon' | 'TravelExpensesIcon' | 'VirtualEventIcon' | 'WellnessIcon' | 'WorkFromHomeIcon' | 'advertising' | 'airlines' | 'bills' | 'business' | 'car_services' | 'contractor' | 'education' | 'entertainment' | 'event_balloons' | 'event_virtual' | 'food' | 'fuel_and_gas' | 'general_expense' | 'general_merchandise' | 'gift' | 'government_services' | 'internet_and_phone' | 'legal' | 'lodging' | 'lodging_room' | 'newspaper' | 'office' | 'physical_card' | 'procurement_checklist' | 'procurement_intake' | 'professional_services' | 'restaurants' | 'reward' | 'saas_software' | 'shipping' | 'travel_misc' | 'wellness' id: string is_shareable: boolean issue_physical_card_if_needed: boolean line_item_accounting_fields: { external_id: string id: string is_required: boolean name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] permitted_spend_types: { primary_card_enabled: boolean reimbursements_enabled: boolean } restrictions: { allowed_categories: number[] allowed_vendors: string[] auto_lock_date: string /* date */ blocked_categories: number[] blocked_vendors: string[] interval: 'ANNUAL' | 'CUSTOM' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code: string minor_unit_conversion_rate: number } next_interval_reset: string /* date */ start_of_interval: string /* date */ temporary_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } transaction_amount_limit: { amount: number currency_code: string minor_unit_conversion_rate: number } } } --- title: List statements path: /developer/v1/statements description: No description request: none response: { data: { balance_sections: { charges: { amount: number currency_code: string minor_unit_conversion_rate: number } credits: { amount: number currency_code: string minor_unit_conversion_rate: number } ending_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } entity_id: string id: string opening_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } payments: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] charges: { amount: number currency_code: string minor_unit_conversion_rate: number } credits: { amount: number currency_code: string minor_unit_conversion_rate: number } end_date: string /* date */ ending_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string opening_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } payments: { amount: number currency_code: string minor_unit_conversion_rate: number } preceding_statement_id?: string start_date: string /* date */ statement_lines: { cleared_at?: string /* date */ created_at: string /* date */ id?: string type?: 'CARD_TRANSACTION' | 'CASHBACK' | 'TRANSFER_PAYMENT' }[] statement_url?: string }[] page: { next: string } } --- title: Fetch a statement path: /developer/v1/statements/{statement_id} description: No description request: none response: { balance_sections: { charges: { amount: number currency_code: string minor_unit_conversion_rate: number } credits: { amount: number currency_code: string minor_unit_conversion_rate: number } ending_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } entity_id: string id: string opening_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } payments: { amount: number currency_code: string minor_unit_conversion_rate: number } }[] charges: { amount: number currency_code: string minor_unit_conversion_rate: number } credits: { amount: number currency_code: string minor_unit_conversion_rate: number } end_date: string /* date */ ending_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } id: string opening_balance: { amount: number currency_code: string minor_unit_conversion_rate: number } payments: { amount: number currency_code: string minor_unit_conversion_rate: number } preceding_statement_id?: string start_date: string /* date */ statement_lines: { cleared_at?: string /* date */ created_at: string /* date */ id?: string type?: 'CARD_TRANSACTION' | 'CASHBACK' | 'TRANSFER_PAYMENT' }[] statement_url?: string } --- title: Create a token path: /developer/v1/token description: Expects two headers: - Authorization header formed from base-64 encoded client credentials as `Authorization: Basic ` - `Content-Type: application/x-www-form-urlencoded` Required content body depends on authorization type method, as defined by `grant_type`. - Authorization Code Grant (`grant_type=authorization_code`): `grant_type`, `code`, and `redirect_uri` are required. Request must happen after requested scopes have been approved and exchanged for authorization code. - Refresh Token Grant (`grant_type=refresh_token`): `grant_type` and `refresh_token` are required. User must have previously obtained refresh token in authorization code flow. - Client Credentials Grant (`grant_type=client_credentials`): `grant_type` and `scope` are required. request: { code?: string grant_type: 'authorization_code' | 'client_credentials' | 'refresh_token' redirect_uri?: string refresh_token?: string scope?: string } response: { access_token?: string expires_in?: number id_token?: string refresh_token?: string refresh_token_expires_in?: number scope?: string token_type?: string } --- title: Revoke an access or refresh token path: /developer/v1/token/revoke description: Expects an authorization header formed from base-64 encoded client credentials as `Authorization: Basic `. Content body must be form-encoded. Example: ``` curl \ -X POST \ -H "Authorization: Basic " \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode 'token=$RAMP_API_TOKEN' \ 'https://api.ramp.com/developer/v1/token/revoke' ``` request: { token: string token_type_hint?: 'access_token' | 'refresh_token' } response: none --- title: List transactions path: /developer/v1/transactions description: This endpoint supports filtering and ordering. If state is not set, all transactions except declined transactions will be returned. Note that setting multiple ordering parameters is unsupported. request: none response: { data: { accounting_categories?: { category_id?: string category_name?: string tracking_category_remote_id?: string tracking_category_remote_name?: string tracking_category_remote_type?: string }[] accounting_date: string /* date */ accounting_field_selections?: { category_info?: { external_id?: string id?: string name?: string type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id?: string id?: string name?: string provider_name: string source?: { type?: string } type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount?: number attendees?: { name: string user_id: string }[] card_holder?: { department_id?: string department_name?: string employee_id?: string first_name?: string last_name?: string location_id?: string location_name?: string user_id?: string } card_id?: string card_present: boolean currency_code?: string decline_details?: { amount?: number reason?: 'AUTHORIZER' | 'AUTHORIZER_AP_CARD_VELOCITY_LIMIT' | 'AUTHORIZER_BUSINESS_LIMIT' | 'AUTHORIZER_BUSINESS_SUSPENDED' | 'AUTHORIZER_BUSINESS_VENDOR_BLACKLIST' | 'AUTHORIZER_CARD_AUTO_LOCK_DATE' | 'AUTHORIZER_CARD_CATEGORY_BLACKLIST' | 'AUTHORIZER_CARD_CATEGORY_WHITELIST' | 'AUTHORIZER_CARD_LIMIT' | 'AUTHORIZER_CARD_MCC_BLACKLIST' | 'AUTHORIZER_CARD_MISSING_POLICY_ITEMS' | 'AUTHORIZER_CARD_NOT_ACTIVATED' | 'AUTHORIZER_CARD_PARTIALLY_ACTIVATED' | 'AUTHORIZER_CARD_START_DATE' | 'AUTHORIZER_CARD_SUSPENDED' | 'AUTHORIZER_CARD_TASK_SANCTION' | 'AUTHORIZER_CARD_TOTAL_ACTIVATION_REQUIRED' | 'AUTHORIZER_CARD_VENDOR_BLACKLIST' | 'AUTHORIZER_CARD_VENDOR_WHITELIST' | 'AUTHORIZER_COMMANDO_MODE' | 'AUTHORIZER_FRAUD' | 'AUTHORIZER_FREEZE_TRANSACTIONS_RISK' | 'AUTHORIZER_GLOBAL_MCC_BLACKLIST' | 'AUTHORIZER_MEMBER_LIMIT' | 'AUTHORIZER_NON_AP_CARD_VELOCITY_LIMIT' | 'AUTHORIZER_OOB_BLOCKED_MERCHANT' | 'AUTHORIZER_OOB_DAILY_BUSINESS_BALANCE' | 'AUTHORIZER_OOB_DAILY_CARD_SPEND' | 'AUTHORIZER_RAMP_AUTHORIZATION_METHODS' | 'AUTHORIZER_RAMP_TRANSACTION_AMOUNT_LIMIT' | 'AUTHORIZER_RAMP_VENDOR_RESTRICTIONS' | 'AUTHORIZER_SPEND_ALLOCATION_ARCHIVED_FUNDS' | 'AUTHORIZER_SPEND_ALLOCATION_MEMBER_SUSPENDED' | 'AUTHORIZER_SPEND_ALLOCATION_SUSPENDED' | 'AUTHORIZER_TRANSACTION_AMOUNT_LIMIT' | 'AUTHORIZER_UNAUTHORIZED_USER' | 'AUTHORIZER_USER_LIMIT' | 'AUTHORIZER_USER_SUSPENDED' | 'BLOCKED_COUNTRY' | 'CARD_EXPIRED' | 'CARD_LOST_OR_STOLEN' | 'CARD_TERMINATED' | 'CHIP_FAILURE' | 'FORBIDDEN_CATEGORY' | 'INSECURE_AUTHORIZATION_METHOD' | 'INSUFFICIENT_FUNDS' | 'INVALID_PIN' | 'MISSING_CVV' | 'MISSING_EXPIRATION' | 'MOBILE_WALLET_FAILURE' | 'MOBILE_WALLET_TOKEN_NOT_FOUND' | 'MOBILE_WALLET_TOKEN_TERMINATED' | 'NETWORK_DECLINE_ACCOUNT_VERIFICATION' | 'NETWORK_DECLINE_ADVICE' | 'NETWORK_DECLINE_ADVICE_ACQUIRER_ISSUE' | 'NETWORK_DECLINE_ADVICE_ADDITIONAL_AUTHENTICATION_REQUIRED' | 'NETWORK_DECLINE_ADVICE_FORCED_STIP_BY_ISSUER' | 'NETWORK_DECLINE_ADVICE_ISSUER_LOGGED_OFF' | 'NETWORK_DECLINE_ADVICE_ISSUER_TIMEOUT' | 'NETWORK_DECLINE_ADVICE_ISSUER_UNAVAILABLE' | 'NETWORK_DECLINE_ADVICE_PIN_ERROR' | 'NETWORK_DECLINE_ADVICE_RECURRING_PAYMENT' | 'NETWORK_DECLINE_ADVICE_SELECTIVE_ACCEPTANCE_SERVICE' | 'NETWORK_DECLINE_ADVICE_SUSPECTED_FRAUD_TRANSACTION' | 'NETWORK_DECLINE_ADVICE_TOKEN_PROVISIONING_SERVICE' | 'NETWORK_DECLINE_ADVICE_VISA_PAYMENT_CONTROLS_RULE' | 'NOT_ACTIVE' | 'NOT_ALLOWED' | 'NO_AUTO_ROUTED_LIMITS_AVAILABLE' | 'NO_LINKED_SPEND_ALLOCATION' | 'OFAC_VERIFICATION_NEEDED' | 'OPEN_TO_BUY_LIMIT' | 'OTHER' | 'PIN_BLOCKED' | 'PIN_TRY_LIMIT_EXCEEDED' | 'PROCESSOR_CAP' | 'QUASI_CASH' | 'ROUTED_TO_TERMINATED_SPEND_ALLOCATION' | 'STRIPE_WEBHOOK_TIMEOUT' | 'SUSPECTED_BIN_ATTACK' | 'SUSPECTED_FRAUD' | 'THREE_D_SECURE_REQUIRED' | 'USER_BLOCKED' | 'USER_TERMINATED' | 'WRONG_ADDRESS' | 'WRONG_CVV' | 'WRONG_EXPIRATION' | 'WRONG_POSTAL_CODE' } disputes?: { created_at?: string /* date */ id?: string memo?: string type?: string }[] entity_id: string id?: string limit_id?: string line_items?: { accounting_field_selections?: { category_info?: { external_id?: string id?: string name?: string type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id?: string id?: string name?: string provider_name: string source?: { type?: string } type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } converted_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string }[] memo?: string merchant_category_code?: string merchant_category_code_description?: string merchant_data?: { auto_rental: { check_out?: string days?: number } flight: { departure_date: string passenger_name?: string segments: ApiTransactionPurchaseFlightSegment[] } lodging: { check_in?: string nights: number } receipt: { items?: ApiTransactionPurchaseReceiptLineItem[] } reference: string } merchant_descriptor?: string merchant_id: string merchant_location: { city: string country: string postal_code: string state: string } merchant_name?: string minor_unit_conversion_rate: number original_transaction_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } policy_violations?: { created_at?: string /* date */ id?: string memo?: string type?: string }[] receipts?: string[] requires_accounting_vendor_creation_to_sync?: boolean settlement_date?: string /* date */ sk_category_id: number sk_category_name: string spend_program_id?: string state?: 'ALL' | 'CLEARED' | 'COMPLETION' | 'DECLINED' | 'ERROR' | 'PENDING' | 'PENDING_INITIATION' statement_id?: string sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' synced_at: string /* date */ trip_id: string trip_name: string user_transaction_time?: string /* date */ }[] page: { next: string } } --- title: Fetch a transaction path: /developer/v1/transactions/{transaction_id} description: No description request: none response: { accounting_categories?: { category_id?: string category_name?: string tracking_category_remote_id?: string tracking_category_remote_name?: string tracking_category_remote_type?: string }[] accounting_date: string /* date */ accounting_field_selections?: { category_info?: { external_id?: string id?: string name?: string type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id?: string id?: string name?: string provider_name: string source?: { type?: string } type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount?: number attendees?: { name: string user_id: string }[] card_holder?: { department_id?: string department_name?: string employee_id?: string first_name?: string last_name?: string location_id?: string location_name?: string user_id?: string } card_id?: string card_present: boolean currency_code?: string decline_details?: { amount?: number reason?: 'AUTHORIZER' | 'AUTHORIZER_AP_CARD_VELOCITY_LIMIT' | 'AUTHORIZER_BUSINESS_LIMIT' | 'AUTHORIZER_BUSINESS_SUSPENDED' | 'AUTHORIZER_BUSINESS_VENDOR_BLACKLIST' | 'AUTHORIZER_CARD_AUTO_LOCK_DATE' | 'AUTHORIZER_CARD_CATEGORY_BLACKLIST' | 'AUTHORIZER_CARD_CATEGORY_WHITELIST' | 'AUTHORIZER_CARD_LIMIT' | 'AUTHORIZER_CARD_MCC_BLACKLIST' | 'AUTHORIZER_CARD_MISSING_POLICY_ITEMS' | 'AUTHORIZER_CARD_NOT_ACTIVATED' | 'AUTHORIZER_CARD_PARTIALLY_ACTIVATED' | 'AUTHORIZER_CARD_START_DATE' | 'AUTHORIZER_CARD_SUSPENDED' | 'AUTHORIZER_CARD_TASK_SANCTION' | 'AUTHORIZER_CARD_TOTAL_ACTIVATION_REQUIRED' | 'AUTHORIZER_CARD_VENDOR_BLACKLIST' | 'AUTHORIZER_CARD_VENDOR_WHITELIST' | 'AUTHORIZER_COMMANDO_MODE' | 'AUTHORIZER_FRAUD' | 'AUTHORIZER_FREEZE_TRANSACTIONS_RISK' | 'AUTHORIZER_GLOBAL_MCC_BLACKLIST' | 'AUTHORIZER_MEMBER_LIMIT' | 'AUTHORIZER_NON_AP_CARD_VELOCITY_LIMIT' | 'AUTHORIZER_OOB_BLOCKED_MERCHANT' | 'AUTHORIZER_OOB_DAILY_BUSINESS_BALANCE' | 'AUTHORIZER_OOB_DAILY_CARD_SPEND' | 'AUTHORIZER_RAMP_AUTHORIZATION_METHODS' | 'AUTHORIZER_RAMP_TRANSACTION_AMOUNT_LIMIT' | 'AUTHORIZER_RAMP_VENDOR_RESTRICTIONS' | 'AUTHORIZER_SPEND_ALLOCATION_ARCHIVED_FUNDS' | 'AUTHORIZER_SPEND_ALLOCATION_MEMBER_SUSPENDED' | 'AUTHORIZER_SPEND_ALLOCATION_SUSPENDED' | 'AUTHORIZER_TRANSACTION_AMOUNT_LIMIT' | 'AUTHORIZER_UNAUTHORIZED_USER' | 'AUTHORIZER_USER_LIMIT' | 'AUTHORIZER_USER_SUSPENDED' | 'BLOCKED_COUNTRY' | 'CARD_EXPIRED' | 'CARD_LOST_OR_STOLEN' | 'CARD_TERMINATED' | 'CHIP_FAILURE' | 'FORBIDDEN_CATEGORY' | 'INSECURE_AUTHORIZATION_METHOD' | 'INSUFFICIENT_FUNDS' | 'INVALID_PIN' | 'MISSING_CVV' | 'MISSING_EXPIRATION' | 'MOBILE_WALLET_FAILURE' | 'MOBILE_WALLET_TOKEN_NOT_FOUND' | 'MOBILE_WALLET_TOKEN_TERMINATED' | 'NETWORK_DECLINE_ACCOUNT_VERIFICATION' | 'NETWORK_DECLINE_ADVICE' | 'NETWORK_DECLINE_ADVICE_ACQUIRER_ISSUE' | 'NETWORK_DECLINE_ADVICE_ADDITIONAL_AUTHENTICATION_REQUIRED' | 'NETWORK_DECLINE_ADVICE_FORCED_STIP_BY_ISSUER' | 'NETWORK_DECLINE_ADVICE_ISSUER_LOGGED_OFF' | 'NETWORK_DECLINE_ADVICE_ISSUER_TIMEOUT' | 'NETWORK_DECLINE_ADVICE_ISSUER_UNAVAILABLE' | 'NETWORK_DECLINE_ADVICE_PIN_ERROR' | 'NETWORK_DECLINE_ADVICE_RECURRING_PAYMENT' | 'NETWORK_DECLINE_ADVICE_SELECTIVE_ACCEPTANCE_SERVICE' | 'NETWORK_DECLINE_ADVICE_SUSPECTED_FRAUD_TRANSACTION' | 'NETWORK_DECLINE_ADVICE_TOKEN_PROVISIONING_SERVICE' | 'NETWORK_DECLINE_ADVICE_VISA_PAYMENT_CONTROLS_RULE' | 'NOT_ACTIVE' | 'NOT_ALLOWED' | 'NO_AUTO_ROUTED_LIMITS_AVAILABLE' | 'NO_LINKED_SPEND_ALLOCATION' | 'OFAC_VERIFICATION_NEEDED' | 'OPEN_TO_BUY_LIMIT' | 'OTHER' | 'PIN_BLOCKED' | 'PIN_TRY_LIMIT_EXCEEDED' | 'PROCESSOR_CAP' | 'QUASI_CASH' | 'ROUTED_TO_TERMINATED_SPEND_ALLOCATION' | 'STRIPE_WEBHOOK_TIMEOUT' | 'SUSPECTED_BIN_ATTACK' | 'SUSPECTED_FRAUD' | 'THREE_D_SECURE_REQUIRED' | 'USER_BLOCKED' | 'USER_TERMINATED' | 'WRONG_ADDRESS' | 'WRONG_CVV' | 'WRONG_EXPIRATION' | 'WRONG_POSTAL_CODE' } disputes?: { created_at?: string /* date */ id?: string memo?: string type?: string }[] entity_id: string id?: string limit_id?: string line_items?: { accounting_field_selections?: { category_info?: { external_id?: string id?: string name?: string type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id?: string id?: string name?: string provider_name: string source?: { type?: string } type?: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } converted_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string }[] memo?: string merchant_category_code?: string merchant_category_code_description?: string merchant_data?: { auto_rental: { check_out?: string days?: number } flight: { departure_date: string passenger_name?: string segments: { arrival_airport_code?: string carrier?: string departure_airport_code?: string flight_number?: string service_class?: string stopover_allowed?: boolean }[] } lodging: { check_in?: string nights: number } receipt: { items?: { commodity_code: string description?: string discount: number quantity?: number tax: number total?: number unit_cost?: number }[] } reference: string } merchant_descriptor?: string merchant_id: string merchant_location: { city: string country: string postal_code: string state: string } merchant_name?: string minor_unit_conversion_rate: number original_transaction_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } policy_violations?: { created_at?: string /* date */ id?: string memo?: string type?: string }[] receipt_affidavit?: string receipts?: string[] requires_accounting_vendor_creation_to_sync?: boolean settlement_date?: string /* date */ sk_category_id: number sk_category_name: string spend_program_id?: string state?: 'ALL' | 'CLEARED' | 'COMPLETION' | 'DECLINED' | 'ERROR' | 'PENDING' | 'PENDING_INITIATION' statement_id?: string sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' synced_at: string /* date */ trip_id: string trip_name: string user_transaction_time?: string /* date */ } --- title: List transfer payments path: /developer/v1/transfers description: For information on how to use this endpoint, refer to the [Transfers Guide](/developer-api/v1/guides/transfers). request: none response: { data: { amount?: { amount: number currency_code: string minor_unit_conversion_rate: number } bank_account_id: string created_at?: string /* date */ entity_id?: string id?: string payment_id?: string status?: 'ACH_CONFIRMED' | 'CANCELED' | 'COMPLETED' | 'ERROR' | 'INITIATED' | 'NOT_ACKED' | 'NOT_ENOUGH_FUNDS' | 'PROCESSING_BY_ODFI' | 'REJECTED_BY_ODFI' | 'RETURNED_BY_RDFI' | 'SUBMITTED_TO_FED' | 'SUBMITTED_TO_RDFI' | 'UNNECESSARY' | 'UPLOADED' sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' }[] page: { next: string } } --- title: Fetch a transfer payment path: /developer/v1/transfers/{transfer_id} description: For information on how to use this endpoint, refer to the [Transfers Guide](/developer-api/v1/guides/transfers). request: none response: { amount?: { amount: number currency_code: string minor_unit_conversion_rate: number } bank_account_id: string created_at?: string /* date */ entity_id?: string id?: string payment_id?: string status?: 'ACH_CONFIRMED' | 'CANCELED' | 'COMPLETED' | 'ERROR' | 'INITIATED' | 'NOT_ACKED' | 'NOT_ENOUGH_FUNDS' | 'PROCESSING_BY_ODFI' | 'REJECTED_BY_ODFI' | 'RETURNED_BY_RDFI' | 'SUBMITTED_TO_FED' | 'SUBMITTED_TO_RDFI' | 'UNNECESSARY' | 'UPLOADED' sync_status: 'NOT_SYNC_READY' | 'SYNCED' | 'SYNC_READY' } --- title: List all trips for the business path: /developer/v1/trips description: No description request: none response: { data: { created_at: string /* date */ description: string end_date: string /* date */ id: string length_in_days: number locations: { end_date: string /* date */ location: { city: string country: string latitude: number longitude: number state: string } start_date: string /* date */ }[] name: string spend_events: { id: string spend_type: 'BILL' | 'REIMBURSEMENT' | 'TRANSACTION' }[] start_date: string /* date */ status: 'cancelled' | 'completed' | 'ongoing' | 'upcoming' total_spend: number travel_types: 'CAR' | 'FLIGHT' | 'HOTEL'[] updated_at: string /* date */ user_id: string }[][] page: { next: string } } --- title: Fetch a trip path: /developer/v1/trips/{trip_id} description: No description request: none response: { created_at: string /* date */ description: string end_date: string /* date */ id: string length_in_days: number locations: { end_date: string /* date */ location: { city: string country: string latitude: number longitude: number state: string } start_date: string /* date */ }[] name: string spend_events: { id: string spend_type: 'BILL' | 'REIMBURSEMENT' | 'TRANSACTION' }[] start_date: string /* date */ status: 'cancelled' | 'completed' | 'ongoing' | 'upcoming' total_spend: number travel_types: 'CAR' | 'FLIGHT' | 'HOTEL'[] updated_at: string /* date */ user_id: string } --- title: List users path: /developer/v1/users description: No description request: none response: { data: { business_id: string custom_fields: { name: string value: string }[] department_id: string email?: string employee_id: string entity_id: string first_name?: string id?: string is_manager: boolean last_name?: string location_id: string manager_id: string phone: string role?: 'AUDITOR' | 'BUSINESS_ADMIN' | 'BUSINESS_BOOKKEEPER' | 'BUSINESS_OWNER' | 'BUSINESS_USER' | 'GUEST_USER' | 'IT_ADMIN' scheduled_deactivation_date: string /* date */ status: 'INVITE_EXPIRED' | 'INVITE_PENDING' | 'USER_ACTIVE' | 'USER_INACTIVE' | 'USER_ONBOARDING' | 'USER_SUSPENDED' }[] page: { next: string } } --- title: Create a user invite path: /developer/v1/users/deferred description: Call this endpoint to trigger an async task to send out a user invite via email. Users will need to accept the invite in order to be onboarded. Assign a user to a specific entity by specifying a `location_id` on creation. Locations are mapped to entities with a many-to-one relationship. request: { department_id?: string direct_manager_id?: string email: string first_name: string idempotency_key: string is_manager?: boolean last_name: string location_id?: string role: 'AUDITOR' | 'BUSINESS_ADMIN' | 'BUSINESS_BOOKKEEPER' | 'BUSINESS_OWNER' | 'BUSINESS_USER' | 'GUEST_USER' | 'IT_ADMIN' scheduled_deactivation_date?: string /* date */ } response: none --- title: Fetch deferred task status path: /developer/v1/users/deferred/status/{task_id} description: No description request: none response: { context?: { acting_user_id?: string } data?: { error?: string user_id?: string } id?: string status?: string } --- title: Fetch a user path: /developer/v1/users/{user_id} description: No description request: none response: { business_id: string custom_fields: { name: string value: string }[] department_id: string email?: string employee_id: string entity_id: string first_name?: string id?: string is_manager: boolean last_name?: string location_id: string manager_id: string phone: string role?: 'AUDITOR' | 'BUSINESS_ADMIN' | 'BUSINESS_BOOKKEEPER' | 'BUSINESS_OWNER' | 'BUSINESS_USER' | 'GUEST_USER' | 'IT_ADMIN' scheduled_deactivation_date: string /* date */ status: 'INVITE_EXPIRED' | 'INVITE_PENDING' | 'USER_ACTIVE' | 'USER_INACTIVE' | 'USER_ONBOARDING' | 'USER_SUSPENDED' } --- title: Update a user path: /developer/v1/users/{user_id} description: No description request: { auto_promote?: boolean department_id?: string direct_manager_id?: string first_name?: string is_manager?: boolean last_name?: string location_id?: string role?: 'AUDITOR' | 'BUSINESS_ADMIN' | 'BUSINESS_BOOKKEEPER' | 'BUSINESS_OWNER' | 'BUSINESS_USER' | 'GUEST_USER' | 'IT_ADMIN' scheduled_deactivation_date?: string /* date */ } response: none --- title: Deactivate a user path: /developer/v1/users/{user_id}/deactivate description: When users are deactivated, they will no longer be able to log in, spend on cards, or receive any notifications from Ramp. request: none response: Record --- title: Reactivate a user path: /developer/v1/users/{user_id}/reactivate description: Upon reactivation, users can log in to Ramp again, spend on their previously issued cards and resume receiving Ramp notifications. request: none response: Record --- title: Create a spend limit and retrieve sensitive card details path: /developer/v1/vault/cards description: Vault API access is required to use this endpoint. request: { accounting_rules?: { field_id: string field_option_id: string }[] allowed_overage_percent_override?: string | number display_name?: string spend_program_id?: string spending_restrictions?: { allowed_categories?: number[] allowed_vendors?: string[] blocked_categories?: number[] blocked_mcc_codes?: string[] blocked_vendors?: string[] interval: 'ANNUAL' | 'DAILY' | 'MONTHLY' | 'QUARTERLY' | 'TERTIARY' | 'TOTAL' | 'WEEKLY' | 'YEARLY' limit: { amount: number currency_code?: string } lock_date?: string /* date */ transaction_amount_limit?: { amount: number currency_code?: string } } user_id: string } response: none --- title: Fetch a card's sensitive details path: /developer/v1/vault/cards/{card_id} description: Accepts a card's ID and returns its sensitive details. Vault API access is required to use this endpoint. request: none response: { cvv?: string id?: string pan?: string } --- title: List vendors path: /developer/v1/vendors description: No description request: none response: { data: { accounting_vendor_remote_id: string address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } billing_frequency?: 'ANNUAL' | 'MONTHLY' | 'MULTIPLE' | 'NA' | 'OTHER' | 'QUARTERLY' | 'ROLLING' | 'TBD' | 'TWICE_A_YEAR' contacts: string[] country: string created_at: string /* date */ default_entity_id: string default_payment_method: { policy?: DefaultPaymentMethodAddressPolicy | DefaultPaymentMethodBankAccountPolicy | DefaultPaymentMethodCardPolicy update_source?: 'AUTO' | 'MANUAL' } description?: string external_vendor_id: string federal_tax_classification?: 'C_CORPORATION' | 'INDIVIDUAL_SOLE_PROPRIETOR_SINGLE_MEMBER_LLC' | 'INTERNATIONAL' | 'LLC_C_CORPORATION' | 'LLC_PARTNERSHIP' | 'LLC_S_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'S_CORPORATION' | 'TRUST_ESTATE' id: string is_active: boolean is_deletable: boolean merchant_id?: string name: string name_legal?: string sk_category_id?: number sk_category_name?: string state?: string subsidiary?: string[] tax_address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } total_spend_all_time: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_30_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_365_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_ytd: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_owner_id: string vendor_type?: 'BUSINESS' | 'INDIVIDUAL' }[] page: { next: string } } --- title: Create a new vendor path: /developer/v1/vendors description: Vendors created in the API are approved by default, and are not subject to existing approval policies. request: { accounting_vendor_remote_id?: string address?: { address_line_1: string address_line_2?: string city: string country?: string postal_code: string state?: string } business_vendor_contacts: { email: string first_name?: string last_name?: string phone?: string } country: string external_vendor_id?: string name?: string request_payment_details?: boolean request_tax_details?: boolean state?: string vendor_owner_id?: string vendor_tracking_category_option_id?: string } response: { accounting_vendor_remote_id: string address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } billing_frequency?: 'ANNUAL' | 'MONTHLY' | 'MULTIPLE' | 'NA' | 'OTHER' | 'QUARTERLY' | 'ROLLING' | 'TBD' | 'TWICE_A_YEAR' contacts: string[] country: string created_at: string /* date */ default_entity_id: string default_payment_method: { policy?: { data: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { data: { account_nickname?: string currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' id: string is_default?: boolean payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { card_payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } update_source?: 'AUTO' | 'MANUAL' } description?: string external_vendor_id: string federal_tax_classification?: 'C_CORPORATION' | 'INDIVIDUAL_SOLE_PROPRIETOR_SINGLE_MEMBER_LLC' | 'INTERNATIONAL' | 'LLC_C_CORPORATION' | 'LLC_PARTNERSHIP' | 'LLC_S_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'S_CORPORATION' | 'TRUST_ESTATE' id: string is_active: boolean is_deletable: boolean merchant_id?: string name: string name_legal?: string sk_category_id?: number sk_category_name?: string state?: string subsidiary?: string[] tax_address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } total_spend_all_time: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_30_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_365_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_ytd: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_owner_id: string vendor_type?: 'BUSINESS' | 'INDIVIDUAL' } --- title: List vendor agreements path: /developer/v1/vendors/agreements description: No description request: { agreement_custom_records?: { filters: Record | { filters: CustomRecordsQueryAndClauseRequestBody | CustomRecordsQueryOrClauseRequestBody | RowQueryFilterRequestBody[] type?: 'or' } | { clause: RowQueryGreaterThanClauseRequestBody | RowQueryGreaterThanOrEqualClauseRequestBody | RowQueryIsNotClauseRequestBody | RowQueryIsNullClauseRequestBody | RowQueryLessThanClauseRequestBody | RowQueryLessThanOrEqualClauseRequestBody | RowQueryOneOfClauseRequestBody column_id: string type?: 'filter' }[] type?: 'and' } auto_renews?: boolean contract_owner_ids?: string[] department_ids?: string[] end_date_range?: { end?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } start?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } } exclude_snoozed?: boolean has_end_date?: boolean has_pending_expansion_requests?: boolean has_reminders?: boolean include_archived?: boolean is_active?: boolean is_up_for_renewal?: boolean last_date_to_terminate_range?: { end?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } start?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } } max_days_remaining?: number max_end_date?: string /* date */ max_last_date_to_terminate?: string /* date */ max_start_date?: string /* date */ max_total_value?: string | number min_days_remaining?: number min_end_date?: string /* date */ min_last_date_to_terminate?: string /* date */ min_start_date?: string /* date */ min_total_value?: string | number page_size?: number payee_agreement_ids?: string[] payee_ids?: string[] payee_owner_ids?: string[] renewal_status?: 'CANCELLED' | 'EXPIRED' | 'INITIATED' | 'NOT_STARTED' | 'REJECTED' | 'RENEWED'[] renewal_status_exclude?: 'CANCELLED' | 'EXPIRED' | 'INITIATED' | 'NOT_STARTED' | 'REJECTED' | 'RENEWED'[] start?: string start_date_range?: { end?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } start?: { offset: number unit: 'day' | 'month' | 'quarter' | 'week' | 'year' } } } response: { data: { auto_renewal: boolean available_actions: Record contract_owners: { email: string first_name: string full_name: string id: string last_name: string profile_picture_url?: string }[] created_at: string /* date */ currency: string custom_record_field_values: { column_display_name: string column_id: string value: { display_name: string type: 'boolean' value: boolean } | { has_more: boolean rows: { display_name: string external_key: string row_id: string type: 'custom_table' }[] table_name: string type: 'custom_table' } | { display_name: string type: 'date' value: string /* date */ } | { has_more: boolean rows: { display_name: string external_key: string type: 'native_table' }[] table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type: 'native_table' } | { display_name: string type: 'number' value: number } | { display_name: string type: 'text' value: string } }[] days_remaining: { end_date_used?: 'END_DATE' | 'LAST_DATE_TO_TERMINATE' is_expired?: boolean is_overdue?: boolean num_days_until_end?: number } deleted_at?: string /* date */ department?: { id: string name: string } description?: string draft_spend_requests: { id: string name?: string source: 'EXPANSION_REQUEST' | 'RENEWAL' | 'REQUEST_APPROVAL' | 'REQUEST_LINKED_TO_AGREEMENT' total_amount?: string unified_request_id: string updated_at?: string /* date */ }[] end_date?: string /* date */ has_approved_renewal_request: boolean id: string is_snoozed: boolean is_up_for_renewal: boolean last_date_to_terminate?: string /* date */ latest_renewal_request?: { currency: string id: string name?: string request_status: 'APPROVED' | 'DRAFT' | 'REJECTED' | 'SUBMITTED' submitted_at?: string /* date */ total_amount?: { amount: number currency_code: string minor_unit_conversion_rate: number } unified_request_id: string user_full_name: string } logo?: string name: string notifications_on: boolean payee_id: string payee_name: string renewal_status: 'CANCELLED' | 'EXPIRED' | 'INITIATED' | 'NOT_STARTED' | 'REJECTED' | 'RENEWED' start_date?: string /* date */ total_value: { amount: number currency_code: string minor_unit_conversion_rate: number } updated_at: string /* date */ vendor_owners: { first_name: string full_name: string id: string last_name: string }[] }[] page: { next: string } } --- title: List all vendor credits for all vendors of a business path: /developer/v1/vendors/credits description: No description request: none response: { data: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] applied_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] applied_draft_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] created_at: string /* date */ expense_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string }[] id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } unit_quantity: number }[] reference_bill_id: string reference_number: string remaining_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_applied_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_id: string }[][] page: { next: string } } --- title: Fetch a vendor credit path: /developer/v1/vendors/credits/{vendor_credit_id} description: No description request: none response: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] applied_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] applied_draft_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] created_at: string /* date */ expense_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string }[] id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } unit_quantity: number }[] reference_bill_id: string reference_number: string remaining_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_applied_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_id: string } --- title: Delete a vendor path: /developer/v1/vendors/{vendor_id} description: A vendor cannot be deleted if it has associated transactions, bills, contracts, or spend requests. request: none response: none --- title: Fetch a vendor path: /developer/v1/vendors/{vendor_id} description: No description request: none response: { accounting_vendor_remote_id: string address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } billing_frequency?: 'ANNUAL' | 'MONTHLY' | 'MULTIPLE' | 'NA' | 'OTHER' | 'QUARTERLY' | 'ROLLING' | 'TBD' | 'TWICE_A_YEAR' contacts: string[] country: string created_at: string /* date */ custom_form_collection_response: { custom_form_collection_log_entry: { allow_comments: boolean forms: { fields: { attachments?: RampDocumentSchema[] conditions: WorkflowsCondition description: string field: CustomFormAddressFieldResponseDumpSchema | CustomFormBooleanFieldResponseDumpSchema | CustomFormContactFieldResponseDumpSchema | CustomFormDateFieldResponseDumpSchema | CustomFormDepartmentFieldResponseDumpSchema | CustomFormEmailFieldResponseDumpSchema | CustomFormFileUploadFieldResponseDumpSchema | CustomFormLinkFieldResponseDumpSchema | CustomFormMerchantCategoryFieldResponseDumpSchema | CustomFormMerchantFieldResponseDumpSchema | CustomFormMonetaryAmountFieldResponseDumpSchema | CustomFormNumberFieldResponseDumpSchema | CustomFormParagraphFieldResponseDumpSchema | CustomFormTextFieldResponseDumpSchema | CustomFormTextMultiSelectFieldResponseDumpSchema | CustomFormTextSingleSelectFieldResponseDumpSchema | CustomFormVendorFieldResponseDumpSchema field_id: string global_library_field_id?: string is_mapped_to_ironclad_field?: boolean is_used_in_approval_workflow_condition?: boolean is_used_in_custom_form_workflow_condition?: boolean label: string required: boolean validation_errors?: CustomFormFieldValidationErrorSchemaV2[] value_display_string: string }[] label: string }[] label: string } } custom_record_fields: { column_display_name: string column_id: string value: { display_name: string type: 'boolean' value: boolean } | { has_more: boolean rows: { display_name: string external_key: string row_id: string type: 'custom_table' }[] table_name: string type: 'custom_table' } | { display_name: string type: 'date' value: string /* date */ } | { has_more: boolean rows: { display_name: string external_key: string type: 'native_table' }[] table_name: 'accounting_field_options' | 'bills' | 'business_entities' | 'cards' | 'contracts' | 'departments' | 'limits' | 'locations' | 'purchase_order_line_items' | 'purchase_orders' | 'reimbursements' | 'transactions' | 'users' | 'vendors' type: 'native_table' } | { display_name: string type: 'number' value: number } | { display_name: string type: 'text' value: string } }[] default_entity_id: string default_payment_method: { policy?: { data: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { data: { account_nickname?: string currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' id: string is_default?: boolean payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { card_payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } update_source?: 'AUTO' | 'MANUAL' } description?: string external_vendor_id: string federal_tax_classification?: 'C_CORPORATION' | 'INDIVIDUAL_SOLE_PROPRIETOR_SINGLE_MEMBER_LLC' | 'INTERNATIONAL' | 'LLC_C_CORPORATION' | 'LLC_PARTNERSHIP' | 'LLC_S_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'S_CORPORATION' | 'TRUST_ESTATE' id: string is_active: boolean is_deletable: boolean merchant_id?: string name: string name_legal?: string sk_category_id?: number sk_category_name?: string state?: string subsidiary?: string[] tax_address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } total_spend_all_time: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_30_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_365_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_ytd: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_owner_id: string vendor_type?: 'BUSINESS' | 'INDIVIDUAL' } --- title: Update a vendor path: /developer/v1/vendors/{vendor_id} description: No description request: { accounting_vendor_remote_id?: string address?: { address_line_1: string address_line_2?: string city: string country?: string postal_code: string state?: string } country?: string description?: string external_vendor_id?: string is_active?: boolean state?: string vendor_tracking_category_option_id?: string } response: { accounting_vendor_remote_id: string address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } billing_frequency?: 'ANNUAL' | 'MONTHLY' | 'MULTIPLE' | 'NA' | 'OTHER' | 'QUARTERLY' | 'ROLLING' | 'TBD' | 'TWICE_A_YEAR' contacts: string[] country: string created_at: string /* date */ default_entity_id: string default_payment_method: { policy?: { data: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { data: { account_nickname?: string currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' id: string is_default?: boolean payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' } kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } | { card_payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' kind: 'ADDRESS' | 'BANK_ACCOUNT' | 'CARD' | 'MANUAL' } update_source?: 'AUTO' | 'MANUAL' } description?: string external_vendor_id: string federal_tax_classification?: 'C_CORPORATION' | 'INDIVIDUAL_SOLE_PROPRIETOR_SINGLE_MEMBER_LLC' | 'INTERNATIONAL' | 'LLC_C_CORPORATION' | 'LLC_PARTNERSHIP' | 'LLC_S_CORPORATION' | 'OTHER' | 'PARTNERSHIP' | 'S_CORPORATION' | 'TRUST_ESTATE' id: string is_active: boolean is_deletable: boolean merchant_id?: string name: string name_legal?: string sk_category_id?: number sk_category_name?: string state?: string subsidiary?: string[] tax_address?: { address_line_1: string address_line_2?: string city: string country: string postal_code: string state?: string } total_spend_all_time: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_30_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_last_365_days: { amount: number currency_code: string minor_unit_conversion_rate: number } total_spend_ytd: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_owner_id: string vendor_type?: 'BUSINESS' | 'INDIVIDUAL' } --- title: List vendor bank accounts path: /developer/v1/vendors/{vendor_id}/accounts description: No description request: none response: { data: { account_nickname?: string currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' id: string is_default?: boolean payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' }[] page: { next: string } } --- title: Fetch a vendor bank account path: /developer/v1/vendors/{vendor_id}/accounts/{bank_account_id} description: No description request: none response: { account_nickname?: string currency: 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNH' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'EURC' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USDB' | 'USDC' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAD' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL' id: string is_default?: boolean payment_method: 'ACH' | 'AUTOMATIC_CARD_PAYMENT' | 'CARD' | 'CHECK' | 'CRYPTO_WALLET_TRANSFER' | 'DOMESTIC_WIRE' | 'INTERNATIONAL' | 'LOCAL_BANK_TRANSFER' | 'ONE_TIME_CARD' | 'ONE_TIME_CARD_DELIVERY' | 'PAID_MANUALLY' | 'RTP' | 'SWIFT' | 'UNSPECIFIED' | 'VENDOR_CREDIT' } --- title: Archive a vendor bank account path: /developer/v1/vendors/{vendor_id}/accounts/{bank_account_id}/archive description: If the bank account has associated bills, drafts, or recurring templates, a replacement_bank_account_id must be provided in the request body. request: { replacement_bank_account_id?: string } response: none --- title: List vendor contacts for vendor path: /developer/v1/vendors/{vendor_id}/contacts description: No description request: none response: { data: { email: string first_name: string id: string is_default: boolean last_name: string phone: string }[] page: { next: string } } --- title: Fetch a vendor contact path: /developer/v1/vendors/{vendor_id}/contacts/{vendor_contact_id} description: No description request: none response: { email: string first_name: string id: string is_default: boolean last_name: string phone: string } --- title: List vendor credits by vendor path: /developer/v1/vendors/{vendor_id}/credits description: No description request: none response: { data: { accounting_date: string /* date */ accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] applied_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] applied_draft_bills: { amount: { amount: number currency_code: string minor_unit_conversion_rate: number } bill_id: string }[] created_at: string /* date */ expense_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string }[] id: string inventory_line_items: { accounting_field_selections: { category_info: { external_id: string id: string name: string type: 'AMORTIZATION_TEMPLATE' | 'BILLABLE' | 'COST_CENTER' | 'CUSTOMERS_JOBS' | 'DEFERRAL_CODE' | 'EXPENSE_ENTITY' | 'GL_ACCOUNT' | 'INVENTORY_ITEM' | 'JOURNAL' | 'MERCHANT' | 'NON_ERP' | 'OTHER' | 'PROJECT' | 'REPORTING_TAG' | 'SUBSIDIARY' | 'TAX_CODE' } external_code?: string external_id: string id: string name: string provider_name: string }[] amount: { amount: number currency_code: string minor_unit_conversion_rate: number } memo?: string unit_price: { amount: number currency_code: string minor_unit_conversion_rate: number } unit_quantity: number }[] reference_bill_id: string reference_number: string remaining_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } total_applied_amount: { amount: number currency_code: string minor_unit_conversion_rate: number } vendor_id: string }[][] page: { next: string } } --- title: Add to a vendor's bank account details path: /developer/v1/vendors/{vendor_id}/update-bank-accounts description: Adds payment details for the vendor through the approval workflow. The proposal may require approval depending on the business's approval policies. Supported payment methods: - ACH: US bank account with routing and account numbers - Wire: US wire transfer with routing and account numbers request: { account_nickname?: string ach_details?: { account_name?: string account_number: string account_owner_type?: 'BUSINESS' | 'INDIVIDUAL' account_type?: 'Checking' | 'Savings' routing_number: string } is_default?: boolean wire_details?: { account_name?: string account_number: string routing_number: string } } response: none --- title: Get all webhook subscriptions path: /developer/v1/webhooks description: No description request: none response: { business_id?: string created_at: string /* date */ endpoint_url: string event_types: 'applications.status_updated' | 'bills.approved' | 'bills.archived' | 'bills.created' | 'bills.paid' | 'bills.rejected' | 'item_receipts.created' | 'purchase_orders.archived' | 'purchase_orders.created' | 'purchase_orders.updated' | 'reimbursements.batch_payment_reimbursed' | 'reimbursements.ready_for_review' | 'reimbursements.ready_to_sync' | 'reimbursements.sync_requested' | 'spend_requests.comment_created' | 'tests.test_event' | 'transactions.authorized' | 'transactions.cleared' | 'transactions.ready_for_review' | 'transactions.ready_to_sync' | 'transactions.sync_requested' | 'unified_requests.created' | 'unified_requests.external_approval_request' | 'unified_requests.external_approval_request_reset' | 'unified_requests.modified' | 'unified_requests.node_advanced' | 'unified_requests.override_approved' | 'unified_requests.updated' | 'vendors.activated' | 'webhooks.verification'[] id: string status: 'active' | 'inactive' | 'pending_verification' updated_at: string /* date */ }[] --- title: Creates a new webhook subscription path: /developer/v1/webhooks description: The newly registered subscription will be in the pending verficiation state. You will need to verify your endpoint with the provided challenge. request: { additional_headers?: Record endpoint_url: string event_types: 'applications.status_updated' | 'bills.approved' | 'bills.archived' | 'bills.created' | 'bills.paid' | 'bills.rejected' | 'item_receipts.created' | 'purchase_orders.archived' | 'purchase_orders.created' | 'purchase_orders.updated' | 'reimbursements.batch_payment_reimbursed' | 'reimbursements.ready_for_review' | 'reimbursements.ready_to_sync' | 'reimbursements.sync_requested' | 'spend_requests.comment_created' | 'tests.test_event' | 'transactions.authorized' | 'transactions.cleared' | 'transactions.ready_for_review' | 'transactions.ready_to_sync' | 'transactions.sync_requested' | 'unified_requests.created' | 'unified_requests.external_approval_request' | 'unified_requests.external_approval_request_reset' | 'unified_requests.modified' | 'unified_requests.node_advanced' | 'unified_requests.override_approved' | 'unified_requests.updated' | 'vendors.activated' | 'webhooks.verification'[] } response: none --- title: Delete a webhook subscription by id path: /developer/v1/webhooks/{webhook_id} description: No description request: none response: none --- title: Get a webhook subscription by id path: /developer/v1/webhooks/{webhook_id} description: No description request: none response: { business_id?: string created_at: string /* date */ endpoint_url: string event_types: 'applications.status_updated' | 'bills.approved' | 'bills.archived' | 'bills.created' | 'bills.paid' | 'bills.rejected' | 'item_receipts.created' | 'purchase_orders.archived' | 'purchase_orders.created' | 'purchase_orders.updated' | 'reimbursements.batch_payment_reimbursed' | 'reimbursements.ready_for_review' | 'reimbursements.ready_to_sync' | 'reimbursements.sync_requested' | 'spend_requests.comment_created' | 'tests.test_event' | 'transactions.authorized' | 'transactions.cleared' | 'transactions.ready_for_review' | 'transactions.ready_to_sync' | 'transactions.sync_requested' | 'unified_requests.created' | 'unified_requests.external_approval_request' | 'unified_requests.external_approval_request_reset' | 'unified_requests.modified' | 'unified_requests.node_advanced' | 'unified_requests.override_approved' | 'unified_requests.updated' | 'vendors.activated' | 'webhooks.verification'[] id: string status: 'active' | 'inactive' | 'pending_verification' updated_at: string /* date */ } --- title: Verify a webhook subscription path: /developer/v1/webhooks/{webhook_id}/verify description: No description request: { challenge: string } response: { success: boolean } ---