Create Support Ticket on Login
This endpoint creates a support ticket associated with a specific user account, identified by nickname or login name. It is intended for scenarios where a support ticket must be raised at or near the login flow, before a full user session is established. The request includes the ticket topic, message text, and an optional field-update request type to categorize the nature of the support inquiry.
Endpoint
POST /api/support/createTicketOnLogin
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a user encounters an issue during or immediately after login and a support ticket needs to be created on their behalf using their login identifier rather than a resolved profile ID. This is also appropriate when support agents or partner systems need to log a ticket tied to a user account without initiating a full authenticated user session. Common use cases include login failures, locked accounts, and pre-session profile update requests (e.g., email or phone change).
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| nickNameOrLogin | string | Yes | The user's nickname or login identifier. Minimum length: 1. |
| text | string | Yes | The body/message of the support ticket. Minimum length: 1. |
| topicId | integer (int32) | No | ID of the support topic category to assign to the ticket. |
| updateFieldRequest | string (enum) | No | Specifies the type of profile field update being requested. See enum values below. |
| ticketType | integer (int32) | No | Numeric type code for the ticket. Allowed values: 1, 2, 21, 24, 26. |
updateFieldRequest enum values:
Email, Phone, Address, PrimAuthEmail, PrimAuthPhone, PrimAuthAddress, Owner1Email, Owner1Phone, Owner1Address, Owner2Email, Owner2Phone, Owner2Address, Owner3Email, Owner3Phone, Owner3Address, Owner4Email, Owner4Phone, Owner4Address, Employer, EmployerIdentificationNumber, BusinessStartDate, DateOfBirth, Ssn, GivenName, MiddleName, FamilyName, DoingBusinessAsName, LegalBusinessName, LoanApprove
{
"nickNameOrLogin": "[email protected]",
"text": "I am unable to log in to my account and need assistance resetting my credentials.",
"topicId": 3,
"updateFieldRequest": "Email",
"ticketType": 1
}Response
200 OK
| Field | Type | Description |
|---|---|---|
| ticketId | integer (int32) | Unique identifier for the created support ticket. |
| ticketTopicId | integer (int32) | ID of the topic assigned to the ticket. |
| ticketTopic | object | Object containing details about the ticket topic. |
| ticketTopic.id | integer (int32) | Topic ID. |
| ticketTopic.name | string / null | Name of the topic. |
| ticketTopic.responseTime | string / null | Expected response time description for this topic. |
| ticketTopic.isDeleted | boolean | Indicates whether the topic has been deleted. |
| ticketTopic.isHidden | boolean | Indicates whether the topic is hidden from end users. |
| userProfileId | integer (int32) | ID of the user profile associated with the ticket. |
| created | string (date-time) | ISO 8601 timestamp of when the ticket was created. |
| text | string / null | The message body submitted with the ticket. |
| parentTicketId | integer (int32) / null | ID of the parent ticket if this is a follow-up ticket; null otherwise. |
| isNew | boolean | Indicates whether the ticket is newly created and unread. |
| updateFieldRequest | string (enum) | The profile field update type associated with the ticket, if any. |
| ipAddress | string / null | IP address from which the ticket was submitted, if captured. |
{
"ticketId": 10482,
"ticketTopicId": 3,
"ticketTopic": {
"id": 3,
"name": "Account Access",
"responseTime": "Within 24 hours",
"isDeleted": false,
"isHidden": false
},
"userProfileId": 20091,
"created": "2026-06-08T14:32:00Z",
"text": "I am unable to log in to my account and need assistance resetting my credentials.",
"parentTicketId": null,
"isNew": true,
"updateFieldRequest": "Email",
"ipAddress": "192.168.1.100"
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (nickNameOrLogin or text), values below minimum length, or invalid enum value for updateFieldRequest or ticketType |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to create tickets on behalf of users |
| 404 | User account matching nickNameOrLogin not found |
| 500 | Internal server error |
Common Mistakes
- Omitting
nickNameOrLoginortext, both of which are required — the request will fail with a 400 error. - Passing an empty string for
nickNameOrLoginortext; both have a minimum length of 1. - Using an invalid
updateFieldRequestvalue not present in the enum list — ensure the exact casing matches (e.g.,"Ssn"not"SSN"). - Using a
ticketTypeinteger not in the allowed set (1,2,21,24,26) — other values will be rejected. - Sending the request with an expired Bearer token; tokens last 10 minutes and must be refreshed via
/api/auth/refresh.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an expiring Bearer tokenPOST /api/support/createTicket— Create a support ticket for an authenticated user session
Example
curl -X POST https://api.banking.netevia.dev/api/support/createTicketOnLogin \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"nickNameOrLogin": "[email protected]",
"text": "I am unable to log in to my account and need assistance resetting my credentials.",
"topicId": 3,
"updateFieldRequest": "Email",
"ticketType": 1
}'