UserImport: updateBulkUserImports

Required scopes: user_write

Your CSV import file is made up of a header row with the column headers and a row of user or account data for each user you want to add to an account. Only new users can be imported. Any changes to existing users will be ignored. To make changes to existing users, use updateBulkUserImports.

This method requires the following HTTP headers:

Header Value
Content-Type text/csv
Content-Disposition filename=filename.csv

To ensure your CSV is properly formatted, use the Sample Bulk Update CSV file as a template. The following table describes the columns.

Note that the columns for bulk adding users and bulk update users are slightly different. The update CSV file requires an APIUserName column, and does not have an AutoActivate column.

Column Required Description
AccountID yes The user's 32-character API account ID of the user's account in your organization. This can be found in the in the API and Keys section of the account.
AccountName The name of the user's account in your organization. The account name must match the account ID provided.
FirstName yes The user's first name.
LastName yes The user's last name.
UserEmail yes The user's complete email address.
PermissionSet yes The user's permission set. The PermissionSet value must match an existing permission set for the account. This value is not case sensitive.
UserTitle The user's job title.
CompanyName The user's company name.
Group The user's assigned groups. The Group values must match existing Group names for the account. Additional Group columns can be added to the file to add users to more than one group. You do not need to add users to the Everyone group, since all new users are automatically added to that group.
AddressLine1 The user's address, first line.
AddressLine2 The user's address, second line.
City The user's city name.
StateRegionProvince The user's regional location.
PostalCode The user's postal code.
Phone The user's phone number.
Language The user's display language for their DocuSign account. Must be one of:
  • 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
LoginPolicy The user's login policy. Valid values include the following:
  • Column left blank = The user is created with no policy assigned.
  • FedAuthRequired = The user must log in with an Identity Provider.
  • FedAuthBypass = The user may log in with an Identity Provider or their DocuSign username and password.
For more information on login policies, see Setting User Login Policy.
AutoActivate For domain users, new users can be activated automatically for domain accounts using SSO by setting the value to true. The user is activated automatically once the import is complete. Memberships activated in this way do not receive an activation email.

Updating user email addresses

Changing a user's email address should be done carefully. The user's email address is used to log into DocuSign and receive documents to sign from others. Once changed, existing documents that were sent or received:

  • Will still appear in the user's documents list.
  • Notifications about these documents will be sent to the new email address. If someone sends a new document to the old email address:
  • DocuSign will send a notification to the old address.
  • lIt will not appear in the documents list of the account.

This change of email address will be applied to all the user's account memberships.

You can update up to 2,000 users on an account and include up to 50 accounts per import. The maximum number of updated users per import is 8,000.


HTTP request

POST /v2/organizations/{organizationId}/imports/bulk_users/update


Parameter NameValueDescription
Path Parameters

The organization ID Guid





SDK Method




The person who initiated the import request.


The name of the requestor.


The unique ID of the requestor. If type is user, this is the requestor's user ID.


The type of the requestor. One of:

  • user
  • client_app


The email address of the requestor.


A description of how importing failed.


The type of error. One of:

  • no_action_taken_user_exists
  • user_added
  • user_updated
  • invalid_column_header
  • invalid_row_data
  • insufficient_row_data_found
  • extra_row_data_found
  • blank_username
  • invalid_characters_in_username
  • invalid_useremail_address
  • email_domain_is_reserved
  • new_name_with_existing_useremail_not_allowed
  • invalid_characters_in_jobtitle
  • invalid_membership_id
  • membership_not_in_account
  • maximum_users_exceeded
  • invalid_permissionset
  • user_permissionset_problems
  • invalid_group
  • user_group_problems
  • group_and_permissionset_problems
  • column_headers_missing
  • invalid_csv_data_or_syntax
  • invalid_characters_in_companyname
  • invalid_language_code
  • username_column_header_missing
  • useremail_column_header_missing
  • permissionset_column_header_missing
  • membership_id_column_header_usage_not_permitted
  • administrator_group_assignment_not_permitted
  • user_awaiting_activation
  • account_admin_access_denied
  • invalid_characters_in_address
  • permissionset_required
  • apiusername_column_header_missing
  • invalid_apiusername
  • useremail_username_combination_exists
  • permissionset_change_not_allowed
  • username_language_changes_ignored_warning
  • invalid_country_warning
  • invalid_account_id
  • invalid_autoactivate
  • invalid_loginpolicy
  • autoactivate_not_allowed
  • membership_closed
  • membership_closed_or_disabled_warning
  • cannot_close_last_active_admin
  • no_action_taken
  • cannot_close_own_membership
  • unspecified_error


The number of errors of this type.


A list of user-level warnings.


The type of warning.


The number of warnings of this type.


User import operations.


The unique ID of the import request. You can pass this value to the getBulkUserImportRequest method to return the status, details, and metadata for the bulk export data


The type of import requested. One of:

  • add_users
  • update_users
  • close_users


The person who initiated the request.


Date and time that the request was created.


Date and time that the request was last modified.


The status of the request. One of:

  • queued
  • processed_with_issues
  • processed_with_errors
  • failed
  • completed


The number of user rows in the import request.


The number of valid user rows processed.


The number of users added to an account.


The number of existing users updated.


The number of user accounts closed.


The number of users that required no action; they were not added, updated, or closed. This typically happens when you import an existing user.


The number of errors encountered during the import.

See the rollup properties below for details of the errors.


The number of warnings raised during the import.


A comma-separated list of invalid column headers in the CSV file.


A list of users for whom it was not possible to create an account.


A list of file-level errors.


A list of user-level errors.


A list of user-level warnings.


If true, the results_uri returns valid CSV content.


A URI you can use to retrieve the results.

}} />