Users for BILL partners
As a BILL partner, you can create and manage users for a created BILL organization. You can also sign in as a created user and perform organization-level BILL API operations.
See Organizations for BILL partners to learn more about creating an organization as a BILL partner.
BILL partner operations have additional requirementsThis operation requires partner-level permissions.
- A
sessionIdheader value generated with/v3/partner/login- An
appKeyheader value- The
organizationIdof the organization
Create an user
In your POST /v3/partner/users request, set the required fields.
Field | Description |
|---|---|
| User first name |
| User last name |
| User email address |
| Username for signing in as the user. Set |
| Set as |
Sample request
In this cURL example, a user is created for the organization (organizationId) specified in the request header. 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/partner/roles.
The default user role isADMINISTRATORIf you do not set
roleIdin yourPOST /v3/partner/usersrequest, the defaultADMINISTRATORuser role is assigned to the created user.
curl --request POST \
--url 'https://gateway.stage.bill.com/connect/v3/partner/users' \
--header 'content-type: application/json' \
--header 'appKey: {partner_app_key}' \
--header 'sessionId: {partner_session_id}' \
--header 'organizationId: {organization_id}' \
--data '{
"firstName": "Tomato",
"lastName": "Soupsmith",
"email": "[email protected]",
"roleId": "{role_id}",
"username": "tsoupsm!th1",
"acceptTermsOfService": true
}'Response
In the response, a BILL-generated user id is available. The value begins with 006. The created user is assigned the CLERK role.
See User roles and permissions in the BILL Help Center to learn about BILL user roles.
{
"id": "{user_id}",
"archived": false,
"firstName": "Tomato",
"lastName": "Soupsmith",
"email": "[email protected]",
"role" : {
"id": "{role_id}",
"type": "CLERK",
"description": "Clerk user role"
},
"createdTime": "2025-12-20T22:16:27.000+00:00",
"updatedTime": "2025-12-20T22:16:27.000+00:00"
}You can use the generated user id for other partner-level and organization-level BILL operations. You can also sign in as the created user and perform organization-level BILL API operations.
Initiate BILL risk verification
When you create an organization and then create a user for that organization, it is important that you add a phone number for the created user (with POST /v3/partner/risk-verifications/{userId}/phone), and then initiate risk verification (with POST /v3/risk-verifications).
NOTESee /v3/partner/risk-verifications/{userId}/phone in the API reference for more information about adding a phone number for a created 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 about vendors in the organization to provide 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. |
Sign in as a user
In your POST /v3/partner/login-as-user request, set the required fields.
| Field | Description |
|---|---|
sessionId header value | API session ID generated with /v3/partner/login |
appKey header value | Application key sent to you by BILL when you create a partner account |
organizationId | BILL-generated ID of the organization you want to sign in to |
userId | BILL-generated ID of the user you want to sign in as |
In the response, a BILL-generated sessionId is available. Use this sessionId and devKey for performing organization-level BILL API operations, such as creating a bill or paying a vendor.
MFA-trusted API session
Set both rememberMeId and device as additional fields in your POST /v3/partner/login-as-user request to create an MFA-trusted API session.
Updated 21 days ago
