Save Quote as Template
POST/api/quotes/:quote/save-as-template
Saves the quote's lines and terms as a reusable quote template — lines, prices, discounts, deposit, tax, cover letter, terms, shipping terms, lead times and documents. What belongs to one buyer is left off: the customer, addresses, PO number, sales rep and valid-until date. The quote itself is unchanged.
orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Body
template_name(required, string, max 255) — how the template is found again, e.g.500 tote bags with logo imprint.
The template is numbered QT-… (template numbers never use up quote numbers) and returned with is_template: true. List templates with List Quotes templates=only; rename one with Update Quote template_name. A template is never sent, accepted, declined, expired, revised, paid or ordered — those actions return 422.
Authentication: Requires Bearer token. Permission: quotes.create.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.