---
updatedAt: 2026-06-09T17:02:17.000Z
agentTools:
  projectIndex: https://hq.docs.netevia.com/llms.txt
---

# /api/v1/tickets/getTickets

## 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.                         |

```json
{
  "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": "underwriter@netevia.com",
      "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 `pageNumber` and `pageSize` on large portfolios, which may result in slow responses or truncated result sets.
* Filtering by `category` or `subCategory` using display names that differ from the internal enum values stored on the ticket.
* Expecting `items` to 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

```bash
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)"
```

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "v1",
    "title": "Netevia HQ | API Documentation",
    "description": "Netevia HQ | API Documentation"
  },
  "paths": {
    "/api/v1/tickets/getTickets": {
      "get": {
        "tags": [
          "Ticket"
        ],
        "operationId": "Ticket_GetTickets",
        "parameters": [
          {
            "name": "createdFrom",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "createdTo",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Resolved",
                "New",
                "Pending",
                "InProgress"
              ]
            }
          },
          {
            "name": "merchantId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "department",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CustomerService",
                "Underwriting",
                "VpayLife",
                "VpayLifeDeployment"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subCategory",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hasAttachment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPagedResult1_TicketDetailsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPagedResult1_TicketDetailsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPagedResult1_TicketDetailsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPagedResult1_TicketDetailsResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "Basic": []
    }
  ],
  "servers": [
    {
      "url": "https://hq.staging.netevia.dev"
    }
  ],
  "components": {
    "securitySchemes": {
      "Basic": {
        "type": "http",
        "description": "Basic HTTP Authentication",
        "scheme": "basic"
      }
    },
    "schemas": {
      "ValidationError": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "error": {
            "type": "string"
          }
        }
      },
      "ApiPagedResult1_TicketDetailsResponse": {
        "type": "object",
        "properties": {
          "pageNumber": {
            "format": "int32",
            "type": "integer"
          },
          "pageSize": {
            "format": "int32",
            "type": "integer"
          },
          "totalCount": {
            "format": "int32",
            "type": "integer"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TicketDetailsResponse"
            }
          },
          "data": {
            "$ref": "#/components/schemas/TicketDetailsResponse"
          },
          "requestId": {
            "format": "int32",
            "type": "integer"
          },
          "success": {
            "type": "boolean"
          },
          "error": {
            "type": "string"
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            }
          }
        }
      },
      "TicketDetailsResponse": {
        "type": "object",
        "properties": {
          "ticketId": {
            "format": "int32",
            "type": "integer"
          },
          "status": {
            "type": "string"
          },
          "merchantProfileId": {
            "format": "int32",
            "type": "integer"
          },
          "dba": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "priority": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "subCategory": {
            "type": "string"
          },
          "assigned": {
            "type": "string"
          },
          "resolution": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "format": "date-time",
            "type": "string"
          },
          "updated": {
            "format": "date-time",
            "type": "string"
          },
          "hasAttachment": {
            "type": "boolean"
          },
          "creationType": {
            "type": "string"
          }
        }
      }
    }
  }
}
```