Get Started
- Introduction
- Quickstart
Documentation
- Data Sources
- Business Objects
- Business Graph™
- Knowledge
- Query Agent
- Reports
- Subscriptions
- Destinations
- Tools
- Introduction
- Ably
- Acculynx
- Active campaign
- Affinity
- Agencyzoom
- Ahrefs
- Airtable
- Alchemy
- Amplitude
- Apaleo
- Apollo
- Asana
- Attio
- Bamboohr
- Bannerbear
- Baserow
- Bill
- Bitbucket
- Blackboard
- Bolna
- Borneo
- Box
- Brevo
- Browseai
- Browserbase tool
- Bugbug
- Cal
- Calendly
- Canva
- Canvas
- Chatwork
- Clickup
- Coda
- Codeinterpreter
- Coinbase
- Composio
- Composio search
- Confluence
- Contentful
- Crustdata
- D2lbrightspace
- Dialpad
- Discord
- Discordbot
- Docusign
- Dropbox
- Dynamics365
- Echtpost
- Elevenlabs
- Entelligence
- Exa
- Excel
- Figma
- Firecrawl
- Fireflies
- Flutterwave
- Formsite
- Foursquare
- Freshdesk
- Github
- Gmail
- Gong
- Google maps
- Googleads
- Googlebigquery
- Googlecalendar
- Googledocs
- Googledrive
- Googlemeet
- Googlephotos
- Googlesheets
- Googlesuper
- Googletasks
- Gorgias
- Hackernews
- Heygen
- Hubspot
- Humanloop
- Intercom
- Jira
- Junglescout
- Klaviyo
- Kommo
- Linear
- Linkedin
- Linkhut
- Linkup
- Listennotes
- Lmnt
- Mailchimp
- Mem0
- Metaads
- Microsoft clarity
- Microsoft teams
- Mixpanel
- Monday
- More trees
- Neon
- Ngrok
- Notion
- One drive
- Onepage
- Open sea
- Outlook
- Pagerduty
- Pandadoc
- Peopledatalabs
- Perplexityai
- Pipedrive
- Placekey
- Posthog
- Quickbooks
- Ramp
- Recallai
- Reddit
- Resend
- Retellai
- Rocketlane
- Rootly
- Salesforce
- Semanticscholar
- Semrush
- Sendgrid
- Sentry
- Serpapi
- Servicenow
- Share point
- Shopify
- Shortcut
- Simplesat
- Slack
- Slack user
- Slackbot
- Snowflake
- Stripe
- Supabase
- Tavily
- Text to pdf
- Textrazor
- Tinyurl
- Todoist
- Trello
- Twitter
- Twitter media
- Typefully
- Weathermap
- Webflow
- Whatsapp
- Workiom
- Wrike
- Yousearch
- Youtube
- Zendesk
- Zenrows
- Zoho
- Zoom
- Zoominfo
- Admin
Changelog
Bill
Integration with Bill.com API
Create a new employee.
Archive an existing vendor. in the response, the archived
field is set as true
. you can restore an archived vendor with post /v3/vendors/\{vendorid\}/restore
. there is no change when you archive an archived vendor.
The loginasuser endpoint allows partners to authenticate and log in as a specific user within a designated organization in the bill system. this powerful feature enables partners to access and interact with an organization’s account on behalf of a particular user, facilitating seamless integration and support. it should be used when a partner needs to perform actions or access information as if they were the specified user within the organization. this endpoint requires careful use and proper authorization, as it effectively allows impersonation of a user. while it supports mfa for enhanced security, partners should ensure they have explicit permission from the organization and user before utilizing this functionality.
Retrieve app details, such as version and deployment location.
Create a new accounting class.
Archive an existing user. in the response, the archived
field is set as true
.” you can restore an archived user with post /v3/users/\{userid\}/restore
. there is no change when you archive an archived user.
Archive an existing item. in the response, the archived
field is set as true
.
Create a new chart of accounts.
This endpoint allows you to create and process multiple bill payments in a single api call. it streamlines the payment process for businesses by enabling batch processing of payments to one or multiple vendors. the endpoint supports various funding sources, including bank accounts, credit/debit cards, bill balance (wallet), and ap cards. it offers flexibility in payment scheduling, delivery methods, and transaction tracking. use this endpoint when you need to efficiently manage and execute multiple payments simultaneously, reducing the number of individual api calls and simplifying your payment workflows. note that certain parameters may be required based on the chosen funding source, and there are specific rules for vendor and bill identification that must be followed.
Create a new customer. see customers in the guides section for more information, sample requests, and responses.
Delete an existing budget.
Create new custom field values.
Create an image upload url that can be used to upload receipts for reimbursements.
Create a new user. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. see organizations and users in the guides section for more information, sample requests, and responses.
Delete an existing card.
Create a reimbursement
Delete a custom field.
Delete custom fields. values cannot be assigned to current or future transactions. the values will remain assigned to past transactions.
Delete a member from a budget
Delete an existing network connection with a customer. in addition, use this endpoint to cancel a pending customer connection invite. you can send a new connection invitation after an existing connection or invitation is canceled. note: if the invited customer does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Delete the existing vendor bank account for a vendor. to update vendor bank account information, you must first delete the existing vendor bank account (with delete /v3/vendors/\{vendorid\}/bank-account
), and then create a new vendor bank account (with post /v3/vendors/\{vendorid\}/bank-account
) with the updated information.
Delete a specified reimbursement.
Create a recurring bill. see recurring bills in the guides section for more information, sample requests, and responses.
Delete an existing network connection with a vendor. in addition, use this endpoint to cancel a pending vendor connection invite. you can send a new connection invitation after an existing connection or invitation is canceled. note: if the invited vendor does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Delete an existing user.
Get a single member for a budget
Get details about an existing accounting class.
Get details about your current api session. this includes information about the current organization id, user id, and mfa status of the organization.
Get details about an attachment. from the response, use downloadlink
in a get request to download the attachment. curl '{downloadlink}&sessionid={session id}' --output {attachment name}
Generates a multi-factor authentication (mfa) challenge for enhanced security in the bill api. this endpoint initiates the mfa process by creating a challenge that the user must respond to with their authentication token. it provides the option to use either the primary or a backup mfa device for generating the challenge. this tool should be used when implementing mfa flows in your application, particularly before sensitive operations like accessing billing information or making payments. the generated challenge is typically time-sensitive and should be responded to promptly for successful authentication.
Get audit trail details about changes made to a vendor object. the audit trail lists records for each create and edit operation. see getting audit trail details in the guides section for more information, sample requests, and responses.
Creates a new vendor in the bill.com system with comprehensive details for invoicing and payment processing. this endpoint allows you to set up a vendor’s basic information, address, payment preferences, tax details, and auto-pay settings. it’s particularly useful when onboarding new suppliers or updating existing vendor information en masse. the endpoint requires at minimum the vendor’s name and address, but allows for extensive customization of payment terms, currencies, and automated payment rules. note that enabling auto-pay features requires additional authentication through mfa. use this endpoint when you need to add new vendors to your bill.com account or update existing vendors with new information.
Accept a network invitation that was sent to the organization by a vendor or customer. when the invitation is accepted, the organization is connected with the vendor or customer in the bill network. see bill network in the guides section for more information, sample requests, and responses.
Get details about an existing bank account.
Authenticates a partner user and initiates a session with the bill api. this endpoint should be used at the beginning of any integration session to obtain necessary authentication tokens or session identifiers. it verifies the partner’s credentials and grants access to other api endpoints. the login process is a prerequisite for accessing any protected resources or performing operations within the bill system. note that this endpoint does not provide any financial or account information directly; it only establishes an authenticated session.
Get details about an existing chart of accounts.
Get a list of card funding purpose values based on the vendor and card brand. when you create a payment (post /v3/payments
or post /v3/payments/bulk
) with a card account
funding account type
, bill requires a vendor industry value for compliance. when bill cannot identify the vendor industry, the cardfundingpurpose
field must be set in your payment request. use this endpoint to get the list of card funding purpose values you can set. if you get an empty 200 response, bill has information about the vendor industry and setting the cardfundingpurpose
field is not required in your payment request.
Sign out of your bill developer account. in response, the current sessionid
expires and your api session is terminated. you will be required to sign in again with /v3/login
before you can make another api call.
Sets up multi-factor authentication (mfa) for a user account in the bill api. this endpoint allows users to configure their preferred method of receiving authentication tokens, enhancing account security. it should be used when a user wants to enable mfa or update their existing mfa settings. the setup process requires providing a phone number, selecting between voice calls or text messages for token delivery, and specifying if it’s a primary or backup device. this endpoint is crucial for implementing a robust security layer but does not handle the actual authentication process or token validation.
Get images of an existing check sent to a vendor. from the response, use downloadlink
in a get request to download the front and back images of the check. curl '{downloadlink}&sessionid={session id}' --output {check name}
Get details about an existing card account.
Add a phone number for the currently signed-in user. bill requires the signed-in user to have a linked phone number for initiating risk verification for the organization. you can check whether a phone number has been added for the user with get /v3/risk-verifications/phone
. after you add a phone number with this endpoint, you can initiate risk verification for the organization with post /v3/risk-verifications
.
Get details about an existing card.
Get the status of an existing invitation sent with post /v3/network/invitation/customer/\{customerid\}
. when the customer accepts the invitation, your organization is connected with the customer. note: if the invited customer does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Get details about an existing customer.
Get details about an existing bill.
Sign in to your bill developer account. in the response, your api session is created and a bill-generated sessionid
is available. use the sessionid
in all subsequent api calls to confirm that you are in a signed-in session. to create an mfa-trusted api session, set remembermeid
and device
in addition to the required fields. see mfa setup for information about the bill mfa process. you can sign out with post /v3/logout
. if your api session is inactive for 35 minutes, the session expires and you are automatically signed out. see api partner login for information about the additional permissions you get with the api partner login. note: this section is about authentication for working with the bill v3 api. see authentication with spend & expense api token for information about authentication for the spend & expense api endpoints.
Create a vendor bank account for an existing vendor. to update vendor bank account information, you must first delete the existing vendor bank account (with delete /v3/vendors/\{vendorid\}/bank-account
), and then create a new vendor bank account (with post /v3/vendors/\{vendorid\}/bank-account
) with the updated information. note: when you add vendor bank account information, bill requires 2 business days to complete a one-time verification of the bank account. payments sent to the vendor are processed after the one-time verification is complete. see get list of vendor payment options to get details about vendor payment options and payment process dates.
Get details about a custom field.
Get details about an existing department.
Get details about an existing budget.
Get details about an existing employee.
Create a new vendor card.
Get status of a document upload. use this endpoint to identify when a document upload is complete. * at the start of the document upload process (in progress
), bill generates an uploadid
for the document. the value begins with 0du
. * when the document upload is complete (uploaded
), bill generates a documentid
for the document. the value begins with 00h
.
Archive an existing customer. in the response, the archived
field is set as true
. you can restore an archived customer with post /v3/customers/\{customerid\}/restore
. there is no change when you archive an archived customer.
Get details about a custom fields values.
Get details about a document associated with a bill. from the response, use downloadlink
in a get request to download the document. curl '{downloadlink}&sessionid={session id}' --output {document name}
Approve or deny a reimbursement.
Archive an existing bank account user. in the response, the archived
field is set as true
and the bank account user verificationstatus
is set as unverified
.
Archive an existing accounting class. in the response, the archived
field is set as true
.
Archive an existing department. in the response, the archived
field is set as true
.
Create a new item.
Create a new custom field.
Archive an existing bank account. in the response, the archived
field is set as true
. archiving a bank account at bill has a set of requirements. * bank account status: the bank account status
must be set as verified
. you can verify the bank account with post /v3/funding-accounts/banks/\{bankaccountid\}/verify
. * bank account user status: the bank account user verificationstatus
must be set as verified
. to begin the verification process, nominate a bank account user with post /v3/funding-accounts/banks/users
.
Archive multiple departments with one api request. in the response, the archived
field is set as true
.
Archive multiple employees with one api request. in the response, the archived
field for each object is set as true
.
Archive an existing bill. in the response, the archived
field is set as true
. you can restore an archived bill with post /v3/bills/\{billid\}/restore
. there is no change when you archive an archived bill.
Archive an existing job. in the response, the archived
field is set as true
.
Create a new bank account. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. bill sends an email notification for informing you about changes to your funding accounts. note: when you create a bank account, bill sends a test ach payment to the bank account to confirm whether the account details are accurate. in the response, three fields are set to their default values. * the bank account status
is set as pending
. you can verify the bank account with post /v3/funding-accounts/banks/\{bankaccountid\}/verify
. * the payables
and receivables
values are set as false
. to update these values, update the bank account with patch /v3/funding-accounts/banks/\{bankaccountid\}
. see bank account setup (v3 api) in the guides section for more information, sample requests, and responses.
Archive a recurring bill. in the response, the archived
field is set as true
. you can restore an archived recurring bill with post /v3/recurringbills/\{recurringbillid\}/restore
. there is no change when you archive an archived recurring bill. when a recurring bill is modified, all future bills are automatically changed.
Create a new department.
Create a new job.
Archive an existing location. in the response, the archived
field is set as true
.
Create a new invoice. see invoices in the guides section for more information, sample requests, and responses.
Create a new location.
Create a new bill. see bills in the guides section for more information, sample requests, and responses.
Archive multiple chart of accounts with one api request. in the response, the archived
field for each object is set as true
.
Archive an existing invoice. in the response, the archived
field is set as true
. you can restore an archived invoice with post /v3/invoices/\{invoiceid\}/restore
. there is no change when you archive an archived invoice.
Archive an existing employee. in the response, the archived
field is set as true
.
Archive multiple locations with one api request. in the response, the archived
field for each object is set as true
.
Archive multiple jobs with one api request. in the response, the archived
field for each object is set as true
.
Create a new organization. this operation requires partner-level permissions. * a sessionid
header value generated with api partner login * an appkey
header value see organizations for bill partners in the guides section for more information, sample requests, and responses.
Archive an existing chart of accounts. in the response, the archived
field is set as true
.
Archive multiple items with one api request. in the response, the archived
field for each object is set as true
.
Create a new budget for a company.
Cancel an existing payment. you can attempt to cancel a payment with post /v3/payments/\{paymentid\}/cancel
based on a set of conditions. see <a href=“https://help.bill.com/hc/en-us/articles/115005898063”>payment cancelation and void cut-off timing</a> in the bill help center to learn about the bill cancel payment process and timing. if the conditions are not met, you cannot cancel the payment. at that point, you can attempt to void the payment with post /v3/payments/\{paymentid\}/void
.
Create a payment. see get list of vendor payment options to get details about vendor payment options and payment process dates. note: creating a payment requires an mfa-trusted api session. see mfa setup for information about the bill mfa process. see payments in the guides section for more information, sample requests, and responses.
Archive multiple accounting classes with one api request. in the response, the archived
field for each object is set as true
.
Get details about the current user.
Get the funding account permissions available for the current organization and current organization user.
Get a list of bank account user objects. in the response, if the bank account user verificationstatus
is set as nominated
, user verification must be completed before the user can pay with the specified bank account. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page.
Get a list of vendor payment options available based on the funding account options available in the signed-in user’s bill organization and on the payment methods accepted by a vendor. see vendor payment options in the guides section for more information, sample requests, and responses.
Get details about an existing invoice.
Get details about an existing item.
Get details about an existing location.
Get details about existing transaction custom fields
Get a list of available values for the industry
field for an organization. use this information to set the industry
field in your post /v3/partner/organizations
or patch /v3/organizations/\{organizationid\}
request.
Get risk verification details for an existing organization.
Get a list of employee objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of organization objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples. this operation requires partner-level permissions. * a sessionid
header value generated with api partner login * an appkey
header value
Get international payments (not usd) configuration that is required for compliance with international payment rules of a vendor country and vendor bank account. this information is based on vendor country, bill currency, and vendor account type. use this endpoint for getting information before creating an international vendor. in the response, the required paymentpurpose
and regulatoryfields
information is retrieved for the vendor. note: if you are adding paymentpurpose
and regulatoryfields
information after creating an international vendor, use get /v3/vendors/\{vendorid\}/configuration
to get the required configuration for your created vendor. see creating an international vendor for more information on how to set paymentpurpose
and regulatoryfields
.
Get a list of bill objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of documents associated with a bill. from the response, use downloadlink
in a get request to download the document. curl '{downloadlink}&sessionid={session id}' --output {document name}
Get a list of attachments associated with a vendor. from the response, use downloadlink
in a get request to download the attachment. curl '{downloadlink}&sessionid={session id}' --output {attachment name}
Get details about an existing job.
Get details about an existing vendor.
Get the status of an existing invitation sent with post /v3/network/invitation/vendor/\{vendorid\}
. when the vendor accepts the invitation, your organization is connected with the vendor. note: if the invited vendor does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Get a list of recurring bill objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of payment objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Initiate risk verification for an organization. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. note: you must add a phone number for the signed-in user (with post /v3/risk-verifications/phone
) before you can initiate risk verification. bill partners must add a phone number for a created user with post /v3/partner/risk-verifications/\{userid\}/phone
. as a bill partner, when you create an organization and then create a user for that organization, it is important that you initiate risk verification with post /v3/risk-verifications
. bill performs a kyc/kyb (know you customer/know your business) check based on the provided organization information. bill sends an email notification for risk verficiation. when the check is complete, bill approves the organization for bill ap and ar operations.
Get details about an existing transaction custom field and values
Get a list of invoice objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get details about an existing organization. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. see organizations and users in the guides section for more information, sample requests, and responses.
Send an invitation to connect a customer created in your organization with a customer in the network. bill sends an invitation email to the customer email address. when the customer accepts the invitation, the customer in your organization is connected with the invited customer. if the invited customer does not respond, delete the invitation (with delete /v3/network/invitation/customer/\{customerid\}
) before sending a new invitation. note: if the invited customer does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Restore an archived customer. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored customers. there is no change when you restore a restored customer.
Get details about an existing transaction.
Send an invitation to connect a vendor created in your organization with a vendor in the network. bill sends an invitation email to the vendor email address. when the vendor accepts the invitation, the vendor in your organization is connected with the invited vendor. if the invited vendor does not respond, delete the invitation (with delete /v3/network/invitation/vendor/\{vendorid\}
) before sending a new invitation. note: if the invited vendor does not respond to an invitation for 60 days, the invitation expires. see bill network in the guides section for more information, sample requests, and responses.
Restore an archived bill. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored bills. there is no change when you restore a restored bill.
Restore an archived chart of accounts. in the response, the archived
field is set as false
.
Get a list of attachments associated with an invoice. from the response, use downloadlink
in a get request to download the attachment. curl '{downloadlink}&sessionid={session id}' --output {attachment name}
Restore an archived accounting class. in the response, the archived
field is set as false
.
Update the number of line items in a recurring bill. you can also update other recurring bill details. you can use the put operation to add, remove, or replace the number of line items in a recurring bill. a set of rules apply with the put operation. * when you add a new line item, a new line item id
is generated in the bill. * when you omit an existing line item id
, the line item is removed from the bill. when a recurring bill is modified, all future bills are automatically changed.
Set your current api session as mfa trusted. ideally, when you sign in with post /v3/login
, set remembermeid
and device
in your request to generate an mfa-trusted api session. in case you sign in without remembermeid
and device
in your request, you can use this post /v3/mfa/step-up
endpoint to mark the current api session as mfa trusted.
Get the bill price plan details for an existing organization. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. a bill price plan for an organization provides a range of information, including monthly subscription fees and the terms and conditions for additional charges in the price plan.
Restore an archived employee. in the response, the archived
field is set as false
.
Restore an archived item. in the response, the archived
field is set as false
.
Restore an archived invoice. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored invoices. there is no change when you restore a restored invoice.
Restore an archived department. in the response, the archived
field is set as false
.
Restore an archived job. in the response, the archived
field is set as false
.
Nominate a bank account user. when you nominate a user, bill performs a set of operations. * the bank account user verificationstatus
is set as nominated
. * bill sends the user an email asking them to sign in to the bill web app and complete identity verification. after user identity verification is successful, the bank account user verificationstatus
is set as verified
and the user can pay with the specified bank account. note: the bank account status
must be set as verified
before you can nominate bank account users.
Get details about a existing user.
Restore an archived recurring bill. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored recurring bills. there is no change when you restore a restored recurring bill. when a recurring bill is modified, all future bills are automatically changed.
Get a list of budget objects for the current user’s company.
Restore an archived location. in the response, the archived
field is set as false
.
Get a jwt token for retrieving a card’s pan (full account number). the jwt token contains all the information required for retrieving details about a virtual card (16-digit pan, cvv, and expiration date). the jwt token lifespan is 5 minutes. you can convert the retrieved jwt token to get the related virtual card details with post https://app-dev-sandbox.divvy.co/de/rest/pan
. curl --location --request post 'https://app-dev-sandbox.divvy.co/de/rest/pan' --header 'content-type: application/json' --data-raw '{"token":"{jwt token}"}'
note: use post https://api.divvy.co/de/rest/pan
in the production environment.
Get a list of item objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of card objects.
Get details about an existing payment.
Get details about an existing user role.
Restore an archived user. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored users. there is no change when you restore a restored user.
Restore multiple accounting classes with one api request. in the response, the archived
field for each object is set as false
.
Restore multiple chart of accounts with one api request. in the response, the archived
field for each object is set as false
.
Record an invoice payment received outside your bill system. apply the recorded payment amount to one or more invoices for a customer. any recorded unapplied amount is an overpayment and is available as a customer balance in your bill system. see recording an ar payment in the guides section for more information, sample requests, and responses.
Get details about an existing vendor bank account.
Check whether a phone number has been added for the currently signed-in user. bill requires the signed-in user to have a linked phone number for initiating risk verification for the organization. in the response, if hasphone
is false
, you can add a phone number for the user with post /v3/risk-verifications/phone
. after you add a phone number, you can initiate risk verification for the organization with post /v3/risk-verifications
.
Search for a customer, vendor, or verified national vendor. you can search in the bill network and verified national vendor network. when you search in the bill network, there are two name
requirements for getting search results. * your search term must have a minimum of three characters. * your search term must be a complete word. you will not get search results when your search term is a partial word. when you search in the verified national vendor network, search results are based on both a complete and partial match on name
and ziporpostalcode
. you can further filter your search by the billing statement accountnumber
with the vendor. for example, your verizon internet bill account number. see bill network in the guides section for more information, sample requests, and responses.
Retrieves all attachments associated with a specific customer in the bill api. this endpoint allows businesses to fetch documents, invoices, or any other files that have been uploaded and linked to a particular customer account. it should be used when there’s a need to access or review all attachment files for a given customer, such as during auditing, customer service inquiries, or account management tasks. the endpoint returns a collection of attachment metadata and potentially the attachment contents, depending on the api’s implementation. it does not modify any data and is typically used for read-only operations. note that this endpoint focuses on customer-specific attachments and may not include system-wide or non-customer-related files.
Send an invoice to a customer email address. you can send the invoice to multiple email addresses. see invoices in the guides section for more information, sample requests, and responses.
Restore multiple employees with one api request. in the response, the archived
field for each object is set as false
.
Restore multiple departments with one api request. in the response, the archived
field is set as false
.
Get a list of card account objects.
Get details about an existing recurring bill.
Restore multiple locations with one api request. in the response, the archived
field for each object is set as false
.
Get international payments (not usd) configuration after vendor creation. this configuration is required for compliance with international payment rules of a vendor country and vendor bank account. in the response, the required paymentpurpose
and regulatoryfields
information is retrieved for the vendor. note: if you are adding paymentpurpose
and regulatoryfields
information during international vendor creation, use get /v3/vendors/configuration/international-payments
to get the required configuration before vendor creation. see creating an international vendor for more information on how to set paymentpurpose
and regulatoryfields
.
Restore multiple items with one api request. in the response, the archived
field for each object is set as false
.
Update details about an existing employee.
Update details about an existing accounting class.
Get details about a specified reimbursement.
Update details about an invoice line item. you can also update other invoice details. you can use the patch operation to modify line item details, such as amount
, quantity
, and description
. the invoice line item id
does not change with a patch operation.
Get a list of card account user objects. in the response, if the card account user verificationstatus
is set as nominated
, user verification must be completed before the user can pay with the specified card account. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page.
Update details about an existing item.
Update details about an existing organization. the currently signed-in user must have the administrator
user role in the bill organization to perform this operation. see organizations and users in the guides section for more information, sample requests, and responses.
Get a list of ap card objects. with the ap card, you can earn rewards simply by paying your bills. the ap card is a payment method that enables you to send fast payments with no transaction fees or annual fees. you can use the ap card with any vendor who accepts virtual card payments. see ap card frequently asked questions (faqs) in the bill help to learn more about ap card.
Update details about an existing bank account. this operation follows a set of rules. * bank account status
requirement: the bank account status
must be set as verified
before you can update any details about the bank account. you can verify the bank account with post /v3/funding-accounts/banks/\{bankaccountid\}/verify
. * update field restrictions: you cannot update the routingnumber
, accountnumber
, and account type
values for a bank account. if you want to update any of these values, create a new bank account with post /v3/funding-accounts/banks
.
Update details about an existing customer.
Update the number of line items in a bill. you can also update other bill details. you can use the put operation to add, remove, or replace the number of line items in a bill. a set of rules apply with the put operation. * when you add a new line item, a new line item id
is generated in the bill. * when you omit an existing line item id
, the line item is removed from the bill.
Update details about an existing chart of accounts.
Restore multiple jobs with one api request. in the response, the archived
field for each object is set as false
.
Update the number of line items in an invoice. you can also update other invoice details. you can use the put operation to add, remove, or replace the number of line items in an invoice. a set of rules apply with the put operation. * when you add a new line item, a new line item id
is generated in the invoice. * when you omit an existing line item id
, the line item is removed from the invoice.
Update details about a bill line item. you can also update other bill details. you can use the patch operation to modify line item details, such as amount
and description
. the bill line item id
does not change with a patch operation.
Get a list of bank account objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Update details about an existing budget.
Update a custom field and values on a transaction.
Get a list of job objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of members for a budget.
Get a list of accounting class objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of location objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of phone numbers that have been added for setting up mfa in the current organization.
Get a list of user role objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of transaction objects.
Get a list of user objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of department objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Restore an archived vendor. in the response, the archived
field is set as false
. you can perform any valid bill operation on restored vendors. there is no change when you restore a restored vendor.
Get a list of chart of accounts objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of customer objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get list of custom fields.
Get list of values for custom field.
Get a list of vendor objects. by default, you get 20 results on one page of results. set max
in your request to get up to 100 results on one page. see search operations with lists in the guides section for filtering, sorting, and pagination examples.
Get a list of reimbursement objects.
Validates the setup of multi-factor authentication (mfa) for a user’s account in the bill api. this endpoint is used as the final step in the mfa setup process, confirming that the user has successfully received and can provide the validation token sent to their registered phone number. it should be called immediately after the user receives the mfa setup token via the specified method (voice call or sms). the endpoint ensures that the mfa setup is correctly configured and functional, adding an extra layer of security to the user’s account. it’s important to note that this endpoint does not actually enable mfa; it only validates the setup process.
Add a member to a budget or update an existing member of the budget
Update details about an existing job.
Upload a document for an existing bill. note: when you upload a document, it takes a few minutes for bill to complete the upload process. you can get the document upload status with get /v3/documents/upload-status
. see documents and attachments in the guides section for more information, sample requests, and responses.
Update details about an existing department.
Update a transaction
Update a new vendor card.
Void an existing payment. void a bill payment that has started processing and cannot be canceled (with post /v3/payments/\{paymentid\}/cancel
). you can attempt to void payments made both with bill (online) and outside bill (offline). ### void a payment made with bill (online) in your /post /v3/payments/\{paymentid\}/void
request: * set paymentid
as the bill-generated id of the payment. the value begins with stp
. * set type
as the void payment request type * set reason
as the reason for voiding the payment see can i cancel or void a payables payment? in the bill help center to learn about the bill void payment process and timing in the production environment.
Update details about an existing location.
Verifies a bank account by initiating a small deposit transaction. this endpoint is used to confirm the validity and ownership of a bank account before it can be used for funding or receiving payments. it simulates a micro-deposit process commonly used in financial systems for account verification. the api requires specifying a deposit amount, which must be between 0.01and0.99. this verification step is crucial for ensuring the security and accuracy of financial transactions within the bill payment system. note that in the sandbox environment, using a deposit amount of $0.50 will always result in a successful verification, allowing for easy testing and integration.
Update details about an existing vendor. ### requirements for enabling vendor payments vendor address details are required for paying a vendor by check or for inviting the vendor to join the bill network. * line1
* city
* ziporpostalcode
* country
* payeename
note: you cannot add or update vendor bank account information with this endpoint. you can add and manage vendor bank account information with a dedicated set of endpoints. * create a vendor bank account: post /v3/vendors/\{vendorid\}/bank-account
* get vendor bank account details: get /v3/vendors/\{vendorid\}/bank-account
* delete a vendor bank account: delete /v3/vendors/\{vendorid\}/bank-account
Update a reimbursement
Update settings for a custom field.
Update a list of budget members in a budget.
Validates a multi-factor authentication (mfa) challenge in the bill api. this endpoint is used to complete the mfa process by verifying the token sent to the user’s registered phone number. it should be called after initiating an mfa challenge with the ‘post /v3/mfa/challenge’ endpoint. the function provides options for remembering the device or machine for an extended period, enhancing user convenience for trusted devices while maintaining security. it’s crucial for implementing secure, two-factor authentication flows in applications integrated with the bill api.
Update details about an existing user.
Upload an attachment for an invoice. note: when you upload an attachment, it takes a few minutes for bill to complete the upload process. see documents and attachments in the guides section for more information, sample requests, and responses.
Upload an attachment for an existing customer. note: when you upload an attachment, it takes a few minutes for bill to complete the upload process. see documents and attachments in the guides section for more information, sample requests, and responses.
Update details about a recurring bill line item. you can also update other recurring bill details. you can use the patch operation to modify line item details, such as amount and description. the recurring bill line item id
does not change with a patch operation. when a recurring bill is modified, all future bills are automatically changed.
Upload an attachment for an existing vendor. note: when you upload an attachment, it takes a few minutes for bill to complete the upload process. see documents and attachments in the guides section for more information, sample requests, and responses.