Auth routes that issue or recover credentials do not require an existing bearer token. Use the returned JWT as Authorization: Bearer {token} on protected AnswerPal API endpoints.
POST /api/Auth/login – No bearer tokenusername, password and hostname. On success the route returns a JWT token object.POST /api/Auth/phone-login – No bearer tokenphoneNumber and Twilio accountSid. The account SID must match the customer and the phone number must belong to a non-deleted channel.POST /api/Auth/impersonate-by-customer – Internal platform toolingPOST /api/Auth/login
Content-Type: application/json
{
"username": "agent@example.com",
"password": "correct horse battery staple",
"hostname": "app.answerpal.eu"
}200 OK
Content-Type: application/json
{
"token": "eyJhbGciOi..."
}usernamepasswordhostnamelocalhost bypasses hostname filtering for local development.phoneNumberaccountSidReserved for trusted platform tooling. Do not expose this route to browser or third-party client integrations.
POST /api/Auth/phone-login
Content-Type: application/json
{
"phoneNumber": "+3225550100",
"accountSid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}200 OK{ "token": "..." }.204 No Content400 Bad Request401 Unauthorized404 Not FoundPOST /api/Auth/login
Content-Type: application/json
{
"username": "agent@example.com",
"password": "correct horse battery staple",
"hostname": "app.answerpal.eu"
} 200 OK
Content-Type: application/json
{
"token": "eyJhbGciOi..."
} POST /api/Auth/phone-login
Content-Type: application/json
{
"phoneNumber": "+3225550100",
"accountSid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
} Password reset is a two-step flow: request a reset link by email and hostname, then submit the token GUID with a valid new password.
POST /api/Auth/request-password-reset – No bearer tokenemail and hostname. The reset request returns 200 OK even when no matching representative is found.POST /api/Auth/reset-password – No bearer tokennewPassword. Valid reset tokens expire after four hours and are removed after use.POST /api/Auth/request-password-reset
Content-Type: application/json
{
"email": "agent@example.com",
"hostname": "app.answerpal.eu"
}POST /api/Auth/reset-password
Content-Type: application/json
{
"token": "00000000-0000-0000-0000-000000000000",
"newPassword": "N3w-password!"
}usernamepasswordhostnamelocalhost bypasses hostname filtering for local development.phoneNumberaccountSidReserved for trusted platform tooling. Do not expose this route to browser or third-party client integrations.
emailhostnamelocalhost accepted for local development.tokennewPasswordsub, CustomerID, CustomerRepIDTimeZone, Locale, Countryrole, RolejtisubPhoneAuth.CustomerID, ChannelID, PhoneNumberjtiissuer, audience, lifetime, signing keyaccess_token queryaccess_token from the query string for /chatHub SignalR connections. Normal REST calls should send the Authorization header.After obtaining a JWT, send it as Authorization: Bearer {token} on protected endpoint pages such as Customers, Channels, Tickets, Topics, Actions and Documents. Phone-auth tokens are accepted only by policies that explicitly allow phone context.
No. Auth routes that issue or recover credentials do not require an existing bearer token. Use the returned JWT on protected API calls.
JWTs are issued with a 12-hour lifetime. Validation checks issuer, audience, lifetime and signing key.
Passwords must be at least 8 characters and include at least 3 of these 4 categories: digit, lowercase, uppercase and symbol.
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