| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Update Ticket
Modifies an existing ticket's status, priority, department assignment, subject, description, and associated contact or merchant information. A comment is required with every update to provide an audit trail for the change. This endpoint is used to progress tickets through their lifecycle — for example, marking a ticket Resolved after an Instant Funding request has been fulfilled.
Endpoint
POST /api/v1/tickets/update
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 when internal workflow changes need to be recorded against a ticket — such as escalating priority, transferring to a different department, or closing a resolved request. ISOs may use it to close tickets that no longer require action, while integration systems can use it to reflect status changes received through other channels.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
ticketId | integer (int32) | Yes | ID of the ticket to update. |
status | string (enum) | Yes | New ticket status: Resolved, Pending, or InProgress. |
comment | string | Yes | Reason or note describing the update. Required for all changes. |
merchantProfileId | integer (int32) | Yes | Merchant profile ID associated with the ticket. |
subject | string | Yes | Updated or unchanged ticket subject. |
description | string | Yes | Updated or unchanged ticket description. |
priority | string (enum) | No | Updated priority: Low, Medium, High, or Critical. |
department | string (enum) | No | Updated department: CustomerService or Underwriting. |
contactInformation | object | No | Updated contact details. |
contactInformation.firstName | string | No | Contact first name. |
contactInformation.lastName | string | No | Contact last name. |
contactInformation.phone | string | No | Contact phone number. |
contactInformation.fax | string | No | Contact fax number. |
contactInformation.email | string | No | Contact email address. |
contactInformation.mobilePhone | string | No | Contact mobile phone number. |
merchantInformation | object | No | Updated merchant context details. |
merchantInformation.dba | string | No | Merchant DBA name. |
merchantInformation.address | string | No | Merchant street address. |
merchantInformation.city | string | No | Merchant city. |
merchantInformation.state | string | No | Merchant state (2-letter code). |
merchantInformation.zip | string | No | Merchant ZIP code. |
merchantInformation.merchantType | string | No | Merchant business type. |
merchantInformation.phone | string | No | Merchant phone number. |
merchantInformation.fax | string | No | Merchant fax number. |
merchantInformation.webSite | string | No | Merchant website URL. |
merchantInformation.email | string | No | Merchant email address. |
merchantInformation.mobilePhone | string | No | Merchant mobile phone number. |
{
"ticketId": 48291,
"status": "Resolved",
"comment": "Instant Funding has been enabled for this merchant. All documentation reviewed and approved.",
"merchantProfileId": 70269,
"subject": "Instant Funding",
"description": "Please enable Instant Funding for this merchant. Banking application has been submitted.",
"priority": "Low",
"department": "Underwriting"
}Response
200 OK
| Field | Type | Description |
|---|---|---|
requestId | integer | Internal request tracking ID. |
success | boolean | true if the ticket was updated successfully. |
error | string | Error message if the operation failed. |
validationErrors | array | List of field-level validation issues. |
{
"requestId": 98134,
"success": true,
"error": null,
"validationErrors": []
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (ticketId, status, comment, merchantProfileId, subject, or description), or an invalid enum value for status, priority, or department. |
| 401 | Invalid or missing Basic Auth credentials. |
| 403 | User does not have permission for this operation. |
| 404 | Ticket not found for the given ticketId. |
| 500 | Internal server error. |
Common Mistakes
- Omitting the
commentfield — it is required on every update even if no substantive change in reasoning is needed. - Attempting to set
statustoNew— the update endpoint only acceptsResolved,Pending, orInProgress;Newis a creation-only state. - Not sending the current
subjectanddescriptionwhen only updatingstatus— these fields are required and will overwrite existing values if changed. - Using
merchantProfileIdfrom a different merchant — the ticket must belong to the specified merchant profile.
Related Endpoints
GET /api/v1/tickets/getTicketById— Retrieve current ticket details before updating to avoid overwriting data unintentionally.POST /api/v1/tickets/comment— Add a comment without changing ticket status or metadata.GET /api/v1/tickets/getTickets— List tickets to find those requiring status updates.
Example
curl -X POST https://hq.staging.netevia.dev/api/v1/tickets/update \
-H "Authorization: Basic $(echo -n 'username:password' | base64)" \
-H "Content-Type: application/json" \
-d '{
"ticketId": 48291,
"status": "Resolved",
"comment": "Instant Funding has been enabled for this merchant. All documentation reviewed and approved.",
"merchantProfileId": 70269,
"subject": "Instant Funding",
"description": "Please enable Instant Funding for this merchant. Banking application has been submitted.",
"priority": "Low",
"department": "Underwriting"
}'