---
title: "Create a user"
method: POST
path: "/v3/partner/users"
tags: ["partner"]
---

# Create a user

`POST /v3/partner/users`

Create a new user. The new user is created for the organization (`organizationId`) in the request header.

In the request, set `username` as a unique alphanumeric value. The value must be 40 characters or fewer. This field is not case-sensitive. Do not set the value as an email address or any PII value. BILL uses this value to uniquely identify each user.

This operation requires partner-level permissions.
* A `sessionId` header value generated with [API partner login](https://developer.bill.com/reference/partnerlogin)
* An `appKey` header value
* The `organizationId` of the organization

See [Users for BILL partners](https://developer.bill.com/docs/partner-users) in the Guides section for more information, sample requests, and responses.

## Headers

- `sessionId` string, nullable — API session ID generated with `/v3/partner/login`
- `appKey` string, nullable — Application key sent to you by BILL when you create a partner account
- `organizationId` string, nullable — BILL-generated ID of the organization

## Request body

- PartnerUserCreateRequestDto — Create a user
  - `firstName` string, required — User first name
  - `lastName` string — User last name
  - `email` string, required — User email address
  - `roleId` string — BILL-generated ID of the user role. The value begins with `0po`. If you do not set `roleId`, the default `ADMINISTRATOR` user role is assigned to the created user. You can get the list of available user roles with `GET /v3/partner/roles`.
  - `username` string, required — Username for signing in as the user. Set `username` as a unique alphanumeric value. The value must be 40 characters or fewer. This field is not case-sensitive. Do not set the value as an email address or any PII value. BILL uses this value to uniquely identify each user.
  - `externalReferenceId` string — Reference ID used as an external identifier. You can set this field as a unique alphanumeric value for your system to refer to the created user.
  - `acceptTermsOfService` boolean, required — Set as `true` if the user accepts the BILL terms of service

## Response `201`

Create a user response

- OrganizationUserResponseDto — Users response.
  - `id` string — BILL-generated ID of the user. The value begins with `006`.
  - `archived` boolean — Set as `true` if the user is archived
  - `firstName` string — User first name
  - `lastName` string — User last name
  - `email` string — User email address
  - `role` object — User role information
    - `id` string — BILL-generated ID of the user role. The value begins with `0po`.
    - `type` 'ADMINISTRATOR' | 'CLERK' | 'APPROVER' | 'ACCOUNTANT' | 'CUSTOM' | 'PAYER' | 'PARTNER' | 'AUDITOR' | 'NO_ACCESS' | 'MEMBER' | 'MEMBER_PLUS' | 'INTERNAL' | 'PURCHASE_REQUESTER' | 'CONSOLE_CUSTOM' | 'RECEIVER' | 'PROCUREMENT_USER' | 'UNDEFINED' — User role type.
    - `description` string — User role description
  - `createdTime` string, date-time — Created date and time
  - `updatedTime` string, date-time — Updated date and time

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/versions/0483350c434e/schema)
