Bill

Learn how to use Bill with Composio

Overview

SLUG: BILL

Description

Integration with Bill.com API

Authentication Details

subdomain
stringDefaults to api-sandboxRequired

Connecting to Bill

Create an auth config

Use the dashboard to create an auth config for the Bill toolkit. This allows you to connect multiple Bill accounts to Composio for agents to use.

1

Select App

Navigate to Bill.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Bill Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using Billcom Auth

1# Template not found: templates/python/billcom_auth.py

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Bill toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BILL"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Get current user details

Description

Get details about the current user.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of transactions

Description

Get a list of transaction objects.

Action Parameters

filters
string
max
integer
nextPage
string
prevPage
string
showCustomFieldIds
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of user roles

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Accept network invitation

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

id
string
name
string
networkId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add phone for mfa setup

Description

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.

Action Parameters

phone
stringRequired
primary
booleanRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Add phone for risk verification

Description

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`.

Action Parameters

phoneNumber
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Api login

Description

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](ref: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](ref:partnerlogin) 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](doc:authentication-with-api-token) for information about authentication for the spend & expense api endpoints.

Action Parameters

devKey
stringRequired
device
string
organizationId
stringRequired
password
stringRequired
rememberMeId
string
username
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Api login as user

Description

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.

Action Parameters

device
string
organizationId
stringRequired
rememberMeId
string
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Api logout

Description

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.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Api partner login

Description

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.

Action Parameters

appKey
stringRequired
password
stringRequired
username
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Approve or deny a reimbursement

Description

Approve or deny a reimbursement.

Action Parameters

note
string
reimbursementId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive an accounting class

Description

Archive an existing accounting class. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive an employee

Description

Archive an existing employee. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive an invoice

Description

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.

Action Parameters

invoiceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive an item

Description

Archive an existing item. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a bank account

Description

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`.

Action Parameters

bankAccountId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a bank account user

Description

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`.

Action Parameters

bankAccountUserId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a bill

Description

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.

Action Parameters

billId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a chart of accounts

Description

Archive an existing chart of accounts. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a customer

Description

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.

Action Parameters

customerId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a department

Description

Archive an existing department. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a job

Description

Archive an existing job. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a location

Description

Archive an existing location. in the response, the `archived` field is set as `true`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a recurring bill

Description

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.

Action Parameters

recurringBillId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a user

Description

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.

Action Parameters

userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive a vendor

Description

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.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple accounting classes

Description

Archive multiple accounting classes with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple departments

Description

Archive multiple departments with one api request. in the response, the `archived` field is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple employees

Description

Archive multiple employees with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple items

Description

Archive multiple items with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple jobs

Description

Archive multiple jobs with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive multiple locations

Description

Archive multiple locations with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Archive mutliple chart of accounts

Description

Archive multiple chart of accounts with one api request. in the response, the `archived` field for each object is set as `true`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Cancel a payment

Description

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`.

Action Parameters

paymentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Check app health

Description

Retrieve app details, such as version and deployment location.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an accounting class

Description

Create a new accounting class.

Action Parameters

description
string
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an employee

Description

Create a new employee.

Action Parameters

firstName
string
lastName
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an image upload url for a reimbursement

Description

Create an image upload url that can be used to upload receipts for reimbursements.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an invoice

Description

Create a new invoice. see [invoices](doc:ar-invoices) in the guides section for more information, sample requests, and responses.

Action Parameters

dueDate
string
invoiceDate
string
invoiceLineItems
arrayRequired
invoiceNumber
string
payToChartOfAccountId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an item

Description

Create a new item.

Action Parameters

chartOfAccountId
string
description
string
expenseChartOfAccountId
string
name
stringRequired
parentId
string
price
integer
purchaseCost
integer
purchaseDescription
string
shortName
string
taxable
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create an organization

Description

Create a new organization. this operation requires partner-level permissions. * a `sessionid` header value generated with [api partner login](ref:partnerlogin) * an `appkey` header value see [organizations for bill partners](doc:partner-organizations) in the guides section for more information, sample requests, and responses.

Action Parameters

industry
string
name
stringRequired
phone
string
taxId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a bank account

Description

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)](doc:bank-account-setup-v3-api) in the guides section for more information, sample requests, and responses.

Action Parameters

accessToAdmins
boolean
accountNumber
string
bankName
stringRequired
chartOfAccountId
string
nameOnAccount
stringRequired
routingNumber
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a bill

Description

Create a new bill. see [bills](doc:ap-bills) in the guides section for more information, sample requests, and responses.

Action Parameters

billLineItems
arrayRequired
description
string
dueDate
stringRequired
payFromChartOfAccountId
string
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a budget

Description

Create a new budget for a company.

Action Parameters

autoAddUsers
boolean
budgetGroup
boolean
carryOver
boolean
description
string
expirationDate
string
limit
integer
limitlessGoal
integer
limitlessOverspend
boolean
maxTxSize
integer
members
array
name
stringRequired
observers
array
overspendBuffer
integer
owners
arrayRequired
parentBudgetId
string
receiptRequired
boolean
recurMonth
integer
recurringLimit
integer
timezone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a bulk payment

Description

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.

Action Parameters

cardFundingPurpose
string
description
string
payments
arrayRequired
processDate
string
transactionNumber
string
vendorId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a chart of accounts

Description

Create a new chart of accounts.

Action Parameters

description
string
name
stringRequired
parentId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a customer

Description

Create a new customer. see [customers](doc:ar-customers) in the guides section for more information, sample requests, and responses.

Action Parameters

accountNumber
string
companyName
string
description
string
email
stringRequired
fax
string
name
stringRequired
paymentTermId
string
phone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a department

Description

Create a new department.

Action Parameters

description
string
name
stringRequired
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a job

Description

Create a new job.

Action Parameters

description
string
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a location

Description

Create a new location.

Action Parameters

description
string
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a payment

Description

Create a payment. see [get list of vendor payment options](ref:listpaymentoptions) to get details about vendor payment options and payment process dates. **note**: creating a payment requires an mfa-trusted api session. see [mfa setup](ref:setup) for information about the bill mfa process. see [payments](doc:ap-payments) in the guides section for more information, sample requests, and responses.

Action Parameters

amount
integerRequired
billId
string
cardFundingPurpose
string
description
string
processDate
string
transactionNumber
string
vendorId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a recurring bill

Description

Create a recurring bill. see [recurring bills](doc:ap-recurring-bills) in the guides section for more information, sample requests, and responses.

Action Parameters

description
string
recurringBillLineItems
arrayRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a reimbursement

Description

Create a reimbursement

Action Parameters

amount
integerRequired
budgetId
stringRequired
customFields
array
merchantName
stringRequired
note
stringRequired
occurredDate
stringRequired
receipts
arrayRequired
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a user

Description

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](doc:organizations-users) in the guides section for more information, sample requests, and responses.

Action Parameters

acceptTermsOfService
booleanRequired
email
stringRequired
firstName
stringRequired
lastName
stringRequired
roleId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a vendor

Description

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.

Action Parameters

accountNumber
string
email
string
name
stringRequired
phone
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a vendor bank account

Description

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](ref:listpaymentoptions) to get details about vendor payment options and payment process dates.

Action Parameters

accountNumber
stringRequired
nameOnAccount
string
regulatoryFields
array
routingNumber
string
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create a vendor card

Description

Create a new vendor card.

Action Parameters

budgetId
stringRequired
expirationDate
string
limit
integer
name
stringRequired
recurringLimit
integer
shareBudgetFunds
boolean
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create custom field

Description

Create a new custom field.

Action Parameters

allowCustomValues
booleanRequired
description
string
minimumAmountForRequirement
integer
multiSelect
boolean
name
stringRequired
required
booleanRequired
requiredBudgetIds
array
selectedBudgetIds
array
values
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create custom field values

Description

Create new custom field values.

Action Parameters

customFieldId
stringRequired
values
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a budget

Description

Delete an existing budget.

Action Parameters

budgetId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a card

Description

Delete an existing card.

Action Parameters

cardId
stringRequired
reason

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a custom field

Description

Delete a custom field.

Action Parameters

customFieldId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a member from a budget

Description

Delete a member from a budget

Action Parameters

budgetId
stringRequired
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a reimbursement

Description

Delete a specified reimbursement.

Action Parameters

reimbursementId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a user

Description

Delete an existing user.

Action Parameters

userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete a vendor bank account

Description

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.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete customer connection

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

customerId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete custom field values

Description

Delete custom fields. values cannot be assigned to current or future transactions. the values will remain assigned to past transactions.

Action Parameters

customFieldId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete vendor connection

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate mfa challenge

Description

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.

Action Parameters

useBackup
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get accounting class details

Description

Get details about an existing accounting class.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get api session details

Description

Get details about your current api session. this includes information about the current organization id, user id, and mfa status of the organization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get attachment details

Description

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} ```

Action Parameters

attachmentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get audit trail details for a vendor

Description

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](doc:getting-audit-trail-details) in the guides section for more information, sample requests, and responses.

Action Parameters

includeArchived
boolean
max
integer
start
integer
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get a single member for a budget

Description

Get a single member for a budget

Action Parameters

budgetId
stringRequired
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get bank account details

Description

Get details about an existing bank account.

Action Parameters

bankAccountId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get bill details

Description

Get details about an existing bill.

Action Parameters

billId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get budget details

Description

Get details about an existing budget.

Action Parameters

budgetId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get card account details

Description

Get details about an existing card account.

Action Parameters

cardAccountId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get card details

Description

Get details about an existing card.

Action Parameters

cardId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get card funding purpose

Description

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.

Action Parameters

brand
stringRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get chart of accounts details

Description

Get details about an existing chart of accounts.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get check image data

Description

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} ```

Action Parameters

paymentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get customer details

Description

Get details about an existing customer.

Action Parameters

customerId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get customer invitation status

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

customerId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get custom field details

Description

Get details about a custom field.

Action Parameters

customFieldId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get custom field value

Description

Get details about a custom fields values.

Action Parameters

customFieldId
stringRequired
customFieldValueId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get department details

Description

Get details about an existing department.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get document details

Description

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} ```

Action Parameters

documentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get document upload status

Description

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`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get employee details

Description

Get details about an existing employee.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get funding account permissions

Description

Get the funding account permissions available for the current organization and current organization user.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get international payments configuration

Description

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](doc:creating-an-international-vendor) for more information on how to set `paymentpurpose` and `regulatoryfields`.

Action Parameters

accountType
Required
billCurrency
Required
country
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get invoice details

Description

Get details about an existing invoice.

Action Parameters

invoiceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get item details

Description

Get details about an existing item.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get job details

Description

Get details about an existing job.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of accounting classes

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of ap cards

Description

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)](https://help.bill.com/direct/s/article/000003348) in the bill help to learn more about ap card.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of bank accounts

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of bank account users

Description

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.

Action Parameters

currentUser
boolean
filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of bills

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of budgets

Description

Get a list of budget objects for the current user's company.

Action Parameters

filters
string
max
integer
nextPage
string
prevPage
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of cards

Description

Get a list of card objects.

Action Parameters

filters
string
max
integer
nextPage
string
prevPage
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of card accounts

Description

Get a list of card account objects.

Action Parameters

cardUserStatus
Required

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of card account users

Description

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.

Action Parameters

currentUser
boolean
filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of chart of accounts

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of customers

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of custom fields

Description

Get list of custom fields.

Action Parameters

filters
string
max
integer
nextPage
string
prevPage
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of departments

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of documents

Description

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} ```

Action Parameters

billId
stringRequired
max
integer
page
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of employees

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of invoices

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of invoice attachments

Description

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} ```

Action Parameters

invoiceId
stringRequired
max
integer
page
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of items

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of jobs

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of locations

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of members for a budget

Description

Get a list of members for a budget.

Action Parameters

budgetId
stringRequired
filters
string
max
integer
nextPage
string
prevPage
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of mfa phone numbers

Description

Get a list of phone numbers that have been added for setting up mfa in the current organization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of organizations

Description

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](doc:search-op-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](ref:partnerlogin) * an `appkey` header value

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of organization industries

Description

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.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of payments

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of recurring bills

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of reimbursements

Description

Get a list of reimbursement objects.

Action Parameters

filters
string
max
integer
nextPage
string
prevPage
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of users

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of values for custom field

Description

Get list of values for custom field.

Action Parameters

customFieldId
stringRequired
filters
string
max
integer
nextPage
string
prevPage
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of vendors

Description

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](doc:search-op-with-lists) in the guides section for filtering, sorting, and pagination examples.

Action Parameters

filters
string
max
integer
page
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of vendor attachments

Description

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} ```

Action Parameters

max
integer
page
string
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get list of vendor payment options

Description

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](doc:vendor-payment-options) in the guides section for more information, sample requests, and responses.

Action Parameters

amount
integerRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get location details

Description

Get details about an existing location.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get organization details

Description

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](doc:organizations-users) in the guides section for more information, sample requests, and responses.

Action Parameters

organizationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get organization price plan details

Description

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.

Action Parameters

organizationId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get pan jwt

Description

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.

Action Parameters

cardId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get payment details

Description

Get details about an existing payment.

Action Parameters

paymentId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get phone status for risk verification

Description

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`.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get recurring bill details

Description

Get details about an existing recurring bill.

Action Parameters

recurringBillId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get reimbursement details

Description

Get details about a specified reimbursement.

Action Parameters

reimbursementId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get risk verification details

Description

Get risk verification details for an existing organization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get transaction custom field details

Description

Get details about existing transaction custom fields

Action Parameters

filters
string
transactionId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get transaction custom field value details

Description

Get details about an existing transaction custom field and values

Action Parameters

customFieldId
stringRequired
max
integer
nextPage
string
prevPage
string
transactionId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get transaction details

Description

Get details about an existing transaction.

Action Parameters

showCustomFieldIds
string
transactionId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user details

Description

Get details about a existing user.

Action Parameters

userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get user role details

Description

Get details about an existing user role.

Action Parameters

roleId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get vendor bank account details

Description

Get details about an existing vendor bank account.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get vendor configuration

Description

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](doc:creating-an-international-vendor) for more information on how to set `paymentpurpose` and `regulatoryfields`.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get vendor details

Description

Get details about an existing vendor.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get vendor invitation status

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Initiate risk verification for an organization

Description

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.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Invite a customer in the bill network

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

customerId
stringRequired
networkId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Invite a vendor in the bill network

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

networkId
stringRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mfa step up for api session

Description

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.

Action Parameters

device
string
rememberMeId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Nominate a bank account user

Description

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.

Action Parameters

bankAccountId
stringRequired
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Record ar payment

Description

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](doc:recording-an-ar-payment) in the guides section for more information, sample requests, and responses.

Action Parameters

amount
integerRequired
customerId
string
description
string
invoices
arrayRequired
paymentDate
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Replace an invoice

Description

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.

Action Parameters

dueDate
string
invoiceDate
string
invoiceId
stringRequired
invoiceLineItems
arrayRequired
invoiceNumber
string
payToChartOfAccountId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Replace a bill

Description

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.

Action Parameters

billId
stringRequired
billLineItems
arrayRequired
description
string
dueDate
stringRequired
payFromChartOfAccountId
string
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Replace a recurring bill

Description

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.

Action Parameters

description
string
recurringBillId
stringRequired
recurringBillLineItems
arrayRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived accounting class

Description

Restore an archived accounting class. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived bill

Description

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.

Action Parameters

billId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived chart of accounts

Description

Restore an archived chart of accounts. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived customer

Description

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.

Action Parameters

customerId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived department

Description

Restore an archived department. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived employee

Description

Restore an archived employee. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived invoice

Description

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.

Action Parameters

invoiceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived item

Description

Restore an archived item. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived job

Description

Restore an archived job. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived location

Description

Restore an archived location. in the response, the `archived` field is set as `false`.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived recurring bill

Description

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.

Action Parameters

recurringBillId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived user

Description

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.

Action Parameters

userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore an archived vendor

Description

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.

Action Parameters

vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple accounting classes

Description

Restore multiple accounting classes with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple chart of accounts

Description

Restore multiple chart of accounts with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple departments

Description

Restore multiple departments with one api request. in the response, the `archived` field is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple employees

Description

Restore multiple employees with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple items

Description

Restore multiple items with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple jobs

Description

Restore multiple jobs with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Restore multiple locations

Description

Restore multiple locations with one api request. in the response, the `archived` field for each object is set as `false`.

Action Parameters

ids
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve customer attachments

Description

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.

Action Parameters

customerId
stringRequired
max
integer
page
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Search for an organization in the bill networks

Description

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](doc:bill-network) in the guides section for more information, sample requests, and responses.

Action Parameters

accountNumber
string
name
stringRequired
scope
zipOrPostalCode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send an invoice

Description

Send an invoice to a customer email address. you can send the invoice to multiple email addresses. see [invoices](doc:ar-invoices) in the guides section for more information, sample requests, and responses.

Action Parameters

invoiceId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an accounting class

Description

Update details about an existing accounting class.

Action Parameters

description
string
id
stringRequired
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an employee

Description

Update details about an existing employee.

Action Parameters

firstName
string
id
stringRequired
lastName
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an invoice

Description

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.

Action Parameters

dueDate
string
invoiceDate
string
invoiceId
stringRequired
invoiceLineItems
array
invoiceNumber
string
payToChartOfAccountId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an item

Description

Update details about an existing item.

Action Parameters

chartOfAccountId
string
description
string
expenseChartOfAccountId
string
id
stringRequired
name
string
parentId
string
price
integer
purchaseCost
integer
purchaseDescription
string
shortName
string
taxable
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update an organization

Description

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](doc:organizations-users) in the guides section for more information, sample requests, and responses.

Action Parameters

industry
string
name
string
organizationId
stringRequired
phone
string
taxId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a bank account

Description

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`.

Action Parameters

accessToAdmins
boolean
bankAccountId
stringRequired
bankName
string
chartOfAccountId
string
nameOnAccount
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a bill

Description

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.

Action Parameters

billId
stringRequired
billLineItems
array
description
string
dueDate
string
payFromChartOfAccountId
string
vendorId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a budget

Description

Update details about an existing budget.

Action Parameters

autoAddUsers
boolean
budgetId
stringRequired
carryOver
boolean
description
string
expirationDate
string
limit
integer
limitlessGoal
integer
limitlessOverspend
boolean
maxTxSize
integer
name
string
overspendBuffer
integer
receiptRequired
boolean
recurMonth
integer
recurringLimit
integer
timezone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a chart of accounts

Description

Update details about an existing chart of accounts.

Action Parameters

description
string
id
stringRequired
name
string
parentId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a customer

Description

Update details about an existing customer.

Action Parameters

accountNumber
string
companyName
string
customerId
stringRequired
description
string
email
string
fax
string
name
string
paymentTermId
string
phone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a custom field and values on a transaction

Description

Update a custom field and values on a transaction.

Action Parameters

customFields
arrayRequired
transactionId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a department

Description

Update details about an existing department.

Action Parameters

description
string
id
stringRequired
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a job

Description

Update details about an existing job.

Action Parameters

description
string
id
stringRequired
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a list of budget members in a budget

Description

Update a list of budget members in a budget.

Action Parameters

budgetId
stringRequired
members
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a location

Description

Update details about an existing location.

Action Parameters

description
string
id
stringRequired
name
string
parentId
string
shortName
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a recurring bill

Description

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.

Action Parameters

description
string
recurringBillId
stringRequired
recurringBillLineItems
array
vendorId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a reimbursement

Description

Update a reimbursement

Action Parameters

amount
integer
budgetId
string
customFields
array
merchantName
string
note
string
occurredDate
string
receipts
array
reimbursementId
stringRequired
userId
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a user

Description

Update details about an existing user.

Action Parameters

firstName
string
lastName
string
roleId
string
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a vendor

Description

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`

Action Parameters

accountNumber
string
email
string
name
string
phone
string
shortName
string
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update a vendor card

Description

Update a new vendor card.

Action Parameters

budgetId
string
cardId
stringRequired
expirationDate
string
limit
integer
name
string
recurring
boolean
recurringLimit
integer
shareBudgetFunds
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update budget member funds

Description

Add a member to a budget or update an existing member of the budget

Action Parameters

budgetId
stringRequired
limit
integer
recurringLimit
integer
shareBudgetFunds
boolean
userId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update custom field details

Description

Update settings for a custom field.

Action Parameters

allowCustomValues
boolean
customFieldId
stringRequired
description
string
minimumAmountForRequirement
integer
name
string
required
boolean
requiredBudgetIds
array
selectedBudgetIds
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update transaction

Description

Update a transaction

Action Parameters

budgetId
stringRequired
transactionId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload bill document

Description

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](doc:documents-attachments) in the guides section for more information, sample requests, and responses.

Action Parameters

billId
stringRequired
file
object
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload customer attachment

Description

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](doc:documents-attachments) in the guides section for more information, sample requests, and responses.

Action Parameters

customerId
stringRequired
file
object
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload invoice attachment

Description

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](doc:documents-attachments) in the guides section for more information, sample requests, and responses.

Action Parameters

file
object
invoiceId
stringRequired
name
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload vendor attachment

Description

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](doc:documents-attachments) in the guides section for more information, sample requests, and responses.

Action Parameters

file
object
name
stringRequired
vendorId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Validate mfa challenge

Description

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.

Action Parameters

challengeId
stringRequired
device
string
machineName
string
rememberMe
boolean
token
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Validate phone for mfa setup

Description

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.

Action Parameters

setupId
stringRequired
token
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Verify a bank account

Description

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.01 and $0.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.

Action Parameters

bankAccountId
stringRequired
depositAmount
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Void a payment

Description

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?](https://help.bill.com/direct/s/article/115005898063) in the bill help center to learn about the bill void payment process and timing in the production environment.

Action Parameters

paymentId
stringRequired
reason
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired