Get customers
Answer customers
Work for you
Reach people
Give agents tools
Run and ship
Manage proposals, contacts, locations and catalog items
Returns the proposals for the current account. Supports filtering by status, contact, modified date, search text, and archive state, along with sorting and pagination.
10 fields
Creates a new proposal for the authenticated account. Supply a salesperson ID from the same account and, optionally, a proposal name. If no name is given, the system assigns a default name using the same logic as the Portal UI. The response includes the full proposal detail, including the new proposal ID, number, status, and financial summary.
2 fields
Returns detailed information for the specified proposal. The HTTP response also sets the Last-Modified header from the response LastModifiedDate. Item costs are left out when costs are not available to your account, so a null cost does not mean the item has none. A recurring-service item is left out of its area option's total and counted in that option's totalRecurringService instead. When an item has total.isCombinedPrice true, its amount already includes the totals of the items nested under it, and those nested items still report their own amounts.
1 field
Performs a partial update on an existing proposal. You can update the proposal name, reassign the salesperson, or do both in one request. Both fields are optional, and omitted fields keep their current values. SalesPersonId must reference a user in the same account. The response includes the full updated proposal detail.
3 fields
Updates the client-facing project description of a proposal. This is the description shown on customer-facing proposal documents. The request body accepts a single description string. The response includes the full updated proposal detail.
Updates the internal installer notes (installer project description) of a proposal. These notes are visible only to the dealer's team and do not appear on client-facing documents. The request body accepts a single internal notes string. The response includes the full updated proposal detail.
Returns detailed information for the specified change order. The HTTP response also sets the Last-Modified header from the response LastModifiedDate. Item costs are left out when costs are not available to your account, so a null cost does not mean the item has none. A recurring-service item is left out of its area option's total and counted in that option's totalRecurringService instead. When an item has total.isCombinedPrice true, its amount already includes the totals of the items nested under it, and those nested items still report their own amounts.
Returns the change orders for the specified proposal, including customer details, total, status, and created and modified dates.
Creates a new area (room) within a proposal. The area name must be unique within the proposal. The system automatically creates one default option in 'Draft' status under the new area. The response includes the full updated proposal detail, including the new area and its default option.
Creates a new option within an existing area. Each area supports a maximum of three options. Client description and internal installer notes are optional at creation time. The new option is created with 'Draft' status. The response includes the full updated proposal detail.
4 fields
Assigns an existing contact (person/client) to a proposal. The proposal and contact must belong to the same account. If the contact has a single primary location, that location is automatically assigned to the proposal as well. Assigning a contact may trigger tax recalculations based on the contact's location.
Assigns a location to a proposal that already has a contact assigned. The location must belong to the proposal's assigned contact and to the same account. Assigning a location triggers tax recalculations for the proposal. The response includes the full updated proposal detail.
Returns a paged list of contacts for the current account. Supports search, contact type filtering, sorting, and pagination. Pagination defaults to PageNumber 1 and PageSize 10 when values are missing or less than or equal to 0.
6 fields
Creates a contact in the current account. PartyType, ContactType, and FirstName are required. CompanyName is also required when PartyType is Company.
9 fields
Returns the contact details for the specified person. PrimaryLocation and BillingLocation are included when available. When IncludeCounts is true, the response also includes proposal and payment counts for the contact.
Returns the contact's locations. Results are ordered with the primary location first, then the billing location, then the most recently modified locations. Pagination defaults to PageNumber 1 and PageSize 10. When PageNumber is less than or equal to 0, all matching locations are returned.
Adds a location to the specified contact. Street is required. When Country is provided, State is also required. Use IsPrimary to make the new location the primary location and IsBilling to make it the billing location.
13 fields
Returns a list of all active users within the authenticated caller's account. The response includes basic, non-sensitive user details: user ID, first name, last name, email address, and the user's permission group. This is a read-only endpoint intended for integrations that need to look up user IDs before assigning them as salespersons on proposals or for syncing user data with external systems.
Searches the catalog using the provided category, brand, supplier, industry, stock, favorite, price, and item type filters. CategoryId and CategoryIds are mutually exclusive, and ParentCategoryId and ParentCategoryIds are mutually exclusive. If SearchText is omitted it is treated as an empty string. ItemType defaults to Part.
20 fields
Returns the catalog category hierarchy grouped by industry, including category image URLs when available.
Returns details for the requested catalog item. When ItemType is Labor or CustomItem, the item is returned from the current account's library; otherwise a standard catalog item is returned. ExtendedDetails adds extra information to standard catalog item responses.