> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Create or update multi-product user

POST https://api-d.docusign.net/Management/v2.1/organizations/{organizationId}/accounts/{accountId}/users
Content-Type: application/json

This API endpoint enables you to either add a new user or update the details of an existing user within a specified organization and account.

- **Add a user**: A new user is created when the provided email does not match an existing user in the given organizationId and accountId.
- **Update a user**: An existing user is updated when the email matches a user already associated with the given organizationId and accountId.

**Notes:**

Duplicate emails are not allowed within the same organizationId and accountId. If multiple users with the same email exist, the request will fail with a `409 conflict` error.

[Required authentication scopes](/docs/admin-api/admin101/auth/): `user_write`.

### Next steps

- Explore [an example that demonstrates how to construct the request body and call the endpoint](/docs/admin-api/how-to/create-active-clm-esign-user/).

Reference: https://developers.docusign.com/docs/admin-api/reference/usermanagement/multiproductusermanagement/addorupdateuser

## Authentication

- `Authorization` header (bearer token, required) — OAuth2 Access code Grant

## Servers

- `https://api-d.docusign.net/Management` (Demo, default)
- `https://api.docusign.net/Management` (Production)

## Request

### Path parameters

- `organizationId` (string, required) — The organization ID.
- `accountId` (string, required) — The account ID GUID

### Body (application/json)

This endpoint expects a NewMultiProductUserAddRequest.

- `product_permission_profiles` (list of ProductPermissionProfileRequest, required) — A list of one or more products and their respective permissions.
- `email` (string, required) — The email address.
- `ds_groups` (list of DSGroupRequest, optional)
- `user_name` (string, optional) — The full name of the user.
- `first_name` (string, optional) — The user's first name.
- `last_name` (string, optional) — The user's last name.
- `default_account_id` (string, optional)
- `language_culture` (string, optional) — The language and culture of the user. - Chinese Simplified: `zh_CN` - Chinese Traditional: `zh_TW` - Dutch: `nl` - English: `en` - French: `fr` - German: `de` - Italian: `it` - Japanese: `ja` - Korean: `ko` - Portuguese: `pt` - Portuguese Brazil: `pt_BR` - Russian: `ru` - Spanish: `es`
- `access_code` (string, optional) — The access code that the user needs to activate an account.
- `federated_status` (string, optional) — The user's federated status. One of: - `RemoveStatus` - `FedAuthRequired` - `FedAuthBypass` - `Evicted`
- `auto_activate_memberships` (boolean, optional) — When **true,** the user's account is activated automatically.
- `license_type` (string, optional) — The user’s assigned license type. Only available for IAM plans. Must be one of the following values: - `Full - Enterprise`: Full license type available for customers who purchase the IAM Enterprise plan; includes access to sending envelopes, Agreement Manager, and Workflow Builder. - `Full - Professional`: Full license type available for customers who purchase the IAM Professional plan; includes access to sending envelopes, Agreement Manager, and Workflow Builder. - `Full - Standard`: Full license type available for customers who purchase the IAM Standard plan; includes access to sending envelopes, Agreement Manager, and Workflow Builder. - `Full - Sales`: Full license type available for customers who purchase the IAM Sales plan; includes access to sending envelopes, Agreement Manager, and Workflow Builder. - `Full - CX`: Full license type available for customers who purchase the IAM Sales plan; includes access to sending envelopes and Workflow Builder. - `Free`: Free license type available for all IAM customers; includes access to viewing the user’s own agreements and signing.

## Response

### 200

OK

- `id` (string, optional)
- `site_id` (integer, optional)
- `user_name` (string, optional) — The full name of the user.
- `first_name` (string, optional) — The user's first name.
- `last_name` (string, optional) — The user's last name.
- `email` (string, optional) — The email address.
- `language_culture` (string, optional) — The language and culture of the user. - Chinese Simplified: `zh_CN` - Chinese Traditional: `zh_TW` - Dutch: `nl` - English: `en` - French: `fr` - German: `de` - Italian: `it` - Japanese: `ja` - Korean: `ko` - Portuguese: `pt` - Portuguese Brazil: `pt_BR` - Russian: `ru` - Spanish: `es`
- `federated_status` (string, optional) — The user's federated status. One of: - `RemoveStatus` - `FedAuthRequired` - `FedAuthBypass` - `Evicted`
- `accounts` (list of AddUserResponseAccountProperties, optional)

## Types

### ProductPermissionProfileRequest

Identifies a product and an associated permission profile.

- `product_id` (string, required) — The ID of the product. This property is required.
- `permission_profile_id` (string, required) — The ID of the permission profile for the given product. This property is required.

### DSGroupRequest

- `ds_group_id` (string, required)

### AddUserResponseAccountProperties

- `id` (string, optional)
- `site_id` (integer, optional)
- `product_permission_profiles` (list of ProductPermissionProfileResponse, optional) — A list of one or more products and their respective permissions.
- `ds_groups` (list of DSGroupResponse, optional)
- `company_name` (string, optional) — The user's company name.
- `job_title` (string, optional) — The user's job title.
- `license_status` (string, optional)
- `license_type` (string, optional)
- `plan_name` (string, optional)
- `subscription_id` (string, optional)

### ProductPermissionProfileResponse

- `product_id` (string, optional) — The ID of the product.
- `product_name` (string, optional) — The human-readable name of the product.
- `permission_profiles` (list of PermissionProfileResponse2_1, optional)
- `error_message` (string, optional)

### DSGroupResponse

- `ds_group_id` (string, optional)
- `account_id` (string, optional) — Select users that are members of the specified account. At least one of `email`, `account_id` or `organization_reserved_domain_id` must be specified.
- `source_product_name` (string, optional)
- `group_id` (string, optional)
- `group_name` (string, optional)
- `description` (string, optional)
- `is_admin` (boolean, optional)
- `last_modified_on` (datetime, optional)
- `user_count` (integer, optional)
- `external_account_id` (long, optional)
- `account_name` (string, optional)
- `is_managed_by_scim` (boolean, optional)

### PermissionProfileResponse2_1

- `permission_profile_id` (string, optional) — The ID of the permission profile.
- `permission_profile_name` (string, optional) — The human-readable name of the permission profile.

## Examples

**Request**

```json
{
  "product_permission_profiles": [
    {
      "product_id": "00000000-0000-0000-0000-000000000000",
      "permission_profile_id": "string"
    }
  ],
  "email": "string"
}
```

**Response**

```json
{
  "id": "00000000-0000-0000-0000-000000000000",
  "site_id": 1,
  "user_name": "string",
  "first_name": "string",
  "last_name": "string",
  "email": "string",
  "language_culture": "string",
  "federated_status": "string",
  "accounts": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "site_id": 1,
      "product_permission_profiles": [
        {
          "product_id": "00000000-0000-0000-0000-000000000000",
          "product_name": "string",
          "permission_profiles": [
            {
              "permission_profile_id": "string",
              "permission_profile_name": "string"
            }
          ],
          "error_message": "string"
        }
      ],
      "ds_groups": [
        {
          "ds_group_id": "00000000-0000-0000-0000-000000000000",
          "account_id": "00000000-0000-0000-0000-000000000000",
          "source_product_name": "string",
          "group_id": "string",
          "group_name": "string",
          "description": "string",
          "is_admin": true,
          "last_modified_on": "2024-01-15T09:30:00Z",
          "user_count": 1,
          "external_account_id": 1,
          "account_name": "string",
          "is_managed_by_scim": true
        }
      ],
      "company_name": "string",
      "job_title": "string",
      "license_status": "string",
      "license_type": "string",
      "plan_name": "string",
      "subscription_id": "string"
    }
  ]
}
```