---
title: "Add a new user"
method: POST
path: "/users"
tags: ["Users"]
---

# Add a new user

`POST /users`

Adds a new user to the company, returns the ID upon success.

## Request body

- object
  - `email` string, required — The email of the user
  - `access` object[] — The access given to the user. Each item in the array represents access to a specific app. Optionally may include either admin flag or permission set ID to specify which access to give within the app. If both are omitted, the default access for the corresponding app will be used. It requires structure as follows: `[{ app: 'sales', permission_set_id: '62cc4d7f-4038-4352-abf3-a8c1c822b631' }, { app: 'global', admin: true }, { app: 'account_settings' }]`
    - `app` 'global' | 'sales' | 'campaigns' | 'projects' | 'account_settings' | 'partnership', required — The granular app access level
    - `admin` boolean — Whether the user has admin access or not
    - `permission_set_id` string — The ID of the permission set
  - `active_flag` boolean — Whether the user is active or not. `false` = Not activated, `true` = Activated

## Response `200`

The data of the user

- object
  - `success` boolean — If the response is successful or not
  - `data` object
    - `id` integer — The user ID
    - `name` string — The user name
    - `default_currency` string — The user default currency
    - `locale` string — The user locale
    - `lang` integer — The user language ID
    - `email` string — The user email
    - `phone` string, nullable — The user phone
    - `activated` boolean — Boolean that indicates whether the user is activated
    - `last_login` string — The last login date and time of the user. Format: YYYY-MM-DD HH:MM:SS
    - `created` string — The creation date and time of the user. Format: YYYY-MM-DD HH:MM:SS
    - `modified` string, nullable — The last modification date and time of the user. Format: YYYY-MM-DD HH:MM:SS
    - `has_created_company` boolean — Boolean that indicates whether the user has created a company
    - `access` object[]
      - `app` 'global' | 'sales' | 'campaigns' | 'projects' | 'account_settings' | 'partnership' — The granular app access level
      - `admin` boolean — Whether the user has admin access or not
      - `permission_set_id` string — The ID of the permission set
    - `active_flag` boolean — Boolean that indicates whether the user is activated
    - `timezone_name` string — The user timezone name
    - `timezone_offset` string — The user timezone offset
    - `role_id` integer — The ID of the user role
    - `icon_url` string, nullable — The user icon URL
    - `is_you` boolean — Boolean that indicates if the requested user is the same which is logged in (in this case, always true)
    - `is_deleted` boolean — Boolean that indicates whether the user is deleted from the company

## Other responses

- `403` — Forbidden response

---

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