Bill

Learn how to use Bill with Composio

Overview

SLUG

BILL

Description

Integration with Bill.com API

Authentication Details

environment
stringDefaults to api-sandboxRequired

Tools

SLUG: BILL_GET_CURRENT_USER_DETAILS

Get details about the current user.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

SLUG: BILL_GET_LIST_OF_TRANSACTIONS

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

SLUG: BILL_GET_LIST_OF_USER_ROLES

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

SLUG: BILL_ACCEPT_NETWORK_INVITATION

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

SLUG: BILL_ADD_PHONE_FOR_MFA_SETUP

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

SLUG: BILL_ADD_PHONE_FOR_RISK_VERIFICATION

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

SLUG: BILL_API_LOGIN

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

SLUG: BILL_API_LOGIN_AS_USER

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

SLUG: BILL_API_LOGOUT

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

SLUG: BILL_API_PARTNER_LOGIN

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

SLUG: BILL_APPROVE_OR_DENY_A_REIMBURSEMENT

Approve or deny a reimbursement.

Action Parameters

note
string
reimbursementId
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

SLUG: BILL_ARCHIVE_AN_ACCOUNTING_CLASS

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

SLUG: BILL_ARCHIVE_AN_EMPLOYEE

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

SLUG: BILL_ARCHIVE_AN_INVOICE

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

SLUG: BILL_ARCHIVE_AN_ITEM

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

SLUG: BILL_ARCHIVE_A_BANK_ACCOUNT

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

SLUG: BILL_ARCHIVE_A_BANK_ACCOUNT_USER

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

SLUG: BILL_ARCHIVE_A_BILL

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

SLUG: BILL_ARCHIVE_A_CHART_OF_ACCOUNTS

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

SLUG: BILL_ARCHIVE_A_CUSTOMER

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