---
title: "Create User"
method: POST
path: "/tenants/{tenant_id}/users"
tags: ["Users"]
---

# Create User

`POST /tenants/{tenant_id}/users`

Create a new user using external SSO.

---

User email has to be unique across the Aurora app.

Please note that in contrast to the [Invite User](https://docs.aurorasolar.com/reference/inviteuser) endpoint this will not send the user an email to join the user. The created user account will hence not be able to set their password.

Creating a user without inviting them is a required step if you are using SSO through OpenID connect to authenticate the users before accessing Aurora's application. This will allow your users to use Aurora without having to type in their username and password before doing so, but require you to run an OpenID Connect server (proving the Identity Provider functionality to Aurora). See [OpenID Connect specification](http://openid.net/developers/specs/) for more detail.

Please note that certain identity providers such as SalesForce, represent their user and organization IDs differently in the UI compared to what is sent in actual API requests. If you are using SalesForce as the identity provider with the OpenID Connect standard, please specify the long 18 character user and organization IDs when creating a user. See [here](http://salesforce.stackexchange.com/questions/1653/what-are-salesforce-ids-composed-of) for instructions on how to convert a 15 character ID to an 18 character one.

## Path parameters

- `tenant_id` string, uuid, required

## Request body

- object
  - `user` object — User to create.
    - `first_name` string, required — First name of the user.
    - `last_name` string, required — Last name of the user.
    - `email` string, email, required — Email address of the user. Must be unique within the Aurora system.
    - `phone` string — Phone number of the user.
    - `title` string — Job title of the user.
    - `job_function` 'executive_or_owner' | 'it_or_business_systems_manager' | 'project_manager' | 'operations' | 'engineering' | 'canvasser_setter' | 'marketing_manager' | 'sales_representative' | 'sales_manager' | 'designer' | 'design_manager' | 'other' — Job function of the user.
    - `external_provider_id` string, required — The full identifying URL identifying this user on the identity provider's system. Ex. "https://test.salesforce.com/id/00556000000X3J3AFA/00540000001ulvMAEA"
    - `role_id` string, uuid — Unique ID identifying the user's role. Choose between IDs for the following global roles [`"Limited Team Member"`, `"Team Member"`, `"Admin"`] and any custom roles defined for the tenant. Defaults to the ID for `"Team Member"`. To view all available roles, see [List Roles](https://docs.aurorasolar.com/reference/listroles).
    - `team_ids` string[] — IDs of teams in which the user is a member.
    - `partner_ids` string[] — IDs of partners associated with the user.
    - `partner_id` string, uuid — Unique ID identifying the partner.
    - `locale` string, locale — User's preferred language and region using the ISO two-letter format. Defaults to tenant locale if not set.
    - `base_price_per_watt_max` number, double — The maximum base price per watt for projects assigned to the user. Users will be alerted if they set a price per watt above this number.
    - `base_price_per_watt_min` number, double — The minimum base price per watt for projects assigned to the user. Users will be alerted if they set a price per watt below this number.

## Response `200`

User successfully created.

- object
  - `user` object
    - `id` string, uuid — Unique ID identifying the user.
    - `tenant_id` string, uuid — Unique ID identifying the tenant that the user belongs to.
    - `first_name` string — First name of the user.
    - `last_name` string — Last name of the user.
    - `email` string, email — Email address of the user.
    - `account_status` string — Status of the user.
    - `phone` string — User's phone number
    - `title` string — User's job title
    - `job_function` 'executive_or_owner' | 'it_or_business_systems_manager' | 'project_manager' | 'operations' | 'engineering' | 'canvasser_setter' | 'marketing_manager' | 'sales_representative' | 'sales_manager' | 'designer' | 'design_manager' | 'other' — Job function of the user.
    - `external_provider_id` string — The full identifying URL identifying this user on the identity providers sytem. Ex. "https://test.salesforce.com/id/00556000000X3J3AFA/00540000001ulvMAEA"
    - `role_id` string, uuid — Unique ID identifying the user's role. Choose between IDs for the following global roles [`"Limited Team Member"`, `"Team Member"`, `"Admin"`] and any custom roles defined for the tenant. Defaults to the ID for `"Team Member"`. To view all available roles, see [List Roles](https://docs.aurorasolar.com/reference/listroles).
    - `team_ids` string[] — IDs of teams in which the user is a member.
    - `partner_ids` string[] — IDs of partners associated with the user.
    - `partner_id` string, uuid — Unique ID identifying the partner associated with the user.
    - `locale` string, locale — User's preferred language and region using the ISO two-letter format. Defaults to tenant locale if not set.
    - `base_price_per_watt_max` number, double — The maximum base price per watt for projects assigned to the user. Users will be alerted if they set a price per watt above this number.
    - `base_price_per_watt_min` number, double — The minimum base price per watt for projects assigned to the user. Users will be alerted if they set a price per watt below this number.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/aurorasolar/apis/sync-api.md) · [All operations](https://skmtc.net/aurorasolar/apis/sync-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aurorasolar/sync-api/revisions/5b41808d104d/schema)
