UpdateTicket

Updates an existing ticket

Request Parameters

Parameter Type Description Required
action string “UpdateTicket” Required
ticketid int The ticket Id to update Required
deptid int The department id of the ticket Optional
status string The status of the ticket Optional
subject string The subject of the ticket Optional
userid int If applicable, the Client ID to update the ticket for. Optional
name string The name of the person opening the ticket (if not a client) Optional
email string The email address of the person opening the ticket (if not a client) Optional
cc string The cc email addresses for the ticket Optional
priority string The priority of the ticket (‘Low’, ‘Medium’, ‘High’) Optional
created string The date and time the initial message will show as created. Format: ISO8601 or YYYY-MM-DD HH:mm:ss Optional
flag int The id of the admin to flag the ticket to Optional
removeFlag bool Remove the flag from the ticket Optional
message string Update the ticket message Optional
markdown bool Should markdown be used on the ticket output. Optional
customfields string Base64 encoded serialized array of custom field values Optional
preventClientClosure bool Whether the client should be allowed to close the ticket. If you do not pass this while also passing a department id, tickets moving to a department with the setting enabled will inherit the department setting. Optional

Response Parameters

Parameter Type Description
result string The result of the operation: success or error
ticketid int The ticket id that has been updated

Example Request (CURL)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'UpdateTicket',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'ticketid' => '1',
            'subject' => 'This is a sample updated ticket subject',
            'clientid' => '1',
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

Example Request (Local API)

$command = 'UpdateTicket';
$postData = array(
    'ticketid' => '1',
    'subject' => 'This is a sample updated ticket subject',
    'clientid' => '1',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

Example Response JSON

{
    "result": "success",
    "ticketid": "1"
}

Error Responses

Possible error condition responses include:

  • Ticket ID Not Found
  • Department ID Not Found
  • Invalid Ticket Priority. Valid priorities are: Low,Medium,High
  • Invalid Ticket Status. Valid statuses are: xxx
  • Invalid Date Format
  • Ticket creation date cannot be in the future

Version History

Version Changelog
1.0 Initial Version
7.7 Added message parameter that allows updating primary ticket message.
8.0 Added support for ticket creation date.
8.11 Added optional preventClientClosure parameter to provide ability to allow client to close the ticket or not.