duplicateQuote
Requires permission sales:quote:create.
Copy an existing quote into a new DRAFT quote with a new quote number. Counts against the organization's monthly quote limit.
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 DuplicateQuote($id: ID!) {
duplicateQuote(id: $id) {
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 DuplicateQuote($id: ID!) {\n duplicateQuote(id: $id) {\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": {
"id": "id"
}
}
EOF
Variables:
{
"id": "id"
}
Response:
{
"data": {
"duplicateQuote": {
"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"
}
}
}
}
duplicateQuote(
id: ID!
): Quote!
Arguments
duplicateQuote.id ● ID! non-null scalar
The ID of the quote to copy.
Type
Quote object
A priced offer to a customer, valid until a set date. Converts to a sales order or invoice when accepted.