Organizations and Users
In this section, we walk through understanding organizations and users at BILL.
What is an organization?
A BILL organization represents a legal entity (individual or business). When you create a BILL account, you set up a BILL organization with related information, such as your physical address, tax ID, and business category. In addition, you set up a payments funding account, such as a bank account.
Who is a user?
When you sign in to your BILL developer account with /v3/login
, you sign in as a user of your BILL organization. In the API response, userId
is the BILL-generated ID of the signed-in user.
IMPORTANT
A BILL partner can perform partner-level operations, which includes creating an organization, and then creating and managing users for that organization. See BILL partner operations for more information.
If you are interested in becoming a BILL partner, please reach out to your account manager for more information.
As an organization-level user, you have permissions to perform a set of BILL API operations. By default, the user that creates a BILL account has the BILL ADMINISTRATOR
user role, and is able to perform all organization-level BILL API operations.
BILL provides a set of default user roles.
- Administrator
- Accountant
- Approver
- Payer
- Clerk
- Auditor
See User roles and permissions in the BILL Help Center to learn about BILL user roles.
Organization operations
BILL provides two organization API endpoints for organization-level users. See the /v3/organizations API for more information.
Operation | API endpoint |
---|---|
Get organization details | GET /v3/organizations/{organizationId} |
Update an organization | PATCH /v3/organizations/{organizationId} |
In addition, you can set up a bank account in your BILL organization with POST /v3/bankaccounts
. See Bank account setup (v3 API) for more information.
Creating a user
As a user with the ADMINISTRATOR
user role in a BILL organization, you can use the BILL API to create other users and also manage user access in the BILL organization.
In your POST /v3/users
request, set the required fields to create a user.
Field | Description |
---|---|
firstName | User first name |
lastName | User last name |
email | User email address |
roleId | BILL-generated ID of the user role. The value begins with 0po .You can get the list of available user roles with GET /v3/roles . |
acceptTermsOfService | Set as true if the user accepts the BILL terms of service |
Sample request
In this cURL example, a user is created with the specified details. The roleId
is set as the BILL-generated ID of the CLERK
user role. You can get the list of available user roles with GET /v3/roles
.
curl --request POST \
--url 'https://gateway.stage.bill.com/connect/v3/users' \
--header 'content-type: application/json' \
--header 'devKey: {developer_key}' \
--header 'sessionId: {session_id}' \
--data '{
"firstName": "Clark",
"lastName": "Billenterson",
"email": "[email protected]",
"roleId": "{role_id}",
"acceptTermsOfService": true
}'
Response
In the response, a BILL-generated user id
is available. This value begins with 006
. You can use this user id
for other BILL operations. With the BILL CLERK
role, the created user has permissions to enter bills.
{
"id" : "{user_id}",
"archived": false,
"firstName": "Clark",
"lastName": "Billenterson",
"email": "[email protected]",
"role" : {
"id": "{role_id}",
"type": "CLERK",
"description": "Clerk user role"
},
"loginId": "{login_id}"
"createdTime": "2025-12-15T22:58:40.000+00:00",
"updatedTime": "2025-12-15T22:58:40.000+00:00"
}
Initiating BILL risk verification
You can add a phone number for the signed-in user (with POST /v3/risk-verifications/{userId}/phone
), and then initiate risk verification (with POST /v3/risk-verifications
).
NOTE
See /v3/risk-verifications/{userId}/phone in the API reference for more information about adding a phone number for the signed-in user.
BILL performs a KYC/KYB (Know You Customer/Know Your Business) check based on the provided organization information. When the check is complete, BILL approves the organization for BILL AP and AR operations.
A set of processingStatus
values are available in the API response when risk verification is in progress.
Value | Description |
---|---|
IN_PROGRESS | Automatic risk verification is in progress. BILL is waiting for more information to make a verification decision. |
COMPLETED | Automatic risk verification is complete. BILL has made a risk verification decision. |
A set of decision
status values are available when BILL has made a risk verification decision.
Value | Description |
---|---|
IN_PROGRESS | Automatic risk verification is in progress. |
HOLD | BILL has set the verification process on hold and money movement is disabled for the organization. BILL is requesting the organization owner for more information. |
REVIEW | Manual risk verification is required. The manual risk verification will take place when a payment is made. Organization users can continue to schedule payments. |
APPROVE | BILL has approved the organization for BILL AP and AR operations. |
DECLINE | BILL has declined approval for the organization. |
See the /v3/users for more information about the complete list of user operations.
Updated 4 days ago