upsertQuoteLine
WRITECreate or update a quote line. Keep description to a short one-line label - it is truncated on the digital quote. Long specifications belong in externalNotes (TipTap doc JSON, rendered in full under the line on the digital quote and PDF); internalNotes takes the same shape and is never shown to the customer..
POST /api/v1/sales/upsertQuoteLine
curl -X POST '<your-host>/api/v1/sales/upsertQuoteLine' \
-H 'Authorization: Bearer <api-key>' \
-H 'Content-Type: application/json' \
-d '{
"quoteId": "string",
"itemId": "string",
"status": "Not Started",
"description": "string",
"methodType": "Purchase to Order",
"unitOfMeasureCode": "string",
"quantity": [],
"taxPercent": 0
}'Response
{
"id": "string"
}Parameters
ParameterType
min length 1
min length 1
"Purchase to Order""Pull from Inventory""Make to Order"
"Not Started""In Progress""Complete""No Quote"
min 0max 1
min length 1
"Part""Material""Tool""Consumable""Service"
Input schema
schema
{
"type": "object",
"properties": {
"quoteId": {
"type": "string"
},
"itemType": {
"type": "string",
"enum": [
"Part",
"Material",
"Tool",
"Consumable",
"Service"
]
},
"itemId": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"enum": [
"Not Started",
"In Progress",
"Complete",
"No Quote"
]
},
"estimatorId": {
"type": "string"
},
"description": {
"type": "string",
"minLength": 1
},
"methodType": {
"type": "string",
"enum": [
"Purchase to Order",
"Pull from Inventory",
"Make to Order"
]
},
"customerPartId": {
"type": "string"
},
"customerPartRevision": {
"type": "string"
},
"unitOfMeasureCode": {
"type": "string",
"minLength": 1
},
"quantity": {
"type": "array",
"items": {
"type": "number",
"minimum": 0.00001
}
},
"noQuoteReason": {
"type": "string"
},
"taxPercent": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"internalNotes": {},
"externalNotes": {},
"configuration": {},
"customFields": {},
"id": {
"type": "string"
}
},
"required": [
"quoteId",
"itemId",
"status",
"description",
"methodType",
"unitOfMeasureCode",
"quantity",
"taxPercent"
]
}