ProposalProducts
Search ProposalProducts
Search and list ProposalProduct records with filtering, sorting, and pagination.
GET
Search ProposalProducts
A ProposalProduct is one extra item quoted alongside the plan in a proposal: an add-on product, a plan component, or a refundable deposit. IsDeposit and IsContractProduct decide what happens on acceptance - a deposit attaches to the first contract and switches on its sign-up fee, a contract product attaches to every contract in the proposal, and anything else becomes a standalone product on the customer’s account.
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 ProposalProduct-List role.Enums
eRecurrentChargePattern — RepeatCycle values
eRecurrentChargePattern — RepeatCycle values
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 proposal this line belongs to; required, and the proposal’s issuing location owns this record..
integer
Filter by display value for Proposal.Coworker.Id..
string
Filter by display value for Proposal.Coworker.Email..
string
Filter by display value for Proposal.Coworker.FullName..
integer
Filter by iD of the product quoted on this line; required, and it must belong to a location the user can access..
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.Business.Currency.Code..
integer
Filter by number of units of the product quoted, at least 1; it multiplies the unit price in every proposal total..
number
Filter by optional per-unit price override in the location’s currency; when empty the product’s own price is used..
boolean
Filter by whether this line is a refundable deposit. On acceptance a deposit is attached to the first contract only and switches on that contract’s sign-up fee, and it counts towards the one-off sign-up total rather than the recurring total..
boolean
Filter by whether this line is attached to the contracts rather than sold on its own. On acceptance a contract product is added to every contract in the proposal; when this and IsDeposit are both false, the line becomes a standalone product on the customer’s account..
boolean
Filter by whether the product recurs with the customer’s billing instead of being charged once; it also decides whether the line counts towards the proposal’s recurring total or its one-off sign-up total..
integer
Filter by recurrence interval used when RegularCharge is true: PricePlan follows the contract’s own billing cycle, Day, Week, Month and Year repeat every RepeatUnit of that period, and LastDayOfMonth charges on the final day of each month..
string
Filter by optional UTC date from which this product starts being invoiced; a recurring line whose invoice date falls after a contract’s start date is left out of that contract’s totals..
string
Filter by optional UTC date on which the recurrence begins; it is carried onto the customer product or contract product created on acceptance..
string
Filter by optional UTC date after which the product stops recurring; a recurring line that has already ended is left out of the proposal totals..
integer
Filter by number of RepeatCycle periods between charges; 3 with a Month cycle bills quarterly. Acceptance falls back to 1 when it is empty..
boolean
Filter by whether the product’s first charge is prorated for a partial billing period..
string
Filter by free-text note carried onto the product created for the customer when the proposal is accepted..
Range Filters
integer
Filter by display value for Proposal.Coworker.Id. greater than or equal to this value.
integer
Filter by display value for Proposal.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 units of the product quoted, at least 1; it multiplies the unit price in every proposal total. greater than or equal to this value.
integer
Filter by number of units of the product quoted, at least 1; it multiplies the unit price in every proposal total. less than or equal to this value.
number
Filter by optional per-unit price override in the location’s currency; when empty the product’s own price is used. greater than or equal to this value.
number
Filter by optional per-unit price override in the location’s currency; when empty the product’s own price is used. less than or equal to this value.
string
Filter by optional UTC date from which this product starts being invoiced; a recurring line whose invoice date falls after a contract’s start date is left out of that contract’s totals. greater than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date from which this product starts being invoiced; a recurring line whose invoice date falls after a contract’s start date is left out of that contract’s totals. less than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date on which the recurrence begins; it is carried onto the customer product or contract product created on acceptance. greater than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date on which the recurrence begins; it is carried onto the customer product or contract product created on acceptance. less than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date after which the product stops recurring; a recurring line that has already ended is left out of the proposal totals. greater than or equal to this value. Format:
YYYY-MM-DDTHH:mm.string
Filter by optional UTC date after which the product stops recurring; a recurring line that has already ended is left out of the proposal totals. less than or equal to this value. Format:
YYYY-MM-DDTHH:mm.integer
Filter by number of RepeatCycle periods between charges; 3 with a Month cycle bills quarterly. Acceptance falls back to 1 when it is empty. greater than or equal to this value.
integer
Filter by number of RepeatCycle periods between charges; 3 with a Month cycle bills quarterly. Acceptance falls back to 1 when it is empty. less than or equal to this value.
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
ProposalProduct[]
The list of ProposalProduct records matching the query. See the Get one ProposalProduct 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