Ticket
IMPORTANT The SOAP API entered a limited enhancement phase in Q4 2020. Access to version 1.6 will eventually be deactivated. At this time, there is no end-of-lifecycle date.
This entity describes an Autotask Ticket. Tickets define service requests within the Autotask system. Autotask users manage Tickets through a number of modules including Service Desk, Home, CRM, and Contracts. They can click New Ticket on the Autotask interface sub-navigation menu to open the New Ticket window.
Entity details
You can also retrieve this information with the Web Services API call The getEntityInfo() SOAP API call.
Entity Name: | Ticket |
Can Create: | |
Can Update: | |
Can Query: | |
Can Delete: | |
Can Have UDFs: |
Although you can query this entity, it contains one or more fields that are not queryable. If you attempt to query these fields, you will receive an error message.
- CreatorType
- LastActivityPersonType
NOTE Although the Autotask interface now allows multiple resources on a ticket, the current versions of the Web Services API do not support this feature. Web Services is, however, aware of and will check existing multiple resources on a ticket and will not allow any resource to be assigned as primary resource if that resource is already a secondary resource.
Conditions and requirements
General
- This entity will be read-only if the module with which it is associated is not active. For more information, refer to Activations.
- The Web Services API stores and returns all time data in Coordinated Universal Time (UTC).
- The Ticket entity can have no more than 300 UDFs. Refer to UserDefinedFieldDefinition.
- A Resource + Role combination assigned to a ticket must be associated with at least one Service Desk Queue.
- The API can complete a ticket that has one or more incomplete 'Important' Checklist items. There is no warning.
- With the granular ticket security features implemented in the 2016.1 release, the API Ticket entity will respect the View, Add, and Edit permissions assigned to the logged in end user, EXCEPT the API will not respect the 'Mine + Accounts' setting. 'Mine + Accounts' will be treated as 'None.' For more information on granular ticket security, refer to the Online Help topic: Create or edit a custom security level.
- Update() is allowed on a Ticket with an inactive attribute value if that value is not being changed. A new inactive attribute value cannot be assigned.
- Three read only fields, MonitorID, MonitorTypeID, and RMMAlertID are currently available for use by the Autotask RMM integration only.
IMPORTANT When the API receives a request to update a field that contains Rich Text, the API will update the text-only version of the field and overwrite the data in the Rich Text field with plain text. All text formatting and images will be lost. Refer to The Rich Text editor to learn more.
Contact impersonation validation rules for creating entities
- The API user security level has access to contact impersonation for tickets.
- The ticket must be associated to either the contact's account or any of its child accounts.
- The contact is active.
- The contact's account is active.
NOTE If the API user does not have the Contacts impersonation option enabled, it will be unable to specify custom values for the AttachedByContactID and the CreatedByContactID fields. Any entities or attachments that the account creates will be attributed to "API User." Refer to Web Services API security settings.
Special field attributes
Field | Conditions and Requirements |
---|---|
AccountID |
Ticket.AccountID cannot be changed if the ticket has an associated and posted TimeEntry, TicketCost, or Expense. If the ticket has no associated posted items and Ticket.AccountID is changed, any associated (non-posted) Contract, TimeEntries, or TicketCosts are set to Null, along with any Service or ServiceBundle items associated with the TimeEntries or TicketCosts. ExpenseItem.AccountID is updated and ExpenseItem.ProjectID, ExpenseItem.TaskID, or ExpenseItem.TicketID is set to Null. |
AllocationCodeID |
AllocationCodeID is required on create() and update() if your company has enabled the Autotask system setting that requires a Work Type on a Ticket. The AllocationCodeID field must reference a Work Type allocation code. |
AssignedResourceRoleID
|
Autotask now allows Role to be inactivated.
|
ChangeApprovalBoard | ChangeApprovalBoard must reference an active Change Approval Board. |
ChangeApprovalStatus |
ChangeApprovalStatus can only be set to Requested or Assigned. All other statuses, Not Assigned, Partially Approved, Approved, or Rejected can only be set by the system.
|
ChangeApprovalType |
If a value is not provided for ChangeApprovalType:
|
ChangeInfoFields | ChangeInfoFields are available regardless of whether they are Active or Inactive. |
ContactID |
For the ContactID field, Contact.AccountID must = Ticket.AccountID or the ParentAccountID of Ticket.AccountID. update() is allowed on a Ticket with an inactive ContactID value if that value is not being changed, or if a new active value is assigned. A new inactive ContactID value cannot be assigned on create() or update(). If the ticket category = 'RMA', and no value is supplied for the Contact field, it will be set to the contact of the supplied asset. |
ContractID |
If a ticket is created or updated with a sub-issue type that is excluded from the associated contract, the ticket's ContractID will be updated to that of the exclusion contract, if it exists. If it does not exist, the ContractID will be set to null. |
CreatorResourceID | CreatorResourceID can return a ContactID. CreatorType specifies whether the CreatorResourceID refers to a Resource or a Contact. |
Description |
When you use the API to update this field, the REST API will return the text-only version of its content. If you send the content back, the Rich Text and all images that it contains will be lost. You cannot use the API to create items that contain Rich Text, but you can add Rich Text later via a supported method. To learn more, refer to The Rich Text editor. |
DueDateTime |
This field is required unless the supplied ticket category or the user's default ticket category has both the Due Date and Due Time configured. If the ticket category has only the due date or only the due time configured, then the API Ticket.DueDateTime will be required, and not supplying a value will return an error message. If the ticket is created from a Datto RMM alert and the Autotask ticket category has a Due Date and Time configured, then we will clear the DueDateTime field on the alert supplied by Datto RMM, and apply the default from the Autotask ticket category. |
InstalledProductID |
On create(), if InstalledProductID is populated, the InstalledProduct.AccountID must = Ticket.AccountID On update(), InstalledProduct.ID cannot be updated to an InstalledProduct where InstalledProduct.AccountID ≠ Ticket.AccountID. If the ticket category = 'RMA', the InstalledProductID is required. That InstalledProduct must also reference a Product that is EligibleForRma. NOTE If the InstalledProduct value is not being updated, and for some reason it is already associated with an Account that is different from the Ticket Account, the update() will not fail. |
IssueType, SubIssueType
|
IssueType and SubIssueType are never required in the API. They are required in the UI only if the system setting 'Require Issue and Sub-Issue on tickets' is enabled. SubIssueType is associated with an Issue and the available SubIssueType picklist items are specific to the associated IssueType. When a SubIssueType value is provided, the associated IssueType value must also be provided. |
LastActivityPersonType | LastActivityPersonType values indicating whether the initiator of the last activity was a resource or a contact. This field is not filterable for tickets in the API. |
LastTrackedModificationDateTime |
Tracks updates to any field except changes to the LastActivityDate, LastCustomerNotificationDateTime, LastCustomerVisibleActivityDateTime. UDF changes are included in the criteria for updating LastTrackedModificationDate. |
OpportunityID | For the OpportunityID field, Opportunity.AccountID must = Ticket.AccountID. |
Priority |
On create(), Priority must be an active priority. If the current priority is inactive, update() is allowed if the Priority value is not changed, or if Priority is changed to an active value. |
ProblemTicketID | ProblemTicketID cannot = TicketID of a ticket that is already associated with a ProblemTicketID; that is, an incident ticket already associated with a problem ticket cannot become a problem ticket. |
ProjectID | ProjectID must be associated with the same Account as the Ticket (Ticket.AccountID). |
QueueID |
QueueID requirement - The ticket's category (Ticket.TicketCategory) will determine whether or not Ticket.QueueID is required, based on the category's 'Queue is Required' setting. If QueueID does not meet the requirement specified by the associated ticket category's 'Queue is Required' setting, as listed below, an error will occur.
|
RMAStatus |
This field is editable for tickets whose ticket category is 'RMA.' ◦
|
RMAType |
This field is editable for tickets whose ticket category is 'RMA.'
|
ServiceLevelAgreementID |
The ticket SLA is defaulted in using the following logic:
|
ServiceLevelAgreementPausedNextEventHours | ServiceLevelAgreementPausedNextEventHours (read only) is calculated as the time differential between the most recent time the ticket status changed to Waiting Customer and the time of the next SLA target. Calculated in hours only. Field is cleared when ticket comes out of Waiting Customer status and is recalculated every time ticket goes back into Waiting Customer status. |
Source | Ticket.Source is not required; however, in the UI the Source field defaults to 'Other', so for tickets created through the UI, the value for Ticket.Source is never Null. If no value is provided for Ticket.Source when a ticket is created via the API, the default Source value is returned on update. For additional information, refer to SOAP API best practices. |
Ticket.AccountID | If Ticket.AccountID is updated then Ticket.AccountPhysicalLocation must have AccountID = Ticket.AccountID. |
TicketCategory |
The Ticket entity will support the Ticket Category:
|
TicketNumber |
|
TicketType |
|
Field definitions
The following table describes the standard Autotask field objects for this entity.
- To retrieve more detailed information specific to a particular Autotask implementation, use the Web Services API call The getFieldInfo() SOAP API call.
- For information on entity UDFs, use getUDFInfo().
- For String datatypes, the number in parentheses ( ) indicates the maximum number of characters allowed.
- LT indicates Local Term.
For more information about fields marked as picklists, review our Understanding picklists article.
Field Name | Label | Datatype | Read Only | Is Required | Reference Name | Picklist |
---|---|---|---|---|---|---|
AccountID | {LT:Account} | integer | Account | |||
AccountPhysicalLocationID | Account Physical Location ID | integer | AccountPhysicalLocation | |||
AEMAlertID |
AEM Alert ID |
string (50) |
|
|
|
|
AllocationCodeID | Allocation Code Name | integer | AllocationCode | |||
ApiVendorID | API Vendor ID | integer | ||||
AssignedResourceID | Resource | integer | Resource | |||
AssignedResourceRoleID | Resource Role Name | integer | Role | |||
BusinessDivisionSubdivisionID | Business Division Subdivision ID | integer | Ticket | |||
ChangeApprovalBoard | Change Approval Board ID | integer | ||||
ChangeApprovalStatus | Change Approval Status | integer | ||||
ChangeApprovalType | Change Approval Type | integer | ||||
ChangeInfoField1 | Change Info Field 1 | string (8000) | ||||
ChangeInfoField2 | Change Info Field 2 | string (8000) | ||||
ChangeInfoField3 | Change Info Field 3 | string (8000) | ||||
ChangeInfoField4 | Change Info Field 4 | string (8000) | ||||
ChangeInfoField5 | Change Info Field 5 | string (8000) | ||||
CompletedByResourceID | Ticket Completed By | integer | Resource | |||
CompletedDate | Ticket Date Completed by Complete Project Wizard | datetime | ||||
ContactID | Ticket Contact | integer | Contact | |||
ContractID | Contract | integer | Contract | |||
ContractServiceBundleID | Contract Service Bundle ID | long | ContractServiceBundle | |||
ContractServiceID | Contract Service ID | long | ContractService | |||
CreateDate | Ticket Creation Date | datetime | ||||
CreatedByContactID |
Created by Contact ID |
integer |
|
|
|
|
CreatorResourceID | Ticket Creator | integer | Resource | |||
CreatorType | Creator Type | integer | ||||
CurrentServiceThermometerRating | Current Service Thermometer Rating | integer | ||||
Description | Ticket Description | string (8000) | ||||
DueDateTime | Ticket End Date | datetime | ||||
EstimatedHours | Ticket Estimated Hours | double | ||||
ExternalID | Ticket External ID | string (50) | ||||
FirstResponseAssignedResourceID | First Response Assigned Resource ID | integer | ||||
FirstResponseDateTime | First Response Date Time | datetime | ||||
FirstResponseDueDateTime | First Response Due Date Time | datetime | ||||
FirstResponseInitiatingResourceID | First Response Initiating Resource ID | integer | ||||
HoursToBeScheduled | Hours To Be Scheduled | decimal | ||||
id | Ticket ID | long | ||||
ImpersonatorCreatorResourceID | Impersonator Creator Resource ID | integer | Resource |
|
||
InstalledProductID | {LT:InstalledProduct} | integer | InstalledProduct | |||
IssueType | Ticket Issue | integer | ||||
LastActivityDate | Ticket Last Activity Date | datetime | ||||
LastActivityPersonType | Last Activity Person Type | integer | ||||
LastActivityResourceID | Last Activity ResourceID | integer | Resource | |||
LastCustomerNotificationDateTime | Last Customer Notification DateTime | datetime | ||||
LastCustomerVisibleActivityDateTime | Last Customer Visible Activity DateTime | datetime | ||||
LastTrackedModificationDateTime | Last Tracked Modification Date Time | datetime | ||||
MonitorID (Datto RMM integration only) |
Monitor ID | integer | ||||
MonitorTypeID (Datto RMM integration only) |
Monitor Type ID | integer | ||||
OpportunityId | Opportunity ID | integer | Opportunity | |||
PreviousServiceThermometerRating | Previous Service Thermometer Rating | integer | ||||
Priority | Ticket Priority | integer | ||||
ProblemTicketId | Problem Ticket ID | integer | Ticket | |||
ProjectID | Project ID | integer | Project | |||
PurchaseOrderNumber | Purchase Order Number | string (50) | ||||
QueueID | Ticket Department Name OR Ticket Queue Name | integer | ||||
Resolution | Resolution | string (32000) | ||||
ResolutionPlanDateTime | Resolution Plan Date Time | datetime | ||||
ResolutionPlanDueDateTime | Resolution Plan Due Date Time | datetime | ||||
ResolvedDateTime | Resolved Date Time | datetime | ||||
ResolvedDueDateTime | Resolved Due Date Time | datetime | ||||
RMAStatus | RMA Status | integer | ||||
RMAType |
RMA Type |
integer |
|
|
|
|
RMMAlertID (Datto RMM integration only) |
RMM Alert ID | string (50) |
||||
ServiceLevelAgreementHasBeenMet | Has Met SLA | boolean | ||||
ServiceLevelAgreementID | Service Level Agreement ID | integer | ||||
ServiceLevelAgreementPausedNextEventHours | Service Level Agreement Paused Next Event Hours | decimal | ||||
ServiceThermometerTemperature | Service Thermometer Temperature | integer | ||||
Source | Ticket Source | integer | ||||
Status | Ticket Status | integer | ||||
SubIssueType | Ticket Subissue Type | integer | ||||
TicketCategory | Ticket Category | integer | ||||
TicketNumber | Ticket Number | string (50) | ||||
TicketType | Ticket Type | integer | ||||
Title | Ticket Title | string (255) |