Users
Manage user accounts in your organization. These endpoints are intended for SOAR (Security Orchestration, Automation and Response) integration and administrative automation.
All user endpoints require admin scopes — the API key owner must be an organization admin.
List users
GET /users
Returns a paginated list of users in the organization.
Scope: admin:users:read · Rate limit: Standard (300 req / min)
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | string | No | Maximum number of results per page. |
cursor | string | No | Pagination cursor from a previous response's nextCursor. |
email | string | No | Filter by partial email match. |
Response
{
"data": [
{
"id": "019abc12-3456-7890-abcd-ef1234567890",
"email": "alice@example.com",
"name": "Alice Johnson",
"disabled": false,
"createdAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-03-20T14:00:00.000Z"
}
],
"nextCursor": "019abc12-3456-7890-abcd-ef1234567899",
"totalCount": 42
}
Example
curl "https://<your-domain>.nomic.ai/api/v0/users?limit=25&email=alice" \
-H "Authorization: Bearer $NOMIC_API_KEY"
Get user details
GET /users/{id}
Returns detailed information about a single user, including counts of active API keys and sessions.
Scope: admin:users:read · Rate limit: Standard (300 req / min)
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string (uuid) | User ID. |
Response
{
"id": "019abc12-3456-7890-abcd-ef1234567890",
"email": "alice@example.com",
"name": "Alice Johnson",
"disabled": false,
"disabledAt": null,
"createdAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-03-20T14:00:00.000Z",
"apiKeyCount": 3,
"sessionCount": 1
}
| Field | Type | Description |
|---|---|---|
id | string (uuid) | User ID. |
email | string | User's email address. |
name | string or null | Display name. |
disabled | boolean | Whether the account is disabled. |
disabledAt | string (ISO 8601) or null | When the account was disabled, if applicable. |
createdAt | string (ISO 8601) | Account creation timestamp. |
updatedAt | string (ISO 8601) | Last update timestamp. |
apiKeyCount | number | Number of active API keys owned by this user. |
sessionCount | number | Number of active sessions. |
Example
curl "https://<your-domain>.nomic.ai/api/v0/users/019abc12-3456-7890-abcd-ef1234567890" \
-H "Authorization: Bearer $NOMIC_API_KEY"
Disable a user
POST /users/{id}/disable
Disables a user account and revokes all their API keys. Disabled users cannot log in or make API requests. The response includes the count of revoked keys.
Scope: admin:users:write · Rate limit: Write (60 req / min)
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string (uuid) | User ID. |
Request body (optional)
| Field | Type | Description |
|---|---|---|
reason | string | Reason for disabling (recorded in audit log). |
Response
{
"success": true,
"user": {
"id": "019abc12-3456-7890-abcd-ef1234567890",
"email": "alice@example.com",
"disabled": true,
"disabledAt": "2026-04-05T12:00:00.000Z"
},
"revokedApiKeys": 3
}
Errors
| Status | Cause |
|---|---|
401 | Missing or invalid API key. |
403 | API key lacks admin:users:write scope, or key owner is not an admin. |
404 | User not found. |
Example
curl -X POST "https://<your-domain>.nomic.ai/api/v0/users/019abc12-3456-7890-abcd-ef1234567890/disable" \
-H "Authorization: Bearer $NOMIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reason": "Compromised credentials" }'
Enable a user
POST /users/{id}/enable
Re-enables a previously disabled user account. The operation checks seat limits before enabling — if the organization has reached its user cap, the request will fail.
Scope: admin:users:write · Rate limit: Write (60 req / min)
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string (uuid) | User ID. |
Request body (optional)
| Field | Type | Description |
|---|---|---|
reason | string | Reason for enabling (recorded in audit log). |
Response
{
"success": true,
"user": {
"id": "019abc12-3456-7890-abcd-ef1234567890",
"email": "alice@example.com",
"disabled": false
}
}
Errors
| Status | Cause |
|---|---|
401 | Missing or invalid API key. |
403 | API key lacks admin:users:write scope, or key owner is not an admin. |
404 | User not found. |
409 | Organization has reached its seat limit. |
Example
curl -X POST "https://<your-domain>.nomic.ai/api/v0/users/019abc12-3456-7890-abcd-ef1234567890/enable" \
-H "Authorization: Bearer $NOMIC_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "reason": "Credentials rotated" }'