User management
Every user in OpusDNS belongs to exactly one organization. A user in your parent organization can manage all suborganizations and their resources. A user created inside a suborganization is scoped to that suborganization only — they cannot see or access other organizations.
Each user has a globally unique username and email address, and can hold custom attributes for your integration needs. Access and security settings are managed through the OpusDNS Dashboard.
Creating a user
Create a new user within your organization. The user will belong to the organization that your API key is scoped to:
curl "$OPUSDNS_API_BASE/v1/users" \
--request POST \
--header "X-Api-Key: $OPUSDNS_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"username": "jane.doe",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe",
"locale": "en"
}'
User fields
| Field | Required | Description |
|---|---|---|
username |
Yes | Unique username (globally unique across OpusDNS). |
email |
No | Email address (globally unique). |
first_name |
No | First name. |
last_name |
No | Last name. |
locale |
No | Preferred locale (e.g., en, de). |
phone |
No | Phone number. |
user_attributes |
No | Custom key-value attributes. |
Listing users
List all users in your organization:
curl "$OPUSDNS_API_BASE/v1/organizations/users?page=1&page_size=25" \
--header "X-Api-Key: $OPUSDNS_API_KEY"
| Parameter | Description |
|---|---|
sort_by |
Sort by created_on, username, or email. |
sort_order |
asc or desc. |
Getting user details
Retrieve the currently authenticated user:
curl "$OPUSDNS_API_BASE/v1/users/me" \
--header "X-Api-Key: $OPUSDNS_API_KEY"
Or get a specific user by ID:
curl "$OPUSDNS_API_BASE/v1/users/user_01h45ytscbebyvny4gc8cr8ma2" \
--header "X-Api-Key: $OPUSDNS_API_KEY"
Both return the user record:
{
"user_id": "user_01h45ytscbebyvny4gc8cr8ma2",
"organization_id": "organization_01h35xrscbebyvny4gc8cr8ma2",
"username": "jane.doe",
"email": "jane@example.com",
"first_name": "Jane",
"last_name": "Doe",
"locale": "en",
"status": "active",
"created_on": "2026-01-15T10:00:00Z"
}
You can request specific attributes by passing attributes[] query
parameters:
curl --get "$OPUSDNS_API_BASE/v1/users/user_01h45ytscbebyvny4gc8cr8ma2" \
--header "X-Api-Key: $OPUSDNS_API_KEY" \
--data-urlencode "attributes=department" \
--data-urlencode "attributes=team"
Updating a user
Update user fields with a PATCH request:
curl "$OPUSDNS_API_BASE/v1/users/user_01h45ytscbebyvny4gc8cr8ma2" \
--request PATCH \
--header "X-Api-Key: $OPUSDNS_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"first_name": "Jane",
"last_name": "Smith",
"locale": "de"
}'
Only include the fields you want to change.
Deleting a user
Remove a user from the organization:
curl "$OPUSDNS_API_BASE/v1/users/user_01h45ytscbebyvny4gc8cr8ma2" \
--request DELETE \
--header "X-Api-Key: $OPUSDNS_API_KEY"
You cannot delete yourself or the last admin user in an organization. These operations return a conflict error.

