Users
Manage team members in your customer account.
Overview
Users are team members within your customer account. Each user can have their own API keys and access to the dashboard.
Required scopes: users:read, users:write
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/users | Create a user |
GET | /v1/users | List all users |
GET | /v1/users/{user_id} | Get user details |
PUT | /v1/users/{user_id} | Update a user |
DELETE | /v1/users/{user_id} | Delete a user |
Create a User
curl -X POST https://api.dnscale.eu/v1/users \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "developer@example.com",
"name": "Jane Developer",
"role": "member"
}'Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | User's email address |
name | string | Yes | User's display name |
role | string | No | Role: admin, member (default: member) |
Response:
{
"status": "success",
"data": {
"id": "user_abc123",
"email": "developer@example.com",
"name": "Jane Developer",
"role": "member",
"created_at": "2025-01-15T10:30:00Z"
}
}Email Verification
New users receive an email verification link. They must verify their email before accessing the dashboard.
List Users
Retrieve all users in your account:
curl "https://api.dnscale.eu/v1/users?limit=20&offset=0" \
-H "Authorization: Bearer YOUR_API_KEY"Response:
{
"status": "success",
"data": {
"items": [
{
"id": "user_abc123",
"email": "admin@example.com",
"name": "Admin User",
"role": "admin"
},
{
"id": "user_def456",
"email": "developer@example.com",
"name": "Jane Developer",
"role": "member"
}
],
"total": 2,
"limit": 20,
"offset": 0
}
}Get User Details
curl https://api.dnscale.eu/v1/users/{user_id} \
-H "Authorization: Bearer YOUR_API_KEY"Update a User
curl -X PUT https://api.dnscale.eu/v1/users/{user_id} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Jane Smith",
"role": "admin"
}'Updatable Fields:
| Field | Type | Description |
|---|---|---|
name | string | User's display name |
role | string | User's role |
Delete a User
curl -X DELETE https://api.dnscale.eu/v1/users/{user_id} \
-H "Authorization: Bearer YOUR_API_KEY"User Deletion
Deleting a user also deletes all their API keys. This action is irreversible.
User API Keys
API keys are managed under individual users. See Authentication for details.
| Method | Endpoint | Description |
|---|---|---|
POST | /v1/users/{user_id}/apikeys | Create API key |
GET | /v1/users/{user_id}/apikeys | List API keys |
GET | /v1/users/{user_id}/apikeys/{key_id} | Get API key details |
DELETE | /v1/users/{user_id}/apikeys/{key_id} | Delete API key |
Roles
| Role | Permissions |
|---|---|
admin | Full access to all resources and settings |
member | Access to zones and records, limited account settings |
Example: Onboard a New Team Member
# 1. Create the user
USER_ID=$(curl -s -X POST https://api.dnscale.eu/v1/users \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "newdev@example.com",
"name": "New Developer",
"role": "member"
}' | jq -r '.data.id')
# 2. Create an API key for the user
curl -X POST https://api.dnscale.eu/v1/users/$USER_ID/apikeys \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Development Key",
"scopes": ["zones:read", "records:read", "records:write"]
}'