---
title: "Users API endpoints"
description: "Endpoint reference for the Users tag (27 endpoints): User management, preferences, and system users"
type: "reference"
audience: [network-manager, admin]
keywords: [api, rest, endpoints, users]
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Users API endpoints

User management, preferences, and system users. 27 endpoints, generated from the OpenAPI spec. Authentication, the response envelope, pagination and error codes are shared by all endpoints — see [REST API overview](https://epom.com/ad-server/docs/api.md). Parameters marked `form` go in an `application/x-www-form-urlencoded` request body.

### GET /rest-api/aclrole/list.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-aclrole-list.md)

Get ACL role list.

No parameters beyond authentication.

**Responses:** `200` — JSON array of role objects, e.g. [{id: 1, name: 'publisher'}, ...]. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/action-log/mine.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-action-log-mine.md)

List my own action-log entries.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `from` | query | string | no | Only entries logged at or after this moment, ISO-8601 (e.g. 2026-10-05T08:00:00Z). Default: 24 hours ago |
| `start` | query | integer | no | Skip this many entries (zero-based position in the newest-first list). Default 0 |
| `limit` | query | integer | no | How many entries to return, 1-1000. Default 100 |

**Responses:** `200` — {success, entries:[{at, via, action, pathIds, details}], returned, more}. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/additional-entity-fields-configuration/delete.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-additional-entity-fields-configuration-delete.md)

Delete additional entity field.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | form | integer | no | Unique numeric identifier of the additional entity field to delete. If null or not found, the operation succeeds silently. |

**Responses:** `200` — JSON with 'success: true' indicating the field was deleted or did not exist. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/additional-entity-fields-configuration/edit.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-additional-entity-fields-configuration-edit.md)

Create or edit additional entity field.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | form | integer | no | ID of the field configuration to edit — omit to create a new one |
| `entityType` | form | string | no | Entity type this field applies to (BANNER, CAMPAIGN, PLACEMENT, SITE, ZONE, ADVERTISER) Values: `SITE`, `ZONE`, `PLACEMENT`, `ADVERTISER`, `CAMPAIGN`, `BANNER`. |
| `name` | form | string | no | Machine-readable field name (e.g., 'custom_field_1') |
| `title` | form | string | no | Human-readable field title displayed in the UI |

**Responses:** `200` — JSON with 'success: true' and the saved field object, or validation errors if input is invalid · `404` — No field with the id sent. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/additional-entity-fields-configuration/list.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-additional-entity-fields-configuration-list.md)

List additional entity fields.

No parameters beyond authentication.

**Responses:** `200` — SearchResult containing the list of AdditionalEntityField objects in 'data' and total count in 'total'. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/adunit/list.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-adunit-list.md)

Get ad unit list.

No parameters beyond authentication.

**Responses:** `200` — JSON array of ad unit objects, e.g. [{id, height, width, name, custom}, ...]. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/blocked/entities.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-blocked-entities.md)

List blocked entities.

No parameters beyond authentication.

**Responses:** `200` — JSON array of blocked entity target objects with associated entity details. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/forgot.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-forgot.md)

Request password reset.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `email` | form | string | no | Email address associated with the account |

**Responses:** `200` — Successful operation. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/notification-settings.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-notification-settings.md)

Read your notification settings.

No parameters beyond authentication.

**Responses:** `200` — {receiveNotificationsByEmail, templates:[{id, title, subscribed}], recipients:[e-mail]}. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/notification-settings/recipients.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-notification-settings-recipients.md)

Add a notification recipient.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `email` | form | string | no | E-mail address to add |

**Responses:** `200` — The settings after the change, in the shape of the GET. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/notification-settings/recipients.do

[Request examples](https://epom.com/ad-server/docs/api/users/delete-notification-settings-recipients.md)

Remove a notification recipient.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `email` | form | string | yes | The address to remove |

**Responses:** `200` — The settings after the change, in the shape of the GET · `404` — The address is not on the list. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/notification-settings/subscriptions.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-notification-settings-subscriptions.md)

Set your notification subscriptions.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `templateIds` | form | array&lt;string&gt; | yes | Ids of the notification events to subscribe to, comma-separated or repeated; empty to unsubscribe from all |

**Responses:** `200` — The settings after the change, in the shape of the GET. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/referral/getBilling.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-referral-getbilling.md)

Get referral billing.

No parameters beyond authentication.

**Responses:** `200` — SearchResult containing 'data' array of ReferralProgramBilling objects and 'total' count. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/register-user/{key}/{hash}/{timestamp}.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-register-user.md)

Register a new user.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `key` | path | string | yes | The network's public key, as set in its white-label settings. |
| `role` | form | string | no | User role type (ADMIN, ADVERTISER, PUBLISHER, NETWORK) Values: `ADMIN`, `PUBLISHER`, `ADVERTISER`, `ADVERTISER_STATISTICS_ACCOUNT`, `PUBLISHER_STATISTICS_ACCOUNT`, `NETWORK`, `CONTACT_US`. |
| `aclRole` | form | integer | no | ACL role defining user permissions — ID of the acl role |
| `accountUIStyle` | form | string | no | UI layout style preference (TREES, GRIDS) Values: `TREES`, `GRIDS`. |
| `active` | form | boolean | no | Whether the user account is active |
| `additionalRecipients` | form | string | no | Comma-separated list of additional notification email recipients |
| `additionalRecipientsPresent` | form | boolean | no | Whether additional email recipients are configured for notifications |
| `adsHost` | form | string | no | Custom ad serving domain for this user |
| `advancedAnalyticsView` | form | string | no | Advanced analytics view mode (SIMPLE, EXTENDED, UNIQUE) Values: `SIMPLE`, `EXTENDED`, `UNIQUE`. |
| `campaignSetupMasked` | form | boolean | no | Mask campaign setup details in the UI |
| `comments` | form | string | no | Internal notes and comments about the user |
| `compactMode` | form | boolean | no | Compact UI density preference; null means the client keeps its own default |
| `company` | form | string | no | Company name |
| `country` | form | string | no | Two-letter country code (ISO 3166-1 alpha-2) |
| `darkTheme` | form | boolean | no | Dark color theme preference; null means the client keeps its own default |
| `email` | form | string | no | User email address (must be unique) |
| `firstName` | form | string | no | First name |
| `hideReferralDetails` | form | boolean | no | Hide referral details from the user's dashboard |
| `lastName` | form | string | no | User's last (family) name |
| `locale` | form | string | no | User preferred UI locale/language (BCP-47 tag); when empty, the network's default language applies, then English |
| `owner` | form | integer | no | Parent/owner user (for sub-accounts) — ID of the user |
| `password` | form | string | no | User password (8-64 characters) |
| `paymentsAccountData` | form | string | no | Payment account data (bank/PayPal details as JSON) |
| `permissions` | form | array&lt;string&gt; | no | User-level permission overrides Values: `DSP_PARTNERS_ANALYTICS`, `USERS_MANAGEMENT`, `EMAIL_TEMPLATES_MANAGEMENT`, `FRAUD_PROTECTION_MANAGEMENT`, `PREFERENCES`, `NOTIFICATION_MANAGEMENT`, `WHITE_LABEL`, `ADVERTISING_CATEGORIES_MANAGEMENT`, `PUBLISHER_CATEGORIES_MANAGEMENT`, `CUSTOM_COUNTRY_GROUPS_MANAGEMENT`, `LABELS_MANAGEMENT`, `EMAIL_UNSUBSCRIBE_LIST_MANAGEMENT`, `TEMPLATE_MANAGEMENT`, `VPAID_FRAMEWORK_MANAGEMENT`, `TEST_PAGES_MANAGEMENT`, `ACTION_LOG`, `TROUBLESHOOTING_LOG_TASK_MANAGEMENT`, `ADMIN_PERMISSIONS_ROLE_MANAGEMENT`, `USER_PERMISSIONS_ROLE_MANAGEMENT`, `CUSTOM_SIZES_MANAGEMENT`, `CREATE_ADMIN_BASED_ROLE`, `REFERRAL_PROGRAM_BILLING`, `MULTI_COOKIE_SETTINGS`, `MANUAL_ANALYTICS_DATA_PROCESSING`, `MANUAL_ANALYTICS_COUNTRY_RATES` … (+21 more, 46 total). |
| `phone` | form | string | no | Phone number |
| `publisherCategories` | form | string | no | Publisher category IDs (transient, comma-separated) |
| `receiveNewsletter` | form | boolean | no | Opt in to receive newsletter emails |
| `receiveNotificationsByEmail` | form | boolean | no | Receive system notifications by email |
| `referer` | form | string | no | Referrer URL that brought the user to sign up |
| `referralId` | form | integer | no | Referral user ID if this user was referred by another user |
| `referralShareEnabled` | form | boolean | no | Whether referral revenue sharing is enabled for this user |
| `referredClientStatus` | form | string | no | Referred client status tracking the referral lifecycle Values: `UNDER_REVIEW`, `APPROVED`, `ACTIVE`, `INACTIVE`. |
| `state` | form | string | no | State or province |
| `tracking.campaign` | form | string | no | Campaign tracking parameter (UTM campaign name) |
| `tracking.page` | form | string | no | Landing page tracking parameter |
| `tracking.term` | form | string | no | Search term tracking parameter (UTM term) |
| `userTemplates` | form | array&lt;integer&gt; | no | Notification email templates assigned to this user — IDs of the notification template entities, comma-separated or as repeated parameters |
| `username` | form | string | no | Login username (must be unique) |
| `websiteUrl` | form | string | no | Website URL |
| `confirmPassword` | form | string | no | Password confirmation. Must match the 'password' field exactly; otherwise a validation error is returned. |

> **Note:** the `{hash}` and `{timestamp}` segments carry path-based hash authentication — see [REST API overview](https://epom.com/ad-server/docs/api.md#authentication).

**Responses:** `200` — User registered successfully (includes 'result' message) or validation errors returned in 'errors' map · `404` — Not found — resource does not exist. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/resetPasswordExec.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-resetpasswordexec.md)

Execute password reset.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `token` | form | string | yes | Single-use token from the password reset email link. |
| `newPass` | form | string | yes | The new password to set for the user account. |

**Responses:** `200` — Successful operation. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/system-users.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-system-users.md)

Get system users.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `roles` | query | string | no | Comma-separated list of ACL role IDs (e.g., '1,2') or role names (e.g., 'publisher,advertiser') to filter the results. If omitted, all system users are returned. |

**Responses:** `200` — JSON array of system user objects with user details. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/system-users/create-and-share.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-system-users-create-and-share.md)

Create a user and share advertisers or sites with them.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `email` | form | string | yes | E-mail address, unused so far; the invitation goes here |
| `login` | form | string | yes | Username the new account signs in with, unused so far, up to 64 characters |
| `role` | form | string | yes | Role id or name (case-insensitive). Must be a role your role may create users in; never an administrator role. |
| `advertiserIds` | form | array&lt;integer&gt; | no | Advertisers to share with the new user |
| `firstName` | form | string | no | Optional first name |
| `lastName` | form | string | no | Optional last name |
| `shareType` | form | string | no | Access the shares give: CAN_VIEW (default), CAN_EDIT or IS_OWNER Values: `IS_OWNER`, `CAN_EDIT`, `CAN_VIEW`. |
| `siteIds` | form | array&lt;integer&gt; | no | Sites to share with the new user |

**Responses:** `200` — User created: {success, userId, username, email, roleId, role, active, shareType, advertiserIds, siteIds, invitationSentTo} · `404` — An advertiser or site does not exist, is deleted or is not visible to the caller. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/system-users/search.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-system-users-search.md)

Search system users.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `activeOnly` | query | boolean | no | When true, only active (not deactivated) users are returned |
| `limit` | query | integer | no | Page size, 1 to 500 |
| `query` | query | string | no | Substring of the username, e-mail, first name or last name. Omit to list everyone visible. |
| `roles` | query | string | no | Comma-separated role ids or role names (case-insensitive), e.g. '4,Publisher'. Omit for every visible role. |
| `start` | query | integer | no | 0-based offset of the first user to return |

**Responses:** `200` — Page of users sorted by userId: {success, total, start, limit, users:[{userId, username, email, firstName, lastName, roleId, role, status, created, referer, referredUsers}]}. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/user-preference/change-password.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-user-preference-change-password.md)

Change user password.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `confirmPassword` | form | string | no | Confirmation of the new password (must match newPassword) |
| `currentPassword` | form | string | no | The user's current password for verification |
| `newPassword` | form | string | no | The new password to set (must meet password policy requirements) |

**Responses:** `200` — Password changed successfully. Response: {success: true}. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/user-preference/check-email.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-user-preference-check-email.md)

Check email uniqueness.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `email` | query | string | yes | The email address to check for uniqueness. URL-encoded if it contains special characters. |

**Responses:** `200` — Email check result. Response: {success: true, exist: true/false}. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/user-preference/get.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-user-preference.md)

Get user preferences.

No parameters beyond authentication.

**Responses:** `200` — User preferences returned in a 'preference' wrapper object. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/user-preference/save.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-user-preference-save.md)

Save user preferences.

**Request body** (`application/json`, required): JSON object with fields `accountUIStyle`, `aclRole`, `comments`, `company`, `country`, `email`, `firstName`, `lastName`, `password`, `phone`, `state`, `userId`, `username`, `websiteUrl`.

**Responses:** `200` — User preferences saved successfully. Response includes the updated 'preference' object. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/user-preference/update-profile.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-user-preference-update-profile.md)

Update own profile.

**Request body** (`application/json`, required): JSON object with fields `accountUIStyle`, `advancedAnalyticsView`, `compactMode`, `company`, `country`, `darkTheme`, `firstName`, `lastName`, `locale`, `phone`, `receiveNewsletter`, `receiveNotificationsByEmail`, `state`, `websiteUrl`.

**Responses:** `200` — Profile saved. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/user-sign-up/{key}/{hash}/{timestamp}.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-user-sign-up.md)

User sign-up.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `key` | path | string | yes | The network's public key, as set in its white-label settings. |
| `role` | form | string | no | User role type (ADMIN, ADVERTISER, PUBLISHER, NETWORK) Values: `ADMIN`, `PUBLISHER`, `ADVERTISER`, `ADVERTISER_STATISTICS_ACCOUNT`, `PUBLISHER_STATISTICS_ACCOUNT`, `NETWORK`, `CONTACT_US`. |
| `aclRole` | form | integer | no | ACL role defining user permissions — ID of the acl role |
| `accountUIStyle` | form | string | no | UI layout style preference (TREES, GRIDS) Values: `TREES`, `GRIDS`. |
| `active` | form | boolean | no | Whether the user account is active |
| `additionalRecipients` | form | string | no | Comma-separated list of additional notification email recipients |
| `additionalRecipientsPresent` | form | boolean | no | Whether additional email recipients are configured for notifications |
| `adsHost` | form | string | no | Custom ad serving domain for this user |
| `advancedAnalyticsView` | form | string | no | Advanced analytics view mode (SIMPLE, EXTENDED, UNIQUE) Values: `SIMPLE`, `EXTENDED`, `UNIQUE`. |
| `campaignSetupMasked` | form | boolean | no | Mask campaign setup details in the UI |
| `comments` | form | string | no | Internal notes and comments about the user |
| `compactMode` | form | boolean | no | Compact UI density preference; null means the client keeps its own default |
| `company` | form | string | no | Company name |
| `country` | form | string | no | Two-letter country code (ISO 3166-1 alpha-2) |
| `darkTheme` | form | boolean | no | Dark color theme preference; null means the client keeps its own default |
| `email` | form | string | no | User email address (must be unique) |
| `firstName` | form | string | no | First name |
| `hideReferralDetails` | form | boolean | no | Hide referral details from the user's dashboard |
| `lastName` | form | string | no | User's last (family) name |
| `locale` | form | string | no | User preferred UI locale/language (BCP-47 tag); when empty, the network's default language applies, then English |
| `owner` | form | integer | no | Parent/owner user (for sub-accounts) — ID of the user |
| `password` | form | string | no | User password (8-64 characters) |
| `paymentsAccountData` | form | string | no | Payment account data (bank/PayPal details as JSON) |
| `permissions` | form | array&lt;string&gt; | no | User-level permission overrides Values: `DSP_PARTNERS_ANALYTICS`, `USERS_MANAGEMENT`, `EMAIL_TEMPLATES_MANAGEMENT`, `FRAUD_PROTECTION_MANAGEMENT`, `PREFERENCES`, `NOTIFICATION_MANAGEMENT`, `WHITE_LABEL`, `ADVERTISING_CATEGORIES_MANAGEMENT`, `PUBLISHER_CATEGORIES_MANAGEMENT`, `CUSTOM_COUNTRY_GROUPS_MANAGEMENT`, `LABELS_MANAGEMENT`, `EMAIL_UNSUBSCRIBE_LIST_MANAGEMENT`, `TEMPLATE_MANAGEMENT`, `VPAID_FRAMEWORK_MANAGEMENT`, `TEST_PAGES_MANAGEMENT`, `ACTION_LOG`, `TROUBLESHOOTING_LOG_TASK_MANAGEMENT`, `ADMIN_PERMISSIONS_ROLE_MANAGEMENT`, `USER_PERMISSIONS_ROLE_MANAGEMENT`, `CUSTOM_SIZES_MANAGEMENT`, `CREATE_ADMIN_BASED_ROLE`, `REFERRAL_PROGRAM_BILLING`, `MULTI_COOKIE_SETTINGS`, `MANUAL_ANALYTICS_DATA_PROCESSING`, `MANUAL_ANALYTICS_COUNTRY_RATES` … (+21 more, 46 total). |
| `phone` | form | string | no | Phone number |
| `publisherCategories` | form | string | no | Publisher category IDs (transient, comma-separated) |
| `receiveNewsletter` | form | boolean | no | Opt in to receive newsletter emails |
| `receiveNotificationsByEmail` | form | boolean | no | Receive system notifications by email |
| `referer` | form | string | no | Referrer URL that brought the user to sign up |
| `referralId` | form | integer | no | Referral user ID if this user was referred by another user |
| `referralShareEnabled` | form | boolean | no | Whether referral revenue sharing is enabled for this user |
| `referredClientStatus` | form | string | no | Referred client status tracking the referral lifecycle Values: `UNDER_REVIEW`, `APPROVED`, `ACTIVE`, `INACTIVE`. |
| `state` | form | string | no | State or province |
| `tracking.campaign` | form | string | no | Campaign tracking parameter (UTM campaign name) |
| `tracking.page` | form | string | no | Landing page tracking parameter |
| `tracking.term` | form | string | no | Search term tracking parameter (UTM term) |
| `userTemplates` | form | array&lt;integer&gt; | no | Notification email templates assigned to this user — IDs of the notification template entities, comma-separated or as repeated parameters |
| `username` | form | string | no | Login username (must be unique) |
| `websiteUrl` | form | string | no | Website URL |

> **Note:** the `{hash}` and `{timestamp}` segments carry path-based hash authentication — see [REST API overview](https://epom.com/ad-server/docs/api.md#authentication).

**Responses:** `200` — User signed up successfully (includes 'result' and 'username') or validation errors returned · `404` — Not found — resource does not exist. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/user/update.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-user-update.md)

Update user info.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `usernameToUpdate` | form | string | yes | Username (login) of the target user whose profile should be updated. The user must exist in the system |
| `active` | form | boolean | no | Whether the user account is active |
| `adsHost` | form | string | no | Ad serving host domain |
| `aiChatMonthlyLimitUsd` | form | string | no | The user's monthly AI assistant budget in billed USD, 0 to 1000000. Send it empty to clear it, so the network default applies; leave it out to keep the current value. |
| `comments` | form | string | no | Admin comments about the user |
| `company` | form | string | no | Company name |
| `country` | form | string | no | Two-letter country code (ISO 3166-1 alpha-2) |
| `email` | form | string | no | User email address |
| `firstName` | form | string | no | First name |
| `lastName` | form | string | no | User's last (family) name |
| `login` | form | string | no | User login name (username) |
| `password` | form | string | no | User password (8-64 characters) |
| `phone` | form | string | no | Phone number |
| `receiveNewsletter` | form | boolean | no | Whether the user receives newsletters |
| `receiveNotificationsByEmail` | form | boolean | no | Whether the user receives notifications by email |
| `referer` | form | string | no | Referrer URL or identifier |
| `role` | form | integer | no | User role ID |
| `state` | form | string | no | State or region name |
| `uiStyle` | form | string | no | UI style preference Values: `TREES`, `GRIDS`. |
| `websiteUrl` | form | string | no | Website URL |

**Responses:** `200` — Operation result with success status. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/users/{username}/scheduledEvents.do

[Request examples](https://epom.com/ad-server/docs/api/users/get-users-scheduledevents.md)

Get user scheduled events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `username` | path | string | yes | Login username of the user whose scheduled events should be retrieved — the caller's own, or one whose role the caller's admin role manages |

**Responses:** `200` — Scheduled events retrieved successfully · `404` — No such user, or the user is neither the caller nor an account the caller's admin role manages. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/users/{username}/scheduledEvents/{scheduledEventId}.do

[Request examples](https://epom.com/ad-server/docs/api/users/post-users-scheduledevents.md)

Update user scheduled event.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `username` | path | string | yes | Login username of the user who owns the scheduled event — the caller's own, or one whose role the caller's admin role manages |
| `scheduledEventId` | path | integer | yes | Unique identifier of the scheduled event to update |
| `frequency` | form | integer | no | Frequency of the event (0-200). Omitted on update keeps it |
| `period` | form | integer | no | Period type: 1 = daily, 2 = weekly, 3 = monthly. Omitted on update keeps it |
| `startAt` | form | integer | no | Start time offset in minutes from midnight. Omitted on update keeps it |

**Responses:** `200` — Scheduled event updated successfully · `404` — No such user, the user is neither the caller nor an account the caller's admin role manages, or the user has no such scheduled event. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

## Related

- [REST API overview](https://epom.com/ad-server/docs/api.md) — authentication and conventions
- [API endpoint reference by tag](https://epom.com/ad-server/docs/api/endpoints.md)
- [Network services and miscellaneous APIs](https://epom.com/ad-server/docs/api/network-and-misc.md)

<!-- Generated from the OpenAPI spec. Do not edit by hand. -->