ContractServices
This entity describes an Autotask Service that has been added to a Recurring Service type contract. In Autotask, users add and manage Autotask Services from the Admin module: Products and Services > Services > Services. You add Services to a Contract when your create the contract or from the Contract Summary page.
The entity specifies an adjustedPrice if applicable. It does not specify the number of units of the service that have been added to the contract. To add Contract Service units to the contract, or remove units, use the ContractServiceAdjustment entity.
BEFORE YOU BEGIN It's important to understand how Recurring Service Contracts interact with Autotask and influence other entities. Before you use the API to create or manage this type of contract, we recommend that you read our Adding a recurring service contract article. Then, review the Conditions and requirements and Special field attributes sections of this article to get started.
NOTE You can refer to the Online Help to find root and child access URLs of the entity you wish to query. Refer to Finding resource and child access URLs of REST API entities for more information.
Entity details
Entity Name: | ContractServices |
Entity Path: |
/atservicesrest/v1.0/ContractServices |
Parent Entity: |
|
Can Create: | |
Can Update: | |
Can Query: | |
Can Delete: | |
Can Have UDFs: |
Conditions and requirements
General
- Resources with security levels that specify limited or no contract visibility cannot create, update, or query this entity.
- On Create(), contractID must reference a Recurring Service type Contract (Contract.ContractType = 7).
- On Update(), all fields are Read-Only except for adjustedPrice and invoiceDescription.
- On Query(), if the contract service or bundle is configured to “Use Standard Invoice Description” in the UI, we will return the service/bundle’s invoice description from Admin. Otherwise we will return the custom invoice description value.
Special field attributes
Field | Conditions and Requirements |
---|---|
adjustedPrice |
If the Multi-currency Installed Module is enabled, this field will return the relevant Customer Currency value instead of the Internal Currency value. adjustedUnitPrice allows a negative value (allows users to apply discount). |
internalCurrencyAdjustedPrice, internalCurrencyUnitPrice. | If the Multi-currency Installed Module is enabled, these fields will return the saved Internal Currency value. |
invoiceDescription |
On Query(), if the contract service or bundle is configured to Use Standard Invoice Description in the UI, we will return the service/bundle’s invoice description from Admin. Otherwise we will return the custom invoice description value. On Create() or Update(), if
|
serviceID | The same Service ID can be added to a contract more than once. |
unitCost |
unitCost does not allow a negative value. On create, if no unitCost is supplied, it will default to the unitCost of the associated service. This entity field will return no information if the user account making the query does not have sufficient privileges to view cost data in the Autotask UI. Additionally, if an update request does not have the necessary permissions, the API will ignore the call's values for the field even if they are blank or would be otherwise required. |
unitPrice |
unitPrice allows a negative value (allows users to apply discount). If the Multi-currency Installed Module is enabled, this field will return the relevant Customer Currency value instead of the Internal Currency value. |
Field definitions
The following table describes the standard Autotask fields for this entity. Refer to the following articles for more information about working with these fields:
- The entityInformation REST API call
- Making basic query calls to the REST API
- Advanced query features of the REST API
To learn how to query picklist endpoints, refer to Understanding picklists.
Notes
- For string datatypes, the number in parentheses ( ) indicates the maximum number of characters allowed.
- LT indicates Local Term.
- If this entity has child collections, they will appear in a Child collection access URLs or an Entity URLs and relationships drop-down in the Entity details section of this article.
- You can call the /query/count/ endpoint of a resource to determine how many records a collection holds.
Field Name | Datatype | Read-Only | Is Required | Reference Name | Picklist |
---|---|---|---|---|---|
contractID | integer | Contracts | |||
id | long | ||||
internalCurrencyAdjustedPrice (Multi-currency module only) |
decimal | ||||
internalCurrencyUnitPrice (Multi-currency module only) |
decimal | ||||
internalDescription | string (100) | ||||
invoiceDescription | string (1000) | ||||
quoteItemID | long | QuoteItems | |||
serviceID | integer | Services | |||
unitCost | decimal | ||||
unitPrice | decimal |