---
title: "Get Generate Quote Template"
method: GET
path: "/api/version/{versionId}/playbook/{playbookId}/generate-quote-template"
tags: ["Playbook"]
---

# Get Generate Quote Template

`GET /api/version/{versionId}/playbook/{playbookId}/generate-quote-template`

Returns a preformatted JSON template for API quote generation based on the Playbook structure. Use this template as the starting point for Generate Quote API requests.

Date-type attributes and playbook questions are returned in the format `yyyy-mm-dd hh:mm:ss`.

Template generation rules:
- The template includes all required API fields.
- The template includes default values if they exist. Otherwise, it uses the first available answer.
- The template excludes calculated questions.

## Path parameters

- `versionId` string, required
- `playbookId` string, required

## Response `200`

Success. Returns the Generate Quote template JSON.

- GenerateQuoteTemplateResponse — Preformatted JSON template for the Generate Quote API, based on the Playbook structure.
  - `external_opportunity_id` string — Required. CRM opportunity ID. Required in all requests.
  - `request_action` 'draft' | 'submit' | 'publish' | 'sign_externally' — Required. Action for the quote. Enum, lowercase.
  - `line_item_details` 'basic' | 'all' — Optional. Level of line item detail. `basic` includes SKU, bundle_ref, name, net price, list price, total discount, and product_factors.
  - `playbook` string — Optional. Unique name of the playbook (UTF-8). If missing, the system uses the first API-type playbook.
  - `quote_name` string — Optional. Quote or proposal name. The system default applies if missing; an error occurs if no default exists.
  - `dealroom_publish_name` string — Optional. DealRoom publish name. The system default applies if missing; an error occurs if no default exists.
  - `total_sales_discount` number, double — Optional. Total discount for all line items. Overrides individual line item discounts if provided.
  - `expiration_date` string — Optional. Quote expiration date as a Unix timestamp in milliseconds (GMT). Must not be in the past; the system default applies if missing.
  - `document_type` 'DealRoom' | 'PDF' | 'WORD' | 'EXCEL' — Required. Type of document.
  - `timezone_offset` number — Optional. Timezone offset from GMT.
  - `partner_program` QuoteTemplatePartnerProgram[] — Optional. Selected partner programs.
    - `partner_level_name` string — Partner level name.
    - `program_name` string — Partner program name.
  - `quote_data` QuoteTemplateQuoteData[] — Required. List of question groups and answers.
    - `group_id` string — DealHub group ID. Required for each group in `quote_data`.
    - `questions` object[] — Required. List of question answers. The template uses the default answer or the first answer for each question.
  - `line_items` QuoteTemplateLineItem[] — Optional. List of line items.
    - `sku` string — Required. Product catalog identifier. Must exist in the DealHub catalog.
    - `item_name` string — Optional. Catalog product name.
    - `bundle_ref_sku` string — Conditionally required. Bundle SKU reference. Required if part of a bundle; empty for the bundle product itself.
    - `bundle_ref_id` integer — Conditionally required. Unique bundle instance ID. Required for items within a bundle and for the bundle itself.
    - `list_price` number, double — Required. List price. Positive or negative.
    - `net_price_per_unit` number, double — Optional. Net price per unit.
    - `net_price` number, double — Required. Total net price: net per unit multiplied by product factors.
    - `msrp` number, double — Required. Line item MSRP. Positive or negative.
    - `msrp_discount` number, double — Required. Discount applied to MSRP. Positive or negative.
    - `sales_discount` number, double — Required. Sales discount. Positive or negative.
    - `total_discount` number, double — Required. Total discount. Positive or negative.
    - `product_factors` object — Required. Product-specific factors (quantity, duration) as key-value pairs.
    - `attributes` object — Optional. Line-item-specific proposal attributes as key-value pairs.
    - `partner_program_data` QuoteTemplatePartnerProgramData[] — Optional. Partner program-specific discounts.
      - `partner_program_name` string — Partner program name.
      - `partner_level_item_price` number, double — Partner level item price.
      - `partner_level_item_discount` number, double — Partner level item discount.
  - `sign_externally_comment` string — Conditionally required. Comment for external signing. Required if `request_action` = `sign_externally`.

## Other responses

- `400` — Bad Request. Invalid versionId.
- `404` — Playbook not found.
- `500` — Failed to generate JSON.

---

[API](https://skmtc.net/dealhub/apis/quote-api.md) · [All operations](https://skmtc.net/dealhub/apis/quote-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dealhub/quote-api/versions/c30f5b9fbfab/schema)
