update_ticket
Update Request Tracker tickets: pass changed fields directly—status, owner, queue, priority, dates, subject, custom fields. Use Add/Delete link parameters to preserve existing relations.
Instructions
Update an existing ticket. Pass each property to change as a top-level parameter (e.g. Due, Status, Owner) — do NOT use a nested "fields" object. Links are changed only with the Add/Delete fields below: a bare relation name such as RefersTo, Parent or Children is refused, because RT would treat it as the complete list for that relation and silently remove every other link of the type.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| Cc | No | Cc username(s) — replaces existing list (string or array of strings) | |
| id | Yes | Ticket ID | |
| Due | No | Due datetime (format: "YYYY-MM-DD HH:MM:SS" in local time) | |
| Told | No | Last Contact datetime, labeled "Told" in RT (format: "YYYY-MM-DD HH:MM:SS" in local time) | |
| Type | No | Ticket type (e.g. "ticket", "reminder") | |
| Owner | No | New owner username | |
| Queue | No | Move to this queue | |
| Starts | No | Starts datetime (format: "YYYY-MM-DD HH:MM:SS" in local time) | |
| Status | No | New status (e.g. open, resolved, rejected) | |
| AdminCc | No | AdminCc username(s) — replaces existing list (string or array of strings) | |
| Started | No | Started datetime (format: "YYYY-MM-DD HH:MM:SS" in local time) | |
| Subject | No | New subject | |
| AddChild | No | Add Child links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| Priority | No | New priority, as a number or as one of the labels this RT displays (e.g. Low, Medium, High). Labels are configured per queue and are case-sensitive, so use the exact label RT shows; when in doubt pass a number. RT does not reject a label it does not recognize, and does not reject a label at all on an installation with priority labels turned off: it sets the priority to 0, the lowest, and reports success. The response names the change RT made ("Priority changed from X to Y"), so check that the label it landed on is the one you asked for and tell the user if it is not. | |
| AddParent | No | Add Parent links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| Requestor | No | Requestor username(s) — replaces existing list (string or array of strings) | |
| AddRefersTo | No | Add RefersTo links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| CustomRoles | No | Custom role assignments as {role_name: username_or_array} | |
| DeleteChild | No | Remove specific Child links. One ticket ID, an array of IDs, or an external URI. | |
| Description | No | Ticket description. This field is HTML: use <p> for paragraphs and <br /> for single line breaks, because a bare newline renders as nothing. Plain text with no markup is sent with its angle brackets escaped for you, and gains paragraphs if it has line breaks. If you send markup, write any angle bracket that is not part of it as < and > yourself — RT silently deletes any tag it does not allow along with the text inside it, so an address left as <bob@example.com> inside HTML is lost. A bare & is safe as typed. | |
| AddDependsOn | No | Add DependsOn links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| CustomFields | No | Custom field values to update, as {CF_name: value}. Each value replaces everything the field currently holds, so for a multi-value field pass an array of the complete set you want ({"Tags": ["Red", "Blue"]}) — to add to existing values, read them with get_ticket first and include them. RT silently ignores names it does not recognize, so a success response does not confirm a field was set. Use get_queue_fields to see the custom fields available on the ticket's queue and to check a field's ContentFormat before writing a multi-line or formatted value. | |
| DeleteParent | No | Remove specific Parent links. One ticket ID, an array of IDs, or an external URI. | |
| DeleteRefersTo | No | Remove specific RefersTo links. One ticket ID, an array of IDs, or an external URI. To replace a link, delete the old one and add the new one. | |
| AddDependedOnBy | No | Add DependedOnBy links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| AddReferredToBy | No | Add ReferredToBy links, keeping existing ones. One ticket ID, an array of IDs, or an external URI. | |
| DeleteDependsOn | No | Remove specific DependsOn links. One ticket ID, an array of IDs, or an external URI. | |
| DeleteDependedOnBy | No | Remove specific DependedOnBy links. One ticket ID, an array of IDs, or an external URI. | |
| DeleteReferredToBy | No | Remove specific ReferredToBy links. One ticket ID, an array of IDs, or an external URI. |