| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Get Tickets
Returns a paginated list of ticket summary records, optionally filtered by date range, status, department, merchant, category, sub-category, or attachment presence. This is the primary endpoint for building ticket dashboards and monitoring open requests across all merchants managed by an ISO.
Endpoint
GET /api/v1/tickets/getTickets
Authentication
Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:
Authorization: Basic {base64(username:password)}
When to use
Use this endpoint to generate a list view of tickets for operational monitoring — for example, to find all open Underwriting tickets created in the last 30 days, or to identify which merchants have tickets in Pending status. Combine with pagination parameters to handle large portfolios efficiently.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
createdFrom | string (date-time) | No | Filter tickets created on or after this ISO 8601 timestamp. |
createdTo | string (date-time) | No | Filter tickets created on or before this ISO 8601 timestamp. |
status | string (enum) | No | Filter by ticket status: Resolved, New, Pending, InProgress. |
merchantId | integer (int32) | No | Filter tickets for a specific merchant profile ID. |
department | string (enum) | No | Filter by department: CustomerService or Underwriting. |
category | string | No | Filter by ticket category string. |
subCategory | string | No | Filter by ticket sub-category string. |
hasAttachment | boolean | No | If true, return only tickets that have at least one attachment. |
pageNumber | integer (int32) | No | Page number for pagination (1-based). Defaults to 1. |
pageSize | integer (int32) | No | Number of records per page. Defaults to server-defined maximum. |
Response
200 OK
| Field | Type | Description |
|---|---|---|
pageNumber | integer | Current page number returned. |
pageSize | integer | Number of records per page. |
totalCount | integer | Total number of tickets matching the filter criteria. |
items | array | List of ticket detail objects for the current page. |
items[].ticketId | integer | Unique ticket ID. |
items[].status | string | Current status: New, Pending, InProgress, or Resolved. |
items[].merchantProfileId | integer | Merchant profile ID linked to the ticket. |
items[].dba | string | Merchant DBA name. |
items[].subject | string | Ticket subject. |
items[].priority | string | Ticket priority: Low, Medium, High, or Critical. |
items[].department | string | Assigned department. |
items[].description | string | Full ticket description. |
items[].category | string | Ticket category. |
items[].subCategory | string | Ticket sub-category. |
items[].assigned | string | Assigned agent name or username. |
items[].resolution | string | Resolution notes if the ticket is closed. |
items[].type | string | Ticket type classification. |
items[].created | string (date-time) | ISO 8601 creation timestamp. |
items[].updated | string (date-time) | ISO 8601 last-updated timestamp. |
items[].hasAttachment | boolean | true if attachments exist on the ticket. |
items[].creationType | string | How the ticket was created (API, Portal, etc.). |
requestId | integer | Internal request tracking ID. |
success | boolean | true if the request completed successfully. |
error | string | Error message if the operation failed. |
validationErrors | array | List of field-level validation issues. |
{
"pageNumber": 1,
"pageSize": 20,
"totalCount": 47,
"items": [
{
"ticketId": 48291,
"status": "InProgress",
"merchantProfileId": 70269,
"dba": "Sunshine Retail LLC",
"subject": "Instant Funding",
"priority": "Low",
"department": "Underwriting",
"description": "Please enable Instant Funding for this merchant.",
"category": "Funding",
"subCategory": "Instant Funding",
"assigned": "[email protected]",
"resolution": null,
"type": "Request",
"created": "2026-05-15T09:00:00Z",
"updated": "2026-05-20T14:32:00Z",
"hasAttachment": true,
"creationType": "API"
},
{
"ticketId": 48305,
"status": "New",
"merchantProfileId": 70315,
"dba": "Harbor Coffee Co",
"subject": "Chargeback Inquiry",
"priority": "Medium",
"department": "CustomerService",
"description": "Merchant received chargeback on transaction 8843221.",
"category": "Chargebacks",
"subCategory": null,
"assigned": null,
"resolution": null,
"type": "Inquiry",
"created": "2026-05-22T11:15:00Z",
"updated": "2026-05-22T11:15:00Z",
"hasAttachment": false,
"creationType": "Portal"
}
],
"requestId": 98131,
"success": true,
"error": null,
"validationErrors": []
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Invalid query parameter values — for example, a malformed date-time string or an invalid enum value for status or department. |
| 401 | Invalid or missing Basic Auth credentials. |
| 403 | User does not have permission for this operation. |
| 404 | Ticket or resource not found. |
| 500 | Internal server error. |
Common Mistakes
- Using date strings without timezone information — always supply ISO 8601 timestamps with a timezone offset (e.g.,
2026-05-01T00:00:00Z). - Not supplying
pageNumberandpageSizeon large portfolios, which may result in slow responses or truncated result sets. - Filtering by
categoryorsubCategoryusing display names that differ from the internal enum values stored on the ticket. - Expecting
itemsto be populated when there are no matching tickets — an empty array is a valid response.
Related Endpoints
GET /api/v1/tickets/getTicketById— Retrieve full detail for a specific ticket from this list.POST /api/v1/tickets/create— Create a new ticket.POST /api/v1/tickets/update— Update the status of a ticket returned in this list.
Example
curl -X GET "https://hq.staging.netevia.dev/api/v1/tickets/getTickets?status=InProgress&department=Underwriting&pageNumber=1&pageSize=20" \
-H "Authorization: Basic $(echo -n 'username:password' | base64)"