Skip to main content

Actions

The ballerinax/docusign.dsadmin package exposes the following clients:

ClientPurpose
ClientDocuSign Admin API: organization, user, permission, group, export/import, and asset group management.

Client

DocuSign Admin API: organization, user, permission, group, export/import, and asset group management.

Configuration

FieldTypeDefaultDescription
authhttp:BearerTokenConfig|OAuth2RefreshTokenGrantConfigRequiredOAuth 2.0 refresh token grant config or bearer token config for authentication.
httpVersionhttp:HttpVersionHTTP_2_0HTTP protocol version.
timeoutdecimal30The maximum time to wait (in seconds) for a response before closing the connection.
retryConfighttp:RetryConfig()Retry configuration for failed requests.
secureSockethttp:ClientSecureSocket()SSL/TLS-related options.
proxyhttp:ProxyConfig()Proxy server configuration.
validationbooleantrueEnables inbound payload validation provided by the constraint package.
laxDataBindingbooleantrueEnables relaxed data binding: nil values are treated as optional and absent fields as nilable.

Initializing the client

import ballerinax/docusign.dsadmin;

configurable string clientId = ?;
configurable string clientSecret = ?;
configurable string refreshToken = ?;
configurable string refreshUrl = ?;

dsadmin:Client docuSignClient = check new (
{
auth: {
clientId,
clientSecret,
refreshToken,
refreshUrl
}
}
);

Operations

Organization operations

Returns a list of organizations that the authenticated user belongs to

Retrieves the list of organizations the authenticated user is a member of.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional headers to be sent with the request.
queriesOrganizationOrganizationGetListV2QueriesNoQuery parameters including optional mode filter.

Returns: OrganizationsResponse|error

Sample code:

dsadmin:OrganizationsResponse orgResponse = check docuSignClient->/v2/organizations();

Sample response:

{
"organizations": [
{
"id": "8a311a1e-xxxx-xxxx-xxxx-aabbccddeeff",
"name": "My Organization",
"description": "Main org account",
"default_account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"created_on": "2023-01-15T10:30:00.000Z"
}
]
}

User management

Returns information about the users in an organization

Retrieves a list of users in the specified organization, with optional filters for email, account, status, and pagination.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
queriesOrganizationUserOrganizationUsersGetV2QueriesNoQuery parameters including email, accountId, status, start, take, membershipStatus, etc.

Returns: OrganizationUsersResponse|error

Sample code:

dsadmin:OrganizationUsersResponse userInfo = check docuSignClient->/v2/organizations/[organizationId]/users(accountId = accountId, email = "[email protected]");

Sample response:

{
"users": [
{
"id": "aaaa-bbbb-cccc-dddd",
"user_name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"user_status": "active",
"membership_status": "active"
}
],
"paging": {
"result_set_size": 1,
"result_set_start_position": 0,
"total_set_size": 1
}
}
Creates a new user

Creates a new user in the specified organization with the provided user details and account memberships.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadNewUserRequestYesThe new user's details including userName, firstName, email, and account assignments.

Returns: NewUserResponse|error

Sample code:

dsadmin:NewUserRequest newUserReq = {
userName: "user1",
firstName: "Jane",
email: "[email protected]",
accounts: [
{
id: accountId,
companyName: "Acme Corp"
}
]
};
dsadmin:NewUserResponse newUser = check docuSignClient->/v2/organizations/[organizationId]/users.post(newUserReq);

Sample response:

{
"id": "eeee-ffff-0000-1111",
"user_name": "user1",
"first_name": "Jane",
"email": "[email protected]",
"language_culture": "en",
"federated_status": "RemoveStatus",
"accounts": [
{
"id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"company_name": "Acme Corp"
}
]
}
Adds users to an account

Adds a user to a specific account within the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
accountIdstringYesThe account ID GUID.
payloadNewAccountUserRequestYesThe new account user request with user details.

Returns: NewUserResponse|error

Sample code:

dsadmin:NewAccountUserRequest userReq = {
userName: "user2",
firstName: "Bob",
email: "[email protected]"
};
dsadmin:NewUserResponse addedUser = check docuSignClient->/v2/organizations/[organizationId]/accounts/[accountId]/users.post(userReq);

Sample response:

{
"id": "2222-3333-4444-5555",
"user_name": "user2",
"first_name": "Bob",
"email": "[email protected]",
"accounts": [
{
"id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"company_name": "Acme Corp"
}
]
}
Updates a user's information

Updates profile information for one or more users in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadUpdateUsersRequestYesThe update request containing a list of user updates.

Returns: UsersUpdateResponse|error

Sample code:

dsadmin:UpdateUsersRequest updateReq = {
users: [
{
id: userId,
siteId: 1,
userName: "Updated Name",
firstName: "Updated",
lastName: "User"
}
]
};
dsadmin:UsersUpdateResponse updateResp = check docuSignClient->/v2/organizations/[organizationId]/users/profiles.post(updateReq);

Sample response:

{
"success": true,
"users": [
{
"id": "eeee-ffff-0000-1111",
"status": "updated",
"user_name": "Updated Name"
}
]
}
Updates a user's email address

Changes the email address for one or more users in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadUpdateUsersEmailRequestYesThe email update request containing a list of user email changes.

Returns: UsersUpdateResponse|error

Sample code:

dsadmin:UpdateUsersEmailRequest emailReq = {
users: [
{
id: userId,
siteId: 1,
newEmail: "[email protected]"
}
]
};
dsadmin:UsersUpdateResponse emailResp = check docuSignClient->/v2/organizations/[organizationId]/users/email_addresses.post(emailReq);

Sample response:

{
"success": true,
"users": [
{
"id": "eeee-ffff-0000-1111",
"status": "updated"
}
]
}
Closes a user's memberships

Closes one or more of a user's account memberships in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
userIdstringYesThe user ID GUID.
payloadDeleteMembershipsRequestYesThe request specifying which account memberships to close.

Returns: DeleteMembershipsResponse|error

Sample code:

dsadmin:DeleteMembershipsRequest deleteReq = {
accounts: [
{id: accountId}
]
};
dsadmin:DeleteMembershipsResponse deleteResp = check docuSignClient->/v2/organizations/[organizationId]/users/[userId]/accounts.delete(deleteReq);

Sample response:

{
"success": true,
"accounts": [
{
"id": "abcd1234-xxxx-xxxx-xxxx-000000000001"
}
]
}
Activates user memberships

Force-activates a user's membership in the specified account.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
userIdstringYesThe user ID GUID.
membershipIdstringYesThe membership ID GUID.
payloadForceActivateMembershipRequestYesThe activation request with site ID.

Returns: UpdateResponse|error

Sample code:

dsadmin:ForceActivateMembershipRequest activateReq = {
siteId: 1
};
dsadmin:UpdateResponse activateResp = check docuSignClient->/v2/organizations/[organizationId]/users/[userId]/memberships/[membershipId].post(activateReq);

Sample response:

{
"status": "activated"
}
Returns historical information about users with a specific email address

Retrieves profile details for a user identified by email address within the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
queriesOrganizationUserOrganizationUsersGetProfileV2QueriesNoQuery parameters including email.

Returns: UsersDrilldownResponse|error

Sample code:

dsadmin:UsersDrilldownResponse profile = check docuSignClient->/v2/organizations/[organizationId]/users/profile(email = "[email protected]");

Sample response:

{
"users": [
{
"id": "eeee-ffff-0000-1111",
"user_name": "John Doe",
"user_status": "active",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"default_account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001"
}
]
}
Deletes user identities

Deletes one or more identities for a user in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
userIdstringYesThe user ID GUID.
payloadDeleteUserIdentityRequestYesThe identity deletion request specifying identities to remove.

Returns: DeleteResponse|error

Sample code:

dsadmin:DeleteUserIdentityRequest identityReq = {
identities: [
{id: "identity-id-guid"}
]
};
dsadmin:DeleteResponse identityResp = check docuSignClient->/v2/organizations/[organizationId]/users/[userId]/identities.delete(identityReq);

Sample response:

{
"success": true,
"identities": [
{
"id": "identity-id-guid"
}
]
}

Permissions & groups

Returns the list of permission profiles in an account

Retrieves all permission profiles available for the specified account in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
accountIdstringYesThe account ID GUID.

Returns: PermissionsResponse|error

Sample code:

dsadmin:PermissionsResponse permissions = check docuSignClient->/v2/organizations/[organizationId]/accounts/[accountId]/permissions();

Sample response:

{
"permissions": [
{
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
},
{
"permission_profile_id": "12346",
"permission_profile_name": "Account Administrator"
}
]
}
Returns the list of groups in an account

Retrieves the list of groups for a given account within the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
accountIdstringYesThe account ID GUID.
queriesAccountAccountsGetGroupsV2QueriesNoPagination parameters: start, take, end.

Returns: MemberGroupsResponse|error

Sample code:

dsadmin:MemberGroupsResponse groups = check docuSignClient->/v2/organizations/[organizationId]/accounts/[accountId]/groups();

Sample response:

{
"groups": [
{
"id": 101,
"name": "Everyone",
"type": "everyone_group"
},
{
"id": 102,
"name": "Managers",
"type": "custom_group"
}
]
}

User list export

Returns a list of pending and completed export requests

Retrieves all user list export requests for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: OrganizationExportsResponse|error

Sample code:

dsadmin:OrganizationExportsResponse exports = check docuSignClient->/v2/organizations/[organizationId]/exports/user_list();

Sample response:

{
"exports": [
{
"id": "export-001-guid",
"type": "organization_memberships_export",
"status": "completed",
"percent_completed": 100,
"number_rows": 250,
"created": "2024-01-15T10:30:00.000Z",
"completed": "2024-01-15T10:35:00.000Z"
}
]
}
Creates a user list export request

Creates a new export request to generate a list of users in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadOrganizationExportRequestYesThe export request specifying the type and scope of the export.

Returns: OrganizationExportResponse|error

Sample code:

dsadmin:OrganizationExportRequest exportReq = {
'type: "organization_memberships_export"
};
dsadmin:OrganizationExportResponse exportResp = check docuSignClient->/v2/organizations/[organizationId]/exports/user_list.post(exportReq);

Sample response:

{
"id": "export-002-guid",
"type": "organization_memberships_export",
"status": "queued",
"percent_completed": 0,
"created": "2024-03-01T08:00:00.000Z"
}
Returns the results for single user list export request

Retrieves the details and status of a specific user list export request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
exportIdstringYesThe export ID GUID.

Returns: OrganizationExportResponse|error

Sample code:

dsadmin:OrganizationExportResponse exportDetail = check docuSignClient->/v2/organizations/[organizationId]/exports/user_list/[exportId]();

Sample response:

{
"id": "export-001-guid",
"type": "organization_memberships_export",
"status": "completed",
"percent_completed": 100,
"number_rows": 250,
"created": "2024-01-15T10:30:00.000Z",
"completed": "2024-01-15T10:35:00.000Z",
"success": true
}
Deletes a single user list export request

Deletes a specific user list export request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
exportIdstringYesThe export ID GUID.

Returns: record {}|error

Sample code:

record {} deleteResult = check docuSignClient->/v2/organizations/[organizationId]/exports/user_list/[exportId].delete();

Sample response:

{}

Account settings export & import

Returns a list of pending and completed account settings export request

Retrieves all account settings export requests for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: OrganizationExportsResponse|error

Sample code:

dsadmin:OrganizationExportsResponse settingsExports = check docuSignClient->/v2/organizations/[organizationId]/exports/account_settings();

Sample response:

{
"exports": [
{
"id": "settings-export-001",
"type": "organization_account_settings_export",
"status": "completed",
"percent_completed": 100
}
]
}
Creates a new account settings export request

Creates an export request for account settings across the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadOrganizationAccountsRequestYesThe export request specifying accounts to export.

Returns: OrganizationExportResponse|error

Sample code:

dsadmin:OrganizationAccountsRequest settingsExportReq = {
accounts: [{accountId: accountId}]
};
dsadmin:OrganizationExportResponse settingsExportResp = check docuSignClient->/v2/organizations/[organizationId]/exports/account_settings.post(settingsExportReq);

Sample response:

{
"id": "settings-export-002",
"type": "organization_account_settings_export",
"status": "queued",
"percent_completed": 0,
"created": "2024-03-01T08:00:00.000Z"
}
Returns the results for a single account settings export request

Retrieves details of a specific account settings export request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
exportIdstringYesThe export ID GUID.

Returns: OrganizationExportResponse|error

Sample code:

dsadmin:OrganizationExportResponse settingsDetail = check docuSignClient->/v2/organizations/[organizationId]/exports/account_settings/[exportId]();

Sample response:

{
"id": "settings-export-001",
"type": "organization_account_settings_export",
"status": "completed",
"percent_completed": 100,
"success": true
}
Deletes a single account settings export request

Deletes a specific account settings export request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
exportIdstringYesThe export ID GUID.

Returns: record {}|error

Sample code:

record {} deleteSettingsExport = check docuSignClient->/v2/organizations/[organizationId]/exports/account_settings/[exportId].delete();

Sample response:

{}
Returns the details and metadata for Bulk Account Settings Import requests in the organization

Retrieves all account settings import requests for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: OrganizationAccountSettingsImportResponse[]|error

Sample code:

dsadmin:OrganizationAccountSettingsImportResponse[] settingsImports = check docuSignClient->/v2/organizations/[organizationId]/imports/account_settings();

Sample response:

[
{
"id": "settings-import-001",
"status": "completed",
"number_processed_accounts": 5,
"number_unprocessed_accounts": 0
}
]
Creates a new account settings import request

Creates a new import request to apply account settings from a CSV file.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadImportsAccountSettingsBodyYesMultipart body containing the CSV file with account settings.

Returns: OrganizationAccountSettingsImportResponse|error

Sample code:

dsadmin:ImportsAccountSettingsBody importBody = {
fileCsv: {fileContent: csvBytes, fileName: "settings.csv"}
};
dsadmin:OrganizationAccountSettingsImportResponse importResp = check docuSignClient->/v2/organizations/[organizationId]/imports/account_settings.post(importBody);

Sample response:

{
"id": "settings-import-002",
"status": "queued"
}
Returns the details/metadata for a Bulk Account Settings Import request

Retrieves the status and details of a specific account settings import request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
importIdstringYesThe import ID GUID.

Returns: OrganizationAccountSettingsImportResponse|error

Sample code:

dsadmin:OrganizationAccountSettingsImportResponse importDetail = check docuSignClient->/v2/organizations/[organizationId]/imports/account_settings/[importId]();

Sample response:

{
"id": "settings-import-001",
"status": "completed",
"number_processed_accounts": 5,
"number_unprocessed_accounts": 0
}
Deletes a Bulk Account Settings Import request

Deletes a specific account settings import request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
importIdstringYesThe import ID GUID.

Returns: record {}|error

Sample code:

record {} deleteImport = check docuSignClient->/v2/organizations/[organizationId]/imports/account_settings/[importId].delete();

Sample response:

{}

Bulk user import

Creates a request to import new users into an account

Creates a bulk user import request to add new users across the organization using a CSV file.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadBulkUsersAddBodyYesMultipart body with a CSV file containing user details.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:BulkUsersAddBody addBody = {
fileCsv: {fileContent: csvBytes, fileName: "new_users.csv"}
};
dsadmin:OrganizationImportResponse bulkAddResp = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/add.post(addBody);

Sample response:

{
"id": "import-001-guid",
"type": "add_users",
"status": "queued",
"user_count": 50,
"added_user_count": 0,
"created": "2024-03-01T08:00:00.000Z"
}
Import request for adding a user to a single account within the organization

Creates a bulk import to add users to a specific account using a CSV file.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
accountIdstringYesThe account ID GUID.
payloadBulkUsersAddBody1YesMultipart body with a CSV file.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:BulkUsersAddBody1 addBody = {
fileCsv: {fileContent: csvBytes, fileName: "account_users.csv"}
};
dsadmin:OrganizationImportResponse acctAddResp = check docuSignClient->/v2/organizations/[organizationId]/accounts/[accountId]/imports/bulk_users/add.post(addBody);

Sample response:

{
"id": "import-002-guid",
"type": "add_users",
"status": "queued",
"user_count": 25
}
Bulk updates information for existing users

Creates a bulk import request to update existing users across the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadBulkUsersUpdateBodyYesMultipart body with a CSV file containing user updates.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:BulkUsersUpdateBody updateBody = {
fileCsv: {fileContent: csvBytes, fileName: "update_users.csv"}
};
dsadmin:OrganizationImportResponse bulkUpdateResp = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/update.post(updateBody);

Sample response:

{
"id": "import-003-guid",
"type": "update_users",
"status": "queued",
"user_count": 30
}
Import request for updating users for a single account within the organization

Creates a bulk import to update users for a specific account using a CSV file.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
accountIdstringYesThe account ID GUID.
payloadBulkUsersUpdateBody1YesMultipart body with a CSV file.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:BulkUsersUpdateBody1 updateBody = {
fileCsv: {fileContent: csvBytes, fileName: "account_updates.csv"}
};
dsadmin:OrganizationImportResponse acctUpdateResp = check docuSignClient->/v2/organizations/[organizationId]/accounts/[accountId]/imports/bulk_users/update.post(updateBody);

Sample response:

{
"id": "import-004-guid",
"type": "update_users",
"status": "queued",
"user_count": 15
}
Creates a request to close the accounts of existing users

Creates a bulk import request to close user accounts across the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadBulkUsersCloseBodyYesMultipart body with a CSV file specifying users to close.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:BulkUsersCloseBody closeBody = {
fileCsv: {fileContent: csvBytes, fileName: "close_users.csv"}
};
dsadmin:OrganizationImportResponse bulkCloseResp = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/close.post(closeBody);

Sample response:

{
"id": "import-005-guid",
"type": "close_users",
"status": "queued",
"user_count": 10
}
Closes external memberships

Closes memberships for users whose email domain is external to the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:OrganizationImportResponse closeExtResp = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/close_external.post();

Sample response:

{
"id": "import-006-guid",
"type": "close_external",
"status": "queued"
}
Gets a list of all of the user import requests

Retrieves all bulk user import requests for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: OrganizationImportsResponse|error

Sample code:

dsadmin:OrganizationImportsResponse imports = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users();

Sample response:

{
"imports": [
{
"id": "import-001-guid",
"type": "add_users",
"status": "completed",
"user_count": 50,
"added_user_count": 48,
"error_count": 2
}
]
}
Returns the details of a single user import request

Retrieves details and status of a specific bulk user import request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
importIdstringYesThe import ID GUID.

Returns: OrganizationImportResponse|error

Sample code:

dsadmin:OrganizationImportResponse importDetail = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/[importId]();

Sample response:

{
"id": "import-001-guid",
"type": "add_users",
"status": "completed",
"user_count": 50,
"added_user_count": 48,
"error_count": 2,
"has_csv_results": true
}
Deletes a specific user import request

Deletes a specific bulk user import request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
importIdstringYesThe import ID GUID.

Returns: record {}|error

Sample code:

record {} deleteImport = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/[importId].delete();

Sample response:

{}
Given the ID of a user import request, return the CSV file that was imported

Downloads the CSV results file for a completed bulk user import request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
importIdstringYesThe import ID GUID.

Returns: string|error

Sample code:

string csvResults = check docuSignClient->/v2/organizations/[organizationId]/imports/bulk_users/[importId]/results_csv();

Sample response:

"email,user_name,status\[email protected],Jane Doe,added\[email protected],Bob Smith,error"

Identity providers & domains

Returns the list of identity providers for an organization

Retrieves all identity providers configured for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: IdentityProvidersResponse|error

Sample code:

dsadmin:IdentityProvidersResponse idpResponse = check docuSignClient->/v2/organizations/[organizationId]/identity_providers();

Sample response:

{
"identity_providers": [
{
"id": "idp-001-guid",
"friendly_name": "Corporate SSO",
"auto_provision_users": true
}
]
}
Returns the list of reserved domains for the organization

Retrieves all reserved (claimed) domains for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.

Returns: DomainsResponse|error

Sample code:

dsadmin:DomainsResponse domains = check docuSignClient->/v2/organizations/[organizationId]/reserved_domains();

Sample response:

{
"reserved_domains": [
{
"id": "domain-001-guid",
"status": "active",
"host_name": "example.com"
}
]
}

Data redaction

Deletes membership data for a user on an account

Redacts (deletes) a user's membership data from a specific account.

Parameters:

NameTypeRequiredDescription
accountIdstringYesThe account ID from which to delete the user's data.
payloadIndividualMembershipDataRedactionRequestYesThe redaction request specifying the user ID.

Returns: IndividualUserDataRedactionResponse|error

Sample code:

dsadmin:IndividualMembershipDataRedactionRequest redactReq = {
userId: userId
};
dsadmin:IndividualUserDataRedactionResponse redactResp = check docuSignClient->/v2/data_redaction/accounts/[accountId]/user.post(redactReq);

Sample response:

{
"user_id": "eeee-ffff-0000-1111",
"status": "success",
"membership_results": [
{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"status": "success"
}
]
}
Deletes data for one or more of a user's account memberships

Redacts (deletes) a user's data across one or more account memberships in the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization ID GUID.
payloadIndividualUserDataRedactionRequestYesThe redaction request specifying the user and memberships.

Returns: IndividualUserDataRedactionResponse|error

Sample code:

dsadmin:IndividualUserDataRedactionRequest orgRedactReq = {
userId: userId
};
dsadmin:IndividualUserDataRedactionResponse orgRedactResp = check docuSignClient->/v2/data_redaction/organizations/[organizationId]/user.post(orgRedactReq);

Sample response:

{
"user_id": "eeee-ffff-0000-1111",
"status": "success",
"membership_results": [
{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"status": "success"
}
]
}

DSGroup management (v2.1)

Returns a list of DSGroups

Retrieves all DSGroups for a specific account within the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
queriesDocuSignGroupsv21GetDSGroupsV21QueriesNoPagination parameters: page, pageSize.

Returns: DSGroupListResponse|error

Sample code:

dsadmin:DSGroupListResponse dsGroups = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups();

Sample response:

{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"ds_groups": [
{
"group_id": "dsgroup-001-guid",
"group_name": "Engineering Team",
"user_count": 15,
"is_admin": false
}
],
"total_count": 1,
"page": 1,
"page_size": 20
}
Creates a new DSGroup

Creates a new DSGroup for the specified account.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
payloadDSGroupAddRequestYesThe group creation request with group name and optional description.

Returns: DSGroupResponse|error

Sample code:

dsadmin:DSGroupAddRequest groupReq = {
groupName: "Sales Team",
description: "Sales department group"
};
dsadmin:DSGroupResponse newGroup = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups.post(groupReq);

Sample response:

{
"group_id": "dsgroup-002-guid",
"group_name": "Sales Team",
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"is_admin": false,
"user_count": 0
}
Returns details about a single DSGroup

Retrieves detailed information about a specific DSGroup.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
dsGroupIdstringYesThe DSGroup's ID GUID.

Returns: DSGroupResponse|error

Sample code:

dsadmin:DSGroupResponse groupDetail = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups/[dsGroupId]();

Sample response:

{
"group_id": "dsgroup-001-guid",
"group_name": "Engineering Team",
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"is_admin": false,
"user_count": 15
}
Deletes a DSGroup

Deletes a DSGroup from the specified account.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
dsGroupIdstringYesThe DSGroup's GUID.

Returns: error?

Sample code:

check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups/[dsGroupId].delete();
Gets a list of users in a DSGroup

Retrieves all users belonging to a specific DSGroup.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
dsGroupIdstringYesThe DSGroup's GUID.
queriesDocuSignGroupsv21GetDSGroupUsersV21QueriesNoPagination parameters: page, pageSize.

Returns: DSGroupAndUsersResponse|error

Sample code:

dsadmin:DSGroupAndUsersResponse groupUsers = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups/[dsGroupId]/users();

Sample response:

{
"group": {
"group_id": "dsgroup-001-guid",
"group_name": "Engineering Team"
},
"group_users": {
"users": [
{
"user_id": "eeee-ffff-0000-1111",
"user_name": "John Doe",
"email": "[email protected]"
}
],
"total_count": 1
}
}
Adds a list of users to a DSGroup

Adds one or more users to a specific DSGroup.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
dsGroupIdstringYesThe DSGroup's GUID.
payloadDSGroupUsersAddRequestYesThe request containing user IDs to add.

Returns: AddDSGroupAndUsersResponse|error

Sample code:

dsadmin:DSGroupUsersAddRequest addUsersReq = {
userIds: [userId]
};
dsadmin:AddDSGroupAndUsersResponse addResult = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups/[dsGroupId]/users.post(addUsersReq);

Sample response:

{
"TotalCount": 1,
"is_success": true
}
Removes a list of users from a DSGroup

Removes one or more users from a specific DSGroup.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
dsGroupIdstringYesThe DSGroup's GUID.
payloadDSGroupUsersRemoveRequestYesThe request containing user IDs to remove.

Returns: RemoveDSGroupUsersResponse|error

Sample code:

dsadmin:DSGroupUsersRemoveRequest removeReq = {
userIds: [userId]
};
dsadmin:RemoveDSGroupUsersResponse removeResult = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/dsgroups/[dsGroupId]/users.delete(removeReq);

Sample response:

{
"is_success": true
}

Product permission profiles (v2.1)

Gets products associated with the account and the available permission profiles

Retrieves products and their available permission profiles for the specified account.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.

Returns: ProductPermissionProfilesResponse|error

Sample code:

dsadmin:ProductPermissionProfilesResponse prodPerms = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/permission_profiles();

Sample response:

{
"product_permission_profiles": [
{
"product_id": "prod-001",
"product_name": "eSignature",
"permission_profiles": [
{
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
}
]
}
]
}
Retrieves a user's product permission profiles by email address

Retrieves the product permission profiles assigned to a user identified by email.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
queriesOrganizationProductPermissionProfileGetUserProductPermissionProfilesByEmailQueriesNoQuery parameters including email.

Returns: UserProductPermissionProfilesResponse|error

Sample code:

dsadmin:UserProductPermissionProfilesResponse userPerms = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/permission_profiles/users(email = "[email protected]");

Sample response:

{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"user_id": "eeee-ffff-0000-1111",
"product_permission_profiles": [
{
"product_id": "prod-001",
"product_name": "eSignature",
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
}
]
}
Assigns permission profiles for a user by email address

Assigns product permission profiles to a user identified by email.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
payloadUserProductPermissionProfilesRequestYesThe request with email and product permission profiles to assign.

Returns: UserProductPermissionProfilesResponse|error

Sample code:

dsadmin:UserProductPermissionProfilesRequest assignReq = {
email: "[email protected]",
productPermissionProfiles: [
{
productId: "prod-001",
permissionProfileId: "12345"
}
]
};
dsadmin:UserProductPermissionProfilesResponse assignResp = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/permission_profiles/users.post(assignReq);

Sample response:

{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"user_id": "eeee-ffff-0000-1111",
"product_permission_profiles": [
{
"product_id": "prod-001",
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
}
]
}
Retrieves a user's product permission profiles by user ID

Retrieves the product permission profiles assigned to a user identified by user ID.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
userIdstringYesThe user ID GUID.

Returns: ProductPermissionProfilesResponse|error

Sample code:

dsadmin:ProductPermissionProfilesResponse userProdPerms = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/users/[userId]/permission_profiles();

Sample response:

{
"product_permission_profiles": [
{
"product_id": "prod-001",
"product_name": "eSignature",
"permission_profiles": [
{
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
}
]
}
]
}
Assigns permission profiles for a user by user ID

Assigns product permission profiles to a user identified by user ID.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
userIdstringYesThe user ID GUID.
payloadProductPermissionProfilesRequestYesThe request with product permission profiles to assign.

Returns: UserProductPermissionProfilesResponse|error

Sample code:

dsadmin:ProductPermissionProfilesRequest assignByIdReq = {
productPermissionProfiles: [
{
productId: "prod-001",
permissionProfileId: "12345"
}
]
};
dsadmin:UserProductPermissionProfilesResponse assignByIdResp = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/users/[userId]/permission_profiles.post(assignByIdReq);

Sample response:

{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"user_id": "eeee-ffff-0000-1111",
"product_permission_profiles": [
{
"product_id": "prod-001",
"permission_profile_id": "12345",
"permission_profile_name": "DocuSign Sender"
}
]
}
Revokes a user's access to one or more products

Revokes a user's access to one or more products in the specified account.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
payloadUserProductProfileDeleteRequestYesThe request specifying the user and products to revoke.

Returns: RemoveUserProductsResponse|error

Sample code:

dsadmin:UserProductProfileDeleteRequest revokeReq = {
userEmail: "[email protected]",
productIds: ["prod-001"]
};
dsadmin:RemoveUserProductsResponse revokeResp = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/products/users.delete(revokeReq);

Sample response:

{
"user_email": "[email protected]",
"user_id": "eeee-ffff-0000-1111",
"is_success": true
}

Multi-Product user management (v2.1)

Creates and updates a multi-product user

Creates a new user or updates an existing user with multi-product access.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
accountIdstringYesThe account ID GUID.
payloadNewMultiProductUserAddRequestYesThe multi-product user creation request.

Returns: AddUserResponse|error

Sample code:

dsadmin:NewMultiProductUserAddRequest multiUserReq = {
email: "[email protected]",
userFirstName: "Alice",
userLastName: "Smith",
productPermissionProfiles: [
{
productId: "prod-001",
permissionProfileId: "12345"
}
]
};
dsadmin:AddUserResponse multiUserResp = check docuSignClient->/v2\.1/organizations/[organizationId]/accounts/[accountId]/users.post(multiUserReq);

Sample response:

{
"id": "new-user-guid",
"user_name": "Alice Smith",
"first_name": "Alice",
"last_name": "Smith",
"email": "[email protected]"
}
Retrieves the DS profile for a user specified by email address

Retrieves the DocuSign profile for a user identified by email address.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
queriesOrganizationUserOrganizationUsersGetDSProfilesQueriesNoQuery parameters including email and sort.

Returns: UsersDrilldownResponse|error

Sample code:

dsadmin:UsersDrilldownResponse dsProfile = check docuSignClient->/v2\.1/organizations/[organizationId]/users/dsprofile(email = "[email protected]");

Sample response:

{
"users": [
{
"id": "eeee-ffff-0000-1111",
"user_name": "John Doe",
"user_status": "active",
"email": "[email protected]",
"default_account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001"
}
]
}
Retrieves the DS profile for a user specified by ID

Retrieves the DocuSign profile for a user identified by user ID.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
userIdstringYesThe user ID GUID.
queriesOrganizationUserOrganizationUsersGetDSProfileByUserIdQueriesNoQuery parameter: sort.

Returns: UsersDrilldownResponse|error

Sample code:

dsadmin:UsersDrilldownResponse dsProfileById = check docuSignClient->/v2\.1/organizations/[organizationId]/users/[userId]/dsprofile();

Sample response:

{
"users": [
{
"id": "eeee-ffff-0000-1111",
"user_name": "John Doe",
"user_status": "active",
"email": "[email protected]",
"default_account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001"
}
]
}

Asset group operations

Get asset group accounts for an organization

Retrieves asset group accounts for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
queriesOrganizationProvisionAssetGroupGetAssetGroupAccountsByOrgQueriesNoQuery parameters for filtering and pagination.

Returns: AssetGroupAccountsResponse|error

Sample code:

dsadmin:AssetGroupAccountsResponse assetAccounts = check docuSignClient->/v1/organizations/[organizationId]/assetGroups/accounts();

Sample response:

{
"asset_group_accounts": [
{
"account_id": "abcd1234-xxxx-xxxx-xxxx-000000000001",
"account_name": "Main Account",
"site_id": 1
}
]
}
Clone an existing DocuSign account

Creates a clone of an existing DocuSign account within the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
payloadAssetGroupAccountCloneYesThe account clone request specifying source account and target details.

Returns: AssetGroupAccountClone|error

Sample code:

dsadmin:AssetGroupAccountClone cloneReq = {
sourceAccount: {
id: "source-account-guid"
},
targetAccount: {
name: "Cloned Account"
}
};
dsadmin:AssetGroupAccountClone cloneResp = check docuSignClient->/v1/organizations/[organizationId]/assetGroups/accountClone.post(cloneReq);

Sample response:

{
"assetGroupWorkId": "clone-work-001",
"sourceAccount": {
"id": "source-account-guid"
},
"targetAccount": {
"name": "Cloned Account"
},
"status": "queued"
}
Gets all asset group account clones for an organization

Retrieves all account clone requests for the organization.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
queriesOrganizationProvisionAssetGroupGetAssetGroupAccountClonesByOrgIdQueriesNoQuery parameters for filtering and pagination.

Returns: AssetGroupAccountClones|error

Sample code:

dsadmin:AssetGroupAccountClones clones = check docuSignClient->/v1/organizations/[organizationId]/assetGroups/accountClones();

Sample response:

{
"assetGroupWorks": [
{
"assetGroupWorkId": "clone-work-001",
"status": "completed"
}
]
}
Gets information about a single cloned account

Retrieves the status and details of a specific account clone request.

Parameters:

NameTypeRequiredDescription
organizationIdstringYesThe organization's GUID.
assetGroupIdstringYesThe ID of the asset group.
assetGroupWorkIdstringYesThe ID of the asset group account clone request.

Returns: AssetGroupAccountClone|error

Sample code:

dsadmin:AssetGroupAccountClone cloneDetail = check docuSignClient->/v1/organizations/[organizationId]/assetGroups/[assetGroupId]/accountClones/[assetGroupWorkId]();

Sample response:

{
"assetGroupWorkId": "clone-work-001",
"sourceAccount": {
"id": "source-account-guid"
},
"targetAccount": {
"id": "target-account-guid",
"name": "Cloned Account"
},
"status": "completed"
}