All plans have 30% OFF For this week

Claim Discount

End Users

End Users API Reference

The End Users endpoint allows you to manage the individuals who interact with your organization via AnswerPal. End Users can be customers, employees, or any party whose tickets, chats, emails, or calls you want to track and automate. This endpoint supports creating, retrieving, updating, searching, and deleting end user records, as well as managing their unique identifiers (UIDs) such as email addresses or phone numbers.

Overview

End Users are the core entities representing people who interact with your support, sales, or internal helpdesk channels. Each End User can have multiple unique identifiers (UIDs), such as email addresses, phone numbers, or external system IDs, allowing for flexible matching and merging across different communication channels. This API lets you create, update, search, assign UIDs, and fetch ticket history for end users.

Endpoints

GET /api/EndUsers

Returns a paginated list of all end users for your organization. Supports search, sorting, and pagination. Query Parameters:

    • PageNumber (int, optional): Page number (default: 1)
    • PageSize (int, optional): Items per page (default: 10)
    • SortBy (string, optional): Field to sort by
    • SortOrder (string, optional): “asc” or “desc”
    • search (string, optional): Search string Response: PaginatedResult<EndUserReadDTO>

 GET /api/Actions/{id}

Retrieves a single End User by their unique ID. Path Parameter:

    • id (int): The unique End User ID Response: EndUserReadDTO

GET /api/EndUsers/byUid?uid={uid}

Retrieves all End Users associated with a given UID (email, phone, etc.). Query Parameter:

    • uid (string): The UID value to search for Response: List of EndUserReadDTO

POST /api/EndUsers

Creates a new End User. Request Body: EndUserCreateDTO Response: EndUserReadDTO

PUT /api/EndUsers/{id}

Updates an existing End User and their UIDs. Path Parameter:

    • id (int): The unique End User ID Request Body: EndUserUpdateDTO Response: 204 No Content

DELETE /api/EndUsers/{id}

Deletes an End User by ID. Path Parameter:

    • id (int): The unique End User ID Response: 204 No Content

POST /api/EndUserUIDs/assign

Assigns a new UID (email, phone, etc.) to an existing End User. Request Body: AssignUIDRequest Response: Object with new UID assignment

GET /api/EndUsers/{id}/tickets

Returns a paginated list of tickets associated with a given End User. Path Parameter:

id (int): The unique End User ID Response: PaginatedResult<TicketReadDTO>

Data Models

EndUserReadDTO (Response Object)

Returned when you retrieve an End User. Contains all properties of the user.
Property Type Description
EndUserID int Unique identifier for the End User.
CustomerID int The owning customer/organization ID.
FirstName string First name of the End User.
LastName string Last name of the End User.
DisplayName string Display name (may be auto-generated from first/last name).
Email string Primary email address.
Phone string Primary phone number.
CustomerRef string External reference or customer number, if available.
Notes string Free-text notes about the user.
UIDs EndUserUIDReadDTO[] List of unique identifiers (see below for properties).
DateCreated DateTime Date/time when the user was created (ISO 8601).
LastModified DateTime Date/time of last modification (ISO 8601).

EndUserUIDReadDTO

Each End User can have multiple UIDs (unique identifiers, such as emails or phone numbers).
Property Type Description
EndUserUIDID int Unique identifier for this UID entry.
UID string The unique identifier value (email, phone, external ID, etc.)
UIDType string Type of UID (“Email”, “Phone”, “External”, etc.)
IsPrimary bool Whether this UID is the user’s primary UID.

EndUserCreateDTO (Request Object)

Used when creating a new End User.
Property Type Required Description
FirstName string Yes First name of the End User.
LastName string Yes Last name of the End User.
DisplayName string No Display name (optional; if not provided, auto-generated).
Email string No Primary email address (optional, can also be set via UIDs).
Phone string No Primary phone number (optional, can also be set via UIDs).
CustomerRef string No External reference or customer number.
Notes string No Free-text notes about the user.
UIDs EndUserUIDCreateDTO[] No List of UIDs to assign on creation.

EndUserUIDCreateDTO

Used to assign UIDs when creating a new End User.
Property Type Required Description
UID string Yes The unique identifier value (email, phone, external ID, etc.)
UIDType string No Type of UID (“Email”, “Phone”, “External”, etc.). Defaults to “Email”.
IsPrimary bool No Whether this UID is the user’s primary UID.

EndUserUpdateDTO (Request Object)

Used when updating an End User. All fields are optional; only provide those you wish to update.
Property Type Required Description
FirstName string No First name of the End User.
LastName string No Last name of the End User.
DisplayName string No Display name.
Email string No Primary email address.
Phone string No Primary phone number.
CustomerRef string No External reference or customer number.
Notes string No Free-text notes about the user.
UIDs EndUserUIDUpdateDTO[] No List of UIDs to update, add, or remove.

EndUserUIDUpdateDTO

Used to update, add, or remove UIDs for an End User.
Property Type Required Description
EndUserUIDID int? No Existing UID ID (omit for new UID entries).
UID string Yes The unique identifier value (email, phone, external ID, etc.)
UIDType string No Type of UID (“Email”, “Phone”, “External”, etc.).
IsPrimary bool No Whether this UID is the user’s primary UID.
MarkAsDeleted bool No If true, this UID will be deleted.

AssignUIDRequest

Used for assigning a UID to an End User via the /api/EndUserUIDs/assign endpoint.
Property Type Required Description
UID string Yes The unique identifier value (email, phone, etc.)
EndUserID int Yes The End User to assign this UID to
UIDType string No Type of UID (“Email”, “Phone”, etc.). Defaults to “Email”.
IsPrimary bool No Whether this UID is the user’s primary UID.

Best Practices & Notes

  • Always provide at least one UID (email, phone, or external ID) for reliable user matching.
  • If merging users, ensure all relevant UIDs are assigned to the correct End User.
  • Use the IsPrimary flag to designate the main contact UID for communication.
  • Use the /byUid endpoint to find End Users across channels or external systems.
  • When updating, only provide fields you wish to change; others will remain unchanged.

FAQ

Yes, use the UIDs array to assign multiple identifiers to an End User.

Use EndUserUIDUpdateDTO with MarkAsDeleted: true for the desired UID.

Use GET /api/EndUsers/byUid?uid={email}.

The API will not duplicate UIDs; it will only link unique UIDs per End User.

Contact Support

Table of Contents

AnswerPal: AI-powered customer service solutions to elevate your support and communication effortlessly.

Contact

For all support, sales, and partnership inquiries, email us at info@answerpal.eu