ContractProducts
Search ContractProducts
Search and list ContractProduct records with filtering, sorting, and pagination.
GET
Search ContractProducts
A contract product (internally known as ContractProduct) is a recurring product line on a customer’s contract, billed with plan invoices and optionally controlled by a price override and billing window. When the product includes passes, booking time credit, monetary credit, or printing credit, those benefits are released as each contract invoice is created; configure the product’s credit expiration separately, either aligned with or independent of the billing cycle. A negative product price creates a discount shown as a negative invoice line; use ContractSchedule for a future contract price change instead. Do not use a contract product for a deposit: use ContractDeposit so it is invoiced only at contract start and can be refunded when appropriate.
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 iD of the customer’s contract; it determines the location and billing cycle that will receive this recurring product line..
integer
Filter by display value for CoworkerContract.Quantity..
string
Filter by display value for CoworkerContract.FloorPlanDeskIds..
string
Filter by display value for CoworkerContract.FloorPlanDeskNames..
string
Filter by display value for CoworkerContract.Tariff.Name..
integer
Filter by display value for CoworkerContract.Coworker.Id..
string
Filter by display value for CoworkerContract.Coworker.FullName..
string
Filter by display value for CoworkerContract.Coworker.BillingName..
integer
Filter by iD of the location product billed on the contract’s invoices; its current price is used when this line has no price override..
string
Filter by display value for Product.Name..
number
Filter by display value for Product.Price..
boolean
Filter by display value for Product.ApplyProRating..
string
Filter by display value for Product.Currency.Code..
string
Filter by optional operator notes about this recurring product line..
integer
Filter by number of product units billed in each contract billing cycle; must be at least 1..
number
Filter by optional per-unit price override in the location’s currency; when null, the linked product’s price is used..
string
Filter by optional UTC date and time for the first invoice period that includes this product line; inclusive, and null starts billing immediately..
string
Filter by optional UTC date and time for the first invoice period that excludes this product line; exclusive, and null continues billing indefinitely..
boolean
Filter by whether this line requests prorating when it ends during an invoice period; the product’s setting can also enable prorating, and the contract plan must have ProrateDaysBefore configured..
Range Filters
integer
Filter by display value for CoworkerContract.Quantity. greater than or equal to this value.
integer
Filter by display value for CoworkerContract.Quantity. less than or equal to this value.
integer
Filter by display value for CoworkerContract.Coworker.Id. greater than or equal to this value.
integer
Filter by display value for CoworkerContract.Coworker.Id. less than or equal to this value.
number
Filter by display value for Product.Price. greater than or equal to this value.
number
Filter by display value for Product.Price. less than or equal to this value.
integer
Filter by number of product units billed in each contract billing cycle; must be at least 1. greater than or equal to this value.
integer
Filter by number of product units billed in each contract billing cycle; must be at least 1. less than or equal to this value.
number
Filter by optional per-unit price override in the location’s currency; when null, the linked product’s price is used. greater than or equal to this value.
number
Filter by optional per-unit price override in the location’s currency; when null, the linked product’s price is used. less than or equal to this value.
string
Filter by optional UTC date and time for the first invoice period that includes this product line; inclusive, and null starts billing immediately. greater than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date and time for the first invoice period that includes this product line; inclusive, and null starts billing immediately. less than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date and time for the first invoice period that excludes this product line; exclusive, and null continues billing indefinitely. greater than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date and time for the first invoice period that excludes this product line; exclusive, and null continues billing indefinitely. 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.
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