industry-department-solutions
latest
false
- Overview
- API Resources

Supply Chain & Retail Solutions API guide
Last updated Apr 16, 2026
Quote Line
Overview
The quote_line resource represents individual line items in sales quotes. This resource stores detailed quote information including products, customers, pricing, and quote status.
Resource Endpoint
/api/v2/ingest/object/{prefix}QUOTE_LINE{suffix}
/api/v2/ingest/object/{prefix}QUOTE_LINE{suffix}
Supported Methods
| Method | Return Type | Description |
|---|---|---|
| POST | Response | Ingest (create/update) quote line records via UPSERT operation |
Request Headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Your Personal Access Token (PAT) from platform.peak.ai |
Content-Type | Yes | Must be application/json |
Properties
Primary Keys
- quote_id (string) - Unique identifier for the quote
- product_id (string) - Foreign key reference to products
Attributes
| Attribute | Data Type | Required | Description |
|---|---|---|---|
quote_id | string | Yes | Unique identifier for each quote. |
product_id | string | Yes | Unique identifier of the product. Used to join product metadata to the table. |
original_quote_id | string | No | Unique identifier of the original quote replaced. Null if this is an original quote; populated if this is a re-negotiated quote. |
quote_status | enum | No | Status of the quote. Used in model training to understand which quotes have been won and lost. Enum values: won, lost, pending, archived. |
price_list_id | string | No | Price list used for this quote. |
quoted_at | datetime | No | Timestamp when the record was quoted. Used in model training to understand seasonal effects on the optimal quote price. |
decided_at | datetime | No | Timestamp when the quote was decided. Date on which the quote was won, lost, cancelled or replaced. Null if quote is still open. |
customer_id | string | No | Unique identifier of the customer. Used to join customer metadata to the table. |
merchant_id | string | No | Unique identifier of the merchant. Used to join merchant metadata to the table. Can be null if the quote is direct to contractor. |
project_id | string | No | Unique identifier of the project. Used to join project metadata to the table. |
region_id | string | No | Unique identifier of the region. Used as a feature in model training as optimal prices vary between regions. Null if region is not selected during quote creation. |
quantity | integer | No | Quantity of the product in the quote. Used as a feature in model training as the quantity demanded impacts the optimal price. |
selling_price | float | No | Selling price for the product. The price on the quotation for the product. Used to calculate the discount applied to the quote for model training. |
Relationships
Outbound References
This resource has relationships to:
- sale - Quote lines can be converted into sales
Inbound References
- product - Foreign key
product_idreferences product - customer - Foreign key
customer_idreferences customer - merchant - Foreign key
merchant_idreferences merchant - project - Foreign key
project_idreferences project - region - Foreign key
region_idreferences region
JSON Representation
{
"solutionName": "QP_OOTB",
"data": [
{
"quote_id": "Q-2025-001",
"product_id": "PROD-001",
"original_quote_id": null,
"quote_status": "Accepted",
"price_list_id": "PL-STD-2025",
"quoted_at": "2025-01-20T14:30:00Z",
"decided_at": "2025-01-25T09:15:00Z",
"customer_id": "CUST-001",
"merchant_id": "MERCH-001",
"project_id": "PROJ-001",
"region_id": "EMEA-UK",
"quantity": 100,
"selling_price": 189.99
}
],
"operationType": "UPSERT"
}
{
"solutionName": "QP_OOTB",
"data": [
{
"quote_id": "Q-2025-001",
"product_id": "PROD-001",
"original_quote_id": null,
"quote_status": "Accepted",
"price_list_id": "PL-STD-2025",
"quoted_at": "2025-01-20T14:30:00Z",
"decided_at": "2025-01-25T09:15:00Z",
"customer_id": "CUST-001",
"merchant_id": "MERCH-001",
"project_id": "PROJ-001",
"region_id": "EMEA-UK",
"quantity": 100,
"selling_price": 189.99
}
],
"operationType": "UPSERT"
}
Example Request
curl -X POST \
'https://service.peak.ai/ingestion-api/api/v2/ingest/object/QP_QUOTE_LINE_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "QP_OOTB",
"data": [
{
"quote_id": "Q-2025-001",
"product_id": "PROD-001",
"original_quote_id": null,
"quote_status": "Accepted",
"price_list_id": "PL-STD-2025",
"quoted_at": "2025-01-20T14:30:00Z",
"decided_at": "2025-01-25T09:15:00Z",
"customer_id": "CUST-001",
"merchant_id": "MERCH-001",
"project_id": "PROJ-001",
"region_id": "EMEA-UK",
"quantity": 100,
"selling_price": 189.99
}
],
"operationType": "UPSERT"
}'
curl -X POST \
'https://service.peak.ai/ingestion-api/api/v2/ingest/object/QP_QUOTE_LINE_OOTB' \
-H 'Authorization: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"solutionName": "QP_OOTB",
"data": [
{
"quote_id": "Q-2025-001",
"product_id": "PROD-001",
"original_quote_id": null,
"quote_status": "Accepted",
"price_list_id": "PL-STD-2025",
"quoted_at": "2025-01-20T14:30:00Z",
"decided_at": "2025-01-25T09:15:00Z",
"customer_id": "CUST-001",
"merchant_id": "MERCH-001",
"project_id": "PROJ-001",
"region_id": "EMEA-UK",
"quantity": 100,
"selling_price": 189.99
}
],
"operationType": "UPSERT"
}'
Important Notes
- Foreign Key Dependencies: Can reference products, customers, merchants, projects, and regions
- Quote Revisions: The
original_quote_idfield allows tracking quote revisions and amendments - Status Tracking: Track the lifecycle of quotes from creation through acceptance or rejection
- Pricing Context: Captures the actual quoted price which may differ from list prices
- Custom Attributes: Additional custom attributes can be added using the
/QUOTE_LINE/add-attributeendpoint - Data Validation: All attributes are validated according to their defined data types