Properties
| Name | Type | Description |
|---|---|---|
| id | object | |
| downstream_id | object | |
| number | string | Quote number. |
| customer | object | |
| invoice_id | object | |
| sales_order_id | object | |
| company_id | object | |
| department_id | object | |
| project_id | object | |
| quote_date | string | Date quote was issued - YYYY-MM-DD. |
| expiry_date | string | The date until which the quote is valid - YYYY-MM-DD. |
| terms | string | Terms of the quote. |
| terms_id | object | |
| reference | object | |
| status | string | Quote status |
| currency | object | |
| currency_rate | object | |
| tax_inclusive | object | |
| sub_total | number | Sub-total amount, normally before tax. |
| total_tax | number | Total tax amount applied to this quote. |
| tax_code | string | Applicable tax id/code override if tax is not supplied on a line item basis. |
| discount_percentage | number | Discount percentage applied to this quote. |
| discount_amount | number | Discount amount applied to this quote. |
| total | number | Total amount of quote, including tax. |
| customer_memo | string | Customer memo |
| line_items | array | |
| billing_address | object | |
| shipping_address | object | |
| tracking_categories | object | |
| template_id | string | Optional quote template |
| source_document_url | string | URL link to a source document - shown as 'Go to [appName]' in the downstream app. |
| custom_fields | array | |
| row_version | object | |
| updated_by | object | |
| created_by | object | |
| updated_at | object | |
| created_at | object | |
| pass_through | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/Quote",
"title": "Quote",
"type": "object",
"x-apideck-schema-id": "Quote",
"additionalProperties": false,
"x-apideck-weights": {
"id": "critical",
"downstream_id": "low",
"type": "high",
"number": "high",
"customer": "high",
"invoice_id": "medium",
"sales_order_id": "medium",
"company_id": "medium",
"department_id": "low",
"project_id": "medium",
"quote_date": "edge-case",
"expiry_date": "edge-case",
"terms": "low",
"terms_id": "edge-case",
"reference": "low",
"status": "critical",
"currency": "medium",
"currency_rate": "low",
"tax_inclusive": "low",
"sub_total": "high",
"total_tax": "high",
"tax_code": "medium",
"discount_percentage": "medium",
"discount_amount": "medium",
"total": "critical",
"customer_memo": "low",
"line_items": "critical",
"billing_address": "high",
"shipping_address": "medium",
"tracking_categories": "medium",
"template_id": "edge-case",
"source_document_url": "edge-case",
"custom_fields": "medium",
"row_version": "low",
"updated_by": "low",
"created_by": "low",
"created_at": "high",
"updated_at": "high",
"pass_through": "low"
},
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"downstream_id": {
"$ref": "#/components/schemas/DownstreamId"
},
"number": {
"type": "string",
"title": "Quote number",
"description": "Quote number.",
"example": "QT00546",
"nullable": true
},
"customer": {
"$ref": "#/components/schemas/LinkedCustomer"
},
"invoice_id": {
"$ref": "#/components/schemas/AccountingInvoiceId"
},
"sales_order_id": {
"$ref": "#/components/schemas/AccountingSalesOrderId"
},
"company_id": {
"$ref": "#/components/schemas/AccountingCompanyId"
},
"department_id": {
"$ref": "#/components/schemas/DepartmentId"
},
"project_id": {
"$ref": "#/components/schemas/AccountingProjectId"
},
"quote_date": {
"type": "string",
"title": "Quote date",
"description": "Date quote was issued - YYYY-MM-DD.",
"format": "date",
"example": "2020-09-30",
"nullable": true
},
"expiry_date": {
"type": "string",
"title": "Expiry date",
"description": "The date until which the quote is valid - YYYY-MM-DD.",
"format": "date",
"example": "2020-10-30",
"nullable": true
},
"terms": {
"type": "string",
"title": "Terms",
"description": "Terms of the quote.",
"example": "Valid for 30 days",
"nullable": true
},
"terms_id": {
"$ref": "#/components/schemas/TermsId"
},
"reference": {
"$ref": "#/components/schemas/Reference"
},
"status": {
"type": "string",
"title": "Status",
"description": "Quote status",
"example": "draft",
"x-apideck-enum-id": "quotes.status",
"enum": [
"draft",
"sent",
"accepted",
"rejected",
"expired",
"converted",
"void",
"deleted"
],
"nullable": true
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"currency_rate": {
"$ref": "#/components/schemas/CurrencyRate"
},
"tax_inclusive": {
"$ref": "#/components/schemas/TaxInclusive"
},
"sub_total": {
"title": "Sub-total amount",
"description": "Sub-total amount, normally before tax.",
"type": "number",
"example": 27500,
"nullable": true
},
"total_tax": {
"type": "number",
"title": "Total tax amount",
"description": "Total tax amount applied to this quote.",
"example": 2500,
"nullable": true
},
"tax_code": {
"type": "string",
"title": "Tax Code",
"description": "Applicable tax id/code override if tax is not supplied on a line item basis.",
"example": "1234",
"nullable": true
},
"discount_percentage": {
"type": "number",
"title": "Discount Percent",
"description": "Discount percentage applied to this quote.",
"example": 5.5,
"nullable": true
},
"discount_amount": {
"type": "number",
"title": "Discount Amount",
"description": "Discount amount applied to this quote.",
"example": 25,
"nullable": true
},
"total": {
"type": "number",
"title": "Total amount",
"description": "Total amount of quote, including tax.",
"example": 27500,
"nullable": true
},
"customer_memo": {
"type": "string",
"title": "Customer memo",
"description": "Customer memo",
"example": "Thank you for considering our services!",
"nullable": true
},
"line_items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QuoteLineItem"
}
},
"billing_address": {
"$ref": "#/components/schemas/Address"
},
"shipping_address": {
"$ref": "#/components/schemas/Address"
},
"tracking_categories": {
"$ref": "#/components/schemas/LinkedTrackingCategories"
},
"template_id": {
"type": "string",
"title": "Template",
"description": "Optional quote template",
"example": "123456",
"nullable": true
},
"source_document_url": {
"type": "string",
"title": "Source document URL",
"description": "URL link to a source document - shown as 'Go to [appName]' in the downstream app.",
"example": "https://www.quotesolution.com/quote/123456",
"nullable": true
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomField"
}
},
"row_version": {
"$ref": "#/components/schemas/RowVersion"
},
"updated_by": {
"$ref": "#/components/schemas/UpdatedBy"
},
"created_by": {
"$ref": "#/components/schemas/CreatedBy"
},
"updated_at": {
"$ref": "#/components/schemas/UpdatedAt"
},
"created_at": {
"$ref": "#/components/schemas/CreatedAt"
},
"pass_through": {
"$ref": "#/components/schemas/PassThroughBody"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/apideck-quote"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.