curl -X POST "<base_url>/usermanagement/v1/users" \
-H "X-AccessToken: YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"services": [
{
"slug": "rmd",
"subscriptionType": "paid",
"period": 30,
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "DD-MM-YYYY",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"subscriptionType": "paid",
"period": 30,
"assets": [
{ "type": "email", "value": "string" },
{ "type": "phone", "value": "string" },
{ "type": "domain", "value": "domain.com" }
]
}
]
}'
const res = await fetch("<base_url>/usermanagement/v1/users", {
method: "POST",
headers: {
"X-AccessToken": process.env.PUREWL_ACCESS_TOKEN,
"Content-Type": "application/json",
},
body: JSON.stringify({
uuid: "string",
subscriptionType: "paid",
period: 30,
services: [
{
slug: "rmd",
subscriptionType: "paid",
period: 30,
firstName: "string",
lastName: "string",
email: "string",
phoneNumber: "string",
dateOfBirth: "DD-MM-YYYY",
addressLine1: "string",
city: "string",
state: "string",
zipCode: "string",
countryId: 1,
countrySlug: "US",
},
{
slug: "dwm",
subscriptionType: "paid",
period: 30,
assets: [
{ type: "email", value: "string" },
{ type: "phone", value: "string" },
{ type: "domain", value: "domain.com" },
],
},
],
}),
});
const user = await res.json();
{
"header": {
"code": 1,
"message": "Account has been created successfully",
"response_code": 1
},
"body": {
"username": "string",
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"expiryDate": "17-07-2026",
"services": [
{
"slug": "rmd",
"period": 30,
"expiryDate": "17-07-2026",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "string",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"period": 30,
"expiryDate": "17-07-2026",
"assets": [
{
"type": "email",
"value": "string"
},
{
"type": "phone",
"value": "string"
},
{
"type": "domain",
"value": "domain.com"
}
]
}
]
}
}
User Management
Create a User
Create a user and onboard them to one or more services in a single call.
POST
/
usermanagement
/
v1
/
users
curl -X POST "<base_url>/usermanagement/v1/users" \
-H "X-AccessToken: YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"services": [
{
"slug": "rmd",
"subscriptionType": "paid",
"period": 30,
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "DD-MM-YYYY",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"subscriptionType": "paid",
"period": 30,
"assets": [
{ "type": "email", "value": "string" },
{ "type": "phone", "value": "string" },
{ "type": "domain", "value": "domain.com" }
]
}
]
}'
const res = await fetch("<base_url>/usermanagement/v1/users", {
method: "POST",
headers: {
"X-AccessToken": process.env.PUREWL_ACCESS_TOKEN,
"Content-Type": "application/json",
},
body: JSON.stringify({
uuid: "string",
subscriptionType: "paid",
period: 30,
services: [
{
slug: "rmd",
subscriptionType: "paid",
period: 30,
firstName: "string",
lastName: "string",
email: "string",
phoneNumber: "string",
dateOfBirth: "DD-MM-YYYY",
addressLine1: "string",
city: "string",
state: "string",
zipCode: "string",
countryId: 1,
countrySlug: "US",
},
{
slug: "dwm",
subscriptionType: "paid",
period: 30,
assets: [
{ type: "email", value: "string" },
{ type: "phone", value: "string" },
{ type: "domain", value: "domain.com" },
],
},
],
}),
});
const user = await res.json();
{
"header": {
"code": 1,
"message": "Account has been created successfully",
"response_code": 1
},
"body": {
"username": "string",
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"expiryDate": "17-07-2026",
"services": [
{
"slug": "rmd",
"period": 30,
"expiryDate": "17-07-2026",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "string",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"period": 30,
"expiryDate": "17-07-2026",
"assets": [
{
"type": "email",
"value": "string"
},
{
"type": "phone",
"value": "string"
},
{
"type": "domain",
"value": "domain.com"
}
]
}
]
}
}
Send a live request to
POST /usermanagement/v1/users with Try it. See the full reference for the response fields and error codes: Create a User.
Request Body
string
required
Unique external identifier for the user.
string
required
Default subscription type (e.g.
paid).number
Default subscription period in days, used when a service entry doesn’t override it.
array
required
One entry per service the user is onboarded to (see the service entry fields below).
Show service entry
Show service entry
string
required
Service slug, e.g.
rmd or dwm.string
User’s first name. Required for
rmd entries.string
User’s last name. Required for
rmd entries.string
User’s email address. Must be unique. Required for
rmd entries.string
User’s phone number. Must be unique. Required for
rmd entries.number
Subscription period in days for this service. Optional — falls back to the top-level
period.string
Per-service type —
trial or paid. Overrides the top-level value for this entry.string
Date of birth, format
DD-MM-YYYY.string
Street address (Line 1).
string
City name.
string
U.S. state (2-letter abbreviation, e.g.
CA, or full state name, e.g. California).string
U.S. ZIP or ZIP+4 postal code.
number
Numeric country identifier.
string
ISO country code / slug (e.g.
US).curl -X POST "<base_url>/usermanagement/v1/users" \
-H "X-AccessToken: YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"services": [
{
"slug": "rmd",
"subscriptionType": "paid",
"period": 30,
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "DD-MM-YYYY",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"subscriptionType": "paid",
"period": 30,
"assets": [
{ "type": "email", "value": "string" },
{ "type": "phone", "value": "string" },
{ "type": "domain", "value": "domain.com" }
]
}
]
}'
const res = await fetch("<base_url>/usermanagement/v1/users", {
method: "POST",
headers: {
"X-AccessToken": process.env.PUREWL_ACCESS_TOKEN,
"Content-Type": "application/json",
},
body: JSON.stringify({
uuid: "string",
subscriptionType: "paid",
period: 30,
services: [
{
slug: "rmd",
subscriptionType: "paid",
period: 30,
firstName: "string",
lastName: "string",
email: "string",
phoneNumber: "string",
dateOfBirth: "DD-MM-YYYY",
addressLine1: "string",
city: "string",
state: "string",
zipCode: "string",
countryId: 1,
countrySlug: "US",
},
{
slug: "dwm",
subscriptionType: "paid",
period: 30,
assets: [
{ type: "email", value: "string" },
{ type: "phone", value: "string" },
{ type: "domain", value: "domain.com" },
],
},
],
}),
});
const user = await res.json();
{
"header": {
"code": 1,
"message": "Account has been created successfully",
"response_code": 1
},
"body": {
"username": "string",
"uuid": "string",
"subscriptionType": "paid",
"period": 30,
"expiryDate": "17-07-2026",
"services": [
{
"slug": "rmd",
"period": 30,
"expiryDate": "17-07-2026",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"dateOfBirth": "string",
"addressLine1": "string",
"city": "string",
"state": "string",
"zipCode": "string",
"countryId": 1,
"countrySlug": "US"
},
{
"slug": "dwm",
"period": 30,
"expiryDate": "17-07-2026",
"assets": [
{
"type": "email",
"value": "string"
},
{
"type": "phone",
"value": "string"
},
{
"type": "domain",
"value": "domain.com"
}
]
}
]
}
}