appUpdateQuoteDraft
Requires permission sales:quote:update.
Change a DRAFT quote from an installed app: header words, the delivery address, the payment term, and line changes. Added and changed lines are priced by the server; a line no change names keeps its price. Needs write_quotes.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
mutation AppUpdateQuoteDraft($input: AppUpdateQuoteDraftInput!) {
appUpdateQuoteDraft(input: $input) {
id
quoteNumber
competitorName
customerName
status
createdAt
convertedToInvoice {
id
invoiceNumber
supplierCode
supplierDisplayName
supplierName
status
}
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation AppUpdateQuoteDraft($input: AppUpdateQuoteDraftInput!) {\n appUpdateQuoteDraft(input: $input) {\n id\n quoteNumber\n competitorName\n customerName\n status\n createdAt\n convertedToInvoice {\n id\n invoiceNumber\n supplierCode\n supplierDisplayName\n supplierName\n status\n }\n }\n}",
"variables": {
"input": {
"quoteId": "id"
}
}
}
EOF
Variables:
{
"input": {
"quoteId": "id"
}
}
Response:
{
"data": {
"appUpdateQuoteDraft": {
"id": "id",
"quoteNumber": "string",
"competitorName": "string",
"customerName": "string",
"status": "string",
"createdAt": "2025-01-15T00:00:00Z",
"convertedToInvoice": {
"id": "id",
"invoiceNumber": "string",
"supplierCode": "string",
"supplierDisplayName": "string",
"supplierName": "string",
"status": "APPROVED"
}
}
}
}
appUpdateQuoteDraft(
input: AppUpdateQuoteDraftInput!
): Quote!
Arguments
appUpdateQuoteDraft.input ● AppUpdateQuoteDraftInput! non-null input
The quote and its changes.
Type
Quote object
A priced offer to a customer, valid until a set date. Converts to a sales order or invoice when accepted.