Skip to main content

UserAdd

Creates a new user account under the specified network and mailbox with the given credentials and authorization level.

:::caution Established API The SOAP API is in maintenance mode. For new integrations use the REST equivalent. :::

Method Signature

UserIDInfo UserAdd(string SessionID, int NetworkID, int MailboxID, string Login, string Password, string FirstName, string LastName, string Email, AuthLevel AuthLevel)

Parameters

ParameterTypeRequiredDescription
SessionIDstringYesActive session token from Login()
NetworkIDintYesNetwork to create the user under
MailboxIDintYesMailbox to associate the user with; use 0 for a network-level user
LoginstringYesUnique login name for the new user
PasswordstringYesInitial password — must satisfy complexity requirements
FirstNamestringYesUser's first name
LastNamestringYesUser's last name
EmailstringYesUser's email address
AuthLevelAuthLevelYesAuthorization level to assign to the new user

:::note Password Requirements Passwords must match: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^a-zA-Z0-9]).+$

At least one lowercase letter, one uppercase letter, one digit, and one special character are required. :::

Response Object — UserIDInfo

Returns the newly created UserIDInfo object.

FieldTypeDescription
UserIDintUnique identifier assigned to the new user
LoginstringLogin name
EmailstringEmail address
FirstNamestringFirst name
LastNamestringLast name
NetworkIDintNetwork the user belongs to
MailboxIDintMailbox the user belongs to
AuthLevelAuthLevelAuthorization level
StatusStatusInitial status (typically Active)
CreateddateTimeAccount creation timestamp
<!-- Example response XML -->
<UserIDInfo>
<UserID>5050</UserID>
<Login>newuser</Login>
<Email>newuser@example.com</Email>
<FirstName>Jane</FirstName>
<LastName>Doe</LastName>
<NetworkID>10</NetworkID>
<MailboxID>100</MailboxID>
<AuthLevel>MailboxUser</AuthLevel>
<Status>Active</Status>
<Created>2026-05-07T10:00:00</Created>
</UserIDInfo>

ENUMs

AuthLevel

ValueDescription
NoChangeNo change (not valid for UserAdd)
RootFull system access
TechOpsTechnical operations access
NetOpsNetwork operations access
NetworkAdminNetwork administrator
NetworkUserNetwork-level user
MailboxAdminMailbox administrator
MailboxUserMailbox-level user
TPUserTrading partner user
GeneralGeneral / limited access

Code Examples

// .NET 10 — dotnet-svcutil generated proxy
using ECGridOSClient;
using Microsoft.Extensions.Configuration;

var config = new ConfigurationBuilder().AddEnvironmentVariables().Build();
var initialPassword = config["NEW_USER_PASSWORD"]
?? throw new InvalidOperationException("NEW_USER_PASSWORD is not set.");

var client = new ECGridOSPortTypeClient();

// Create a new mailbox-level user
UserIDInfo newUser = await client.UserAddAsync(
sessionID,
NetworkID: 10,
MailboxID: 100,
Login: "newuser",
Password: initialPassword,
FirstName: "Jane",
LastName: "Doe",
Email: "newuser@example.com",
AuthLevel: AuthLevel.MailboxUser);

Console.WriteLine($"Created UserID: {newUser.UserID}");
Console.WriteLine($"Login: {newUser.Login}");
Console.WriteLine($"AuthLevel: {newUser.AuthLevel}");

REST Equivalent

See Create UserPOST /v2/users.