Skip to main content
POST
/
quotes
/
preview
Preview quote estimate
curl --request POST \
  --url https://api.zenskar.com/quotes/preview \
  --header 'Content-Type: application/json' \
  --header 'organisation: <api-key>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "currency": "<string>",
  "start_date": "2023-12-25",
  "line_items": [
    {
      "line_item_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "is_deleted": false,
      "product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "pricing_data": {
        "pricing_data": {
          "unit_amount": 123,
          "dimensions": [
            {
              "name": "<string>",
              "column_name": "<string>"
            }
          ],
          "prices": [
            1
          ],
          "display_alias": [
            "<string>"
          ],
          "pricing_type": "<string>",
          "currency": "<string>",
          "label": "<string>",
          "unit": "<string>",
          "pricing_period": {
            "cadence": "<string>"
          }
        },
        "name": "<string>",
        "description": "<string>",
        "quantity": {
          "type": "metered",
          "label": "<string>",
          "quantity": 123,
          "unit": "<string>",
          "aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "quantity_entries": [
            {
              "value": 123,
              "effective_from": "2023-12-25",
              "created_at": "2023-11-07T05:31:56Z",
              "description": "<string>"
            }
          ],
          "trigger_event": "invoice_approval",
          "expires_at": "end_of_product_billing_period",
          "expiry_period": "<string>",
          "grant_frequency_same_as_product": true,
          "grant_frequency": "<string>",
          "feature_option_value": "<string>",
          "numeric_value": 123,
          "allow_mid_cycle_cancellation": false,
          "constraints": {
            "min": 1,
            "max": 1
          }
        },
        "grants": [
          {
            "unit_amount": 123,
            "entitlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "type": "Feature",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "label": "<string>",
            "trigger_event": "invoice_approval",
            "expires_at": "end_of_product_billing_period",
            "expiry_period": "<string>",
            "grant_frequency_same_as_product": true,
            "grant_period": "<string>",
            "unit": "<string>",
            "period": {
              "cadence": "<string>"
            },
            "start_date": "2023-11-07T05:31:56Z",
            "feature_option_value": "<string>",
            "numeric_value": 123
          }
        ],
        "consumptions": [
          {
            "entitlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "type": "Feature",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "label": "<string>",
            "unit": "<string>",
            "show_additional_info": false,
            "trigger_event": "invoice_approval"
          }
        ],
        "link_id": "<string>",
        "free_units": [
          {
            "unit_amount": 123,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "label": "<string>",
            "unit": "<string>",
            "period": {
              "cadence": "<string>"
            }
          }
        ],
        "discounts": [
          {
            "type": "fixed",
            "unit_amount": 123,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "pricing_period": {
              "cadence": "<string>"
            },
            "label": "<string>"
          }
        ],
        "commitments": [
          {
            "type": "minimum_spend",
            "unit_amount": 123,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "currency": "<string>",
            "label": "<string>",
            "period": {
              "cadence": "<string>"
            },
            "charge_full_amount": false,
            "skip_zero_amount": false
          }
        ],
        "taxes": [
          {
            "type": "manual",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "label": "<string>",
            "code": "<string>",
            "unit_amount": 123
          }
        ],
        "payment_terms": [
          {
            "payment_term_type": "on_approval",
            "due_days": 123,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "label": "<string>",
            "payment_term_mode": "relative",
            "last_day_of_month": false
          }
        ],
        "service_fees": [
          {
            "type": "fixed",
            "unit_amount": 1,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "identifier": "<string>",
            "priority": 123,
            "pricing_period": {
              "cadence": "<string>"
            },
            "label": "<string>"
          }
        ],
        "execution_logic": {
          "additional_steps": [
            {
              "node_type": "<string>",
              "inputs": {},
              "step_name": "<string>",
              "id": "<string>"
            }
          ]
        },
        "is_recurring": true,
        "billing_period": {
          "offset": "prepaid",
          "cadence": "<string>"
        },
        "add_to_catalog": true,
        "usage_report_configs": [
          {
            "aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "config": {},
            "is_default": false,
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          }
        ],
        "overage_pricing": {
          "pricing_data": {
            "unit_amount": 123,
            "dimensions": [
              {
                "name": "<string>",
                "column_name": "<string>"
              }
            ],
            "prices": [
              1
            ],
            "display_alias": [
              "<string>"
            ],
            "pricing_type": "<string>",
            "currency": "<string>",
            "label": "<string>",
            "unit": "<string>",
            "pricing_period": {
              "cadence": "<string>"
            }
          },
          "name": "<string>",
          "description": "<string>",
          "quantity": {
            "type": "metered",
            "label": "<string>",
            "quantity": 123,
            "unit": "<string>",
            "aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "quantity_entries": [
              {
                "value": 123,
                "effective_from": "2023-12-25",
                "created_at": "2023-11-07T05:31:56Z",
                "description": "<string>"
              }
            ],
            "trigger_event": "invoice_approval",
            "expires_at": "end_of_product_billing_period",
            "expiry_period": "<string>",
            "grant_frequency_same_as_product": true,
            "grant_frequency": "<string>",
            "feature_option_value": "<string>",
            "numeric_value": 123,
            "allow_mid_cycle_cancellation": false,
            "constraints": {
              "min": 1,
              "max": 1
            }
          },
          "grants": [
            {
              "unit_amount": 123,
              "entitlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "type": "Feature",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "label": "<string>",
              "trigger_event": "invoice_approval",
              "expires_at": "end_of_product_billing_period",
              "expiry_period": "<string>",
              "grant_frequency_same_as_product": true,
              "grant_period": "<string>",
              "unit": "<string>",
              "period": {
                "cadence": "<string>"
              },
              "start_date": "2023-11-07T05:31:56Z",
              "feature_option_value": "<string>",
              "numeric_value": 123
            }
          ],
          "consumptions": [
            {
              "entitlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "type": "Feature",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "label": "<string>",
              "unit": "<string>",
              "show_additional_info": false,
              "trigger_event": "invoice_approval"
            }
          ],
          "link_id": "<string>",
          "free_units": [
            {
              "unit_amount": 123,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "label": "<string>",
              "unit": "<string>",
              "period": {
                "cadence": "<string>"
              }
            }
          ],
          "discounts": [
            {
              "type": "fixed",
              "unit_amount": 123,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "pricing_period": {
                "cadence": "<string>"
              },
              "label": "<string>"
            }
          ],
          "commitments": [
            {
              "type": "minimum_spend",
              "unit_amount": 123,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "currency": "<string>",
              "label": "<string>",
              "period": {
                "cadence": "<string>"
              },
              "charge_full_amount": false,
              "skip_zero_amount": false
            }
          ],
          "taxes": [
            {
              "type": "manual",
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "label": "<string>",
              "code": "<string>",
              "unit_amount": 123
            }
          ],
          "payment_terms": [
            {
              "payment_term_type": "on_approval",
              "due_days": 123,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "label": "<string>",
              "payment_term_mode": "relative",
              "last_day_of_month": false
            }
          ],
          "service_fees": [
            {
              "type": "fixed",
              "unit_amount": 1,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "identifier": "<string>",
              "priority": 123,
              "pricing_period": {
                "cadence": "<string>"
              },
              "label": "<string>"
            }
          ],
          "execution_logic": {
            "additional_steps": [
              {
                "node_type": "<string>",
                "inputs": {},
                "step_name": "<string>",
                "id": "<string>"
              }
            ]
          },
          "is_recurring": true,
          "billing_period": {
            "offset": "prepaid",
            "cadence": "<string>"
          },
          "add_to_catalog": true,
          "usage_report_configs": [
            {
              "aggregate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "config": {},
              "is_default": false,
              "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
            }
          ],
          "products": [
            {
              "product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "product_pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "product_pricing_data": "<unknown>"
            }
          ]
        },
        "products": [
          {
            "product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "product_pricing_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "product_pricing_data": "<unknown>"
          }
        ]
      },
      "description": "<string>",
      "start_date": "2023-12-25",
      "end_date": "2023-12-25",
      "anchor_date": "2023-11-07T05:31:56Z",
      "quantity": [
        {
          "value": 123,
          "effective_from": "2023-12-25",
          "created_at": "2023-11-07T05:31:56Z",
          "description": "<string>"
        }
      ],
      "discounts": [
        {
          "type": "fixed",
          "unit_amount": 123,
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "identifier": "<string>",
          "priority": 123,
          "pricing_period": {
            "cadence": "<string>"
          },
          "label": "<string>"
        }
      ],
      "taxes": [
        {
          "type": "manual",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "identifier": "<string>",
          "priority": 123,
          "label": "<string>",
          "code": "<string>",
          "unit_amount": 123
        }
      ],
      "custom_data": {}
    }
  ],
  "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "customer": {
    "customer_name": "Acme Corporation",
    "external_id": "<string>",
    "custom_data": {},
    "address": {
      "line1": "<string>",
      "line2": "<string>",
      "line3": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zipCode": "<string>",
      "country": "<string>",
      "country_code": "<string>",
      "validation_status": "<string>",
      "connector_validation": {}
    },
    "ship_to_address": {
      "line1": "<string>",
      "line2": "<string>",
      "line3": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zipCode": "<string>",
      "country": "<string>",
      "country_code": "<string>",
      "validation_status": "<string>",
      "connector_validation": {}
    },
    "tax_info": [
      {
        "country_code": "<string>",
        "tax_code": "<string>",
        "tax_id": "<string>"
      }
    ],
    "email": "jsmith@example.com",
    "phone_number": "<string>",
    "connector": {
      "name": "<string>",
      "reference_id": "<string>"
    },
    "communications_enabled": true,
    "auto_charge_enabled": true,
    "business_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "business_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "contract_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "end_date": "2023-12-25",
  "anchor_date": "2023-11-07T05:31:56Z",
  "custom_data": {}
}
'
{
  "estimate": {},
  "contract": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "status": "draft",
    "currency": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "customer": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "external_id": "<string>",
      "customer_name": "<string>",
      "custom_data": {},
      "address": {
        "line1": "<string>",
        "line2": "<string>",
        "line3": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zipCode": "<string>",
        "country": "<string>",
        "country_code": "<string>",
        "validation_status": "<string>",
        "connector_validation": {}
      },
      "ship_to_address": {
        "line1": "<string>",
        "line2": "<string>",
        "line3": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zipCode": "<string>",
        "country": "<string>",
        "country_code": "<string>",
        "validation_status": "<string>",
        "connector_validation": {}
      },
      "tax_info": [],
      "email": "<string>",
      "custom_attributes": {},
      "phone_number": "<string>",
      "communications_enabled": true,
      "auto_charge_enabled": true,
      "business_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "description": "<string>",
    "tags": [
      "<unknown>"
    ],
    "start_date": "2023-11-07T05:31:56Z",
    "end_date": "2023-11-07T05:31:56Z",
    "custom_attributes": {},
    "source": {},
    "anchor_date": "2023-11-07T05:31:56Z",
    "is_last_day_of_month": true,
    "plan_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "renewal_policy": "do_not_renew",
    "phases": [],
    "invoice_payer_customer": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "external_id": "<string>",
      "customer_name": "<string>",
      "custom_data": {},
      "address": {
        "line1": "<string>",
        "line2": "<string>",
        "line3": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zipCode": "<string>",
        "country": "<string>",
        "country_code": "<string>",
        "validation_status": "<string>",
        "connector_validation": {}
      },
      "ship_to_address": {
        "line1": "<string>",
        "line2": "<string>",
        "line3": "<string>",
        "city": "<string>",
        "state": "<string>",
        "zipCode": "<string>",
        "country": "<string>",
        "country_code": "<string>",
        "validation_status": "<string>",
        "connector_validation": {}
      },
      "tax_info": [],
      "email": "<string>",
      "custom_attributes": {},
      "phone_number": "<string>",
      "communications_enabled": true,
      "auto_charge_enabled": true,
      "business_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    },
    "current_phase": {
      "name": "<string>",
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "start_date": "2023-11-07T05:31:56Z",
      "end_date": "2023-11-07T05:31:56Z",
      "phase_type": "active",
      "phase_metadata": {}
    },
    "contract_link": "<string>",
    "bill_parent_customer": false,
    "invoice_payer_customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs2.zenskar.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
default:<your-api-key>
required
organisation
string
header
default:<your-organisation-id>
required

Body

application/json

Request schema for previewing quote estimate without creating a quote

Accepts either a customer_id (for existing customers) OR a customer object (for prospective customers not yet in the system). Exactly ONE must be provided.

This endpoint performs all validations from create_quote but does NOT persist any data - it's purely computational for getting cost estimates.

currency
string
required

Currency code (ISO 4217, e.g., USD, EUR)

Required string length: 3
start_date
string<date>
required

Contract start date (when service begins) - required

line_items
CreateQuoteLineItemRequest · object[]
required

Quote line items (at least one required)

Minimum array length: 1
customer_id
string<uuid> | null

Existing customer ID (provide this OR customer object, not both)

customer
CreateCustomerRequestSchema · object

Inline customer data for prospects (provide this OR customer_id, not both)

business_entity_id
string<uuid> | null

Business entity for this estimate (inherits from customer if not provided)

contract_id
string<uuid> | null

Existing contract ID to use for estimate (if estimating changes to existing contract)

end_date
string<date> | null

Contract end date (null = open-ended)

anchor_date
string<date-time> | null

Reference date for billing cycle calculations. Determines when bills are generated in the billing period (e.g., if anchor_date is 15th, monthly bills generate on the 15th). Defaults to start_date if not provided. Can be overridden at line item level.

custom_data
Custom Data · object

Custom data for the contract. When contract_id is provided, this will override the existing contract's custom_data.

Response

Successful Response

Response schema for quote preview with estimate and enriched contract structure.

This is returned by the preview endpoint to provide:

  • Financial estimate from billables service
  • Full enriched contract structure (not persisted)
estimate
Estimate · object
required

Financial estimate with totals, breakdowns, and invoice projections

contract
ContractResponseSchema · object
required

Enriched contract structure (preview only, not persisted to database)