Representatives are the users who handle tickets and configure AnswerPal. Access is scoped by role: administrators can manage users, while non-admin users can update only their own profile and cannot change their role.
| Method | Path | Access | Purpose |
|---|---|---|---|
| GET | /api/CustomerReps | ManageUsers | Return paginated representatives. Optional query: pageNumber, pageSize. |
| GET | /api/CustomerReps/assignable | Administrator/Supervisor | Return representatives that can receive assignments. |
| GET | /api/CustomerReps/me | Bearer JWT | Return current representative profile. |
| GET | /api/CustomerReps/{id} | ManageUsers | Return one representative in the authenticated customer. |
| POST | /api/CustomerReps | Conditional access | Create a representative; anonymous bootstrap is only allowed for first-user setup. |
| PUT | /api/CustomerReps/{id} | Bearer JWT | Update a representative. Non-admins can update only themselves and cannot change role. |
| DELETE | /api/CustomerReps/{id} | ManageUsers | Delete a representative. |
| Method | Path | Access | Purpose |
|---|---|---|---|
| POST | /api/CustomerReps/{id}/activate | ManageUsers | Activate a representative; user limit conflicts return UserLimitExceeded. |
| POST | /api/CustomerReps/{id}/deactivate | ManageUsers | Deactivate a representative. |
| PUT | /api/CustomerReps/{id}/change-password | Bearer JWT | Change a password for self or, as admin, another representative in the same customer. |
| Method | Path | Access | Purpose |
|---|---|---|---|
| GET | /api/CustomerReps/{id}/signatures | Bearer JWT | List representative signatures. |
| POST | /api/CustomerReps/{id}/signatures | Bearer JWT | Create or update a language-specific signature. |
| GET | /api/CustomerReps/{id}/signatures/{lang} | Bearer JWT | Read one language-specific signature. |
| DELETE | /api/CustomerReps/{id}/signatures/{lang} | Bearer JWT | Delete one language-specific signature. |
The role field uses the backend UserRole enum. The API serializes enum values as strings; numeric values are shown here because the backend, database and frontend mirror the same ordering.
| Area | Fields | Notes |
|---|---|---|
0 | RestrictedUser | Can only see and act on tickets assigned to them. |
1 | Agent | Can work on their own tickets and unassigned tickets. |
2 | Supervisor | Can work on all tickets for their customer and view reports, but cannot manage settings or users. |
3 | Configurator | Can manage functional settings such as topics, hooks, channels, models and translations, but cannot manage users or billing. |
4 | Administrator | Full access, including user and role management, billing visibility, settings and reports. |
5 | Analyst | Read-only access to reporting dashboards; no ticket or settings access. |
Representative roles are also used by named authorization policies.
| Area | Fields | Notes |
|---|---|---|
| TicketAccess | RestrictedUser, Agent, Supervisor, Configurator, Administrator | Analyst is excluded from ticket operations. |
| ManageSettings | Configurator, Administrator | Allows settings changes such as channels, topics, hooks, models and translations. |
| ManageUsers | Administrator | Required for representative user management endpoints. |
| ViewReports | Supervisor, Configurator, Administrator, Analyst | Used by reporting endpoints such as storage and cost reports. |
| ViewBilling | Administrator | Billing visibility is admin-only. |
| ImportEmails | Agent, Supervisor, Configurator, Administrator | Used for email import capability. |
Representative user profile and role payloads.
| Area | Fields | Notes |
|---|---|---|
| Create credentials | username, password | Required on create. Username max 254; password minimum 6. |
| Identity | customerRepID, username | customerRepID is returned on read and required on update/password change. |
| Profile | name, email, phoneNumber, otherDetails | Email must be valid; phone number must start with + and contain at least 5 digits when supplied. |
| Localization | timeZone, locale, countryCode | Optional localization values. |
| Role and state | role, isActive | role uses the UserRole enum above. Non-admin users cannot change their own role. |
| Legacy/default signatures | emailSignatureHTML, emailSignatureText | Representative-level signature content. Language-specific signatures have dedicated endpoints. |
Small request bodies for representative subresources.
| Area | Fields | Notes |
|---|---|---|
| Signature | lang, emailSignatureHTML, emailSignatureText | lang is also the route parameter for read/delete. |
| Password change | customerRepID, currentPassword, newPassword | Admins can change another representative in the same customer; users can change their own password. |
AnswerPal: AI-powered customer service solutions to elevate your support and communication effortlessly.
For all support, sales, and partnership inquiries, email us at info@answerpal.eu
AnswerPal
Bisschoppenhoflaan 380
2100 Antwerp
Belgium
+32.36416685
BE 0862.692.858