Skip to main content
GET
Search ContractProducts
A ContractProduct is a product added to a contract that is billed every time the contract is invoiced. Use ContractProduct to append product charges to a specific member’s billing cycle alongside the base plan. Price — If Price is not set, the price of the underlying product (ProductPrice) is used instead. Set Price to override the product’s default price for this specific contract line. Billing windowRepeatFrom and RepeatUntil control the date range during which the product is included on invoices. Outside that range the product is silently skipped. Leave both null to bill the product on every invoice. Pro-ratingApplyProRating distributes the charge proportionally across the billing period, but only takes effect when the linked location plan has prorating enabled (Tariff.ProrateDaysBefore > 0). If the plan does not have prorating configured, ApplyProRating is ignored.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the ContractProduct-List role.

Query Parameters

Pagination & Sorting

integer
default:"1"
The page number to retrieve.
integer
default:"25"
The number of records per page.
string
The property name to sort results by (e.g. Name, CreatedOn).
integer
Sort direction. 0 for ascending, 1 for descending.

Filters

integer
Filter by contract to add this product to.
integer
Filter by quantity associated with the contract.
string
Filter by floor plan desk IDs assigned to the contract.
string
Filter by floor plan desk names assigned to the contract.
string
Filter by coworker contract tariff name.
integer
Filter by iD of the member on the contract.
string
Filter by contract coworker full name.
string
Filter by contract coworker billing name.
integer
Filter by product to bill on each contract invoice.
string
Filter by product name.
number
Filter by product price.
boolean
Filter by whether the underlying product applies pro-rating by default.
string
Filter by product currency code.
string
Filter by optional notes or comments about this contract product.
integer
Filter by number of units.
number
Filter by price override.
string
Filter by repeat from date.
string
Filter by repeat until date.
boolean
Filter by apply pro-rating to this product charge. Only takes effect when the location plan has prorating enabled (Tariff.ProrateDaysBefore > 0)..

Range Filters

integer
Filter by quantity associated with the contract greater than or equal to this value.
integer
Filter by quantity associated with the contract less than or equal to this value.
integer
Filter by iD of the member on the contract greater than or equal to this value.
integer
Filter by iD of the member on the contract less than or equal to this value.
number
Filter by product price greater than or equal to this value.
number
Filter by product price less than or equal to this value.
integer
Filter by number of units greater than or equal to this value.
integer
Filter by number of units less than or equal to this value.
number
Filter by price override greater than or equal to this value.
number
Filter by price override less than or equal to this value.
string
Filter by repeat from date greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
string
Filter by repeat from date less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
string
Filter by repeat until date greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
string
Filter by repeat until date less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
string
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.

Code Examples

Simple listing

Filtering by CreatedOn

Range filters

Response

200

ContractProduct[]
The list of ContractProduct records matching the query. See the Get one ContractProduct endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each ContractProduct. The following fields are not populated in the Records[] response: Notes.To get all fields, fetch the full record using the Get one ContractProduct endpoint.Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
integer
Current page number.
integer
Number of records per page.
string
The field used for sorting.
integer
The sort direction (0 = ascending, 1 = descending).
integer
Index of the first item on the current page.
integer
Index of the last item on the current page.
integer
Total number of matching records across all pages.
integer
Total number of pages.
boolean
Whether there is a next page of results.
boolean
Whether there is a previous page of results.
Example Response