Get Quote
curl --request GET \
--url https://qwoty.app/api/quote/{id} \
--header 'Authorization: <authorization>'{
"success": true,
"data": {
"quote": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"number": "Q-2024-001",
"status": "sent",
"publish": true,
"issue_date": "2026-03-10T09:15:00.000Z",
"owner": {
"id": "2f4c94f0-a27d-45e3-8b5e-b4ad0c9f57c9",
"first_name": "Paul",
"last_name": "Martin",
"email": "paul@acme.com",
"external_ids": {
"crm": "CRM-7654321",
"erp": "ERP-7654321",
"accounting": "ACC-7654321"
}
},
"expiration_date": "2024-12-31T23:59:59Z",
"currency": "EUR",
"language": "en",
"title": "Q4 2024 Services Proposal",
"opportunity_id": "opp_123456",
"pdf_link": "https://storage.qwoty.io/project/path/to/quote.pdf?token=...&expires=1744233600",
"dealroom_link": "https://qwoty.app/dealroom/abc123",
"business_unit": {
"id": "bu_123",
"type": "company",
"brand": "Acme",
"name": "Acme Corporation",
"logo": {
"url": "https://storage.qwoty.io/logos/acme.png",
"alt": "Acme Logo"
},
"tax_ids": [
{
"code": "VAT",
"value": "FR12345678901"
}
],
"address": {
"line1": "123 Main Street",
"city": "Paris",
"postal_code": "75001",
"country": "France",
"country_code": "FR"
}
},
"customer": {
"id": "cust_456",
"type": "company",
"name": "Customer Inc.",
"external_ids": {
"crm": "CRM-1234567",
"erp": null,
"accounting": "ACC-1234567"
},
"contacts": [
{
"id": "contact_789",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@customer.com",
"role": "decision_maker"
}
],
"billing_address": {
"line1": "456 Customer Ave",
"line2": null,
"city": "Lyon",
"postal_code": "69001",
"country": "France",
"country_code": "FR"
},
"shipping_address": null,
"custom_properties": {
"industry": "SaaS",
"account_manager": "Sophie Dubois"
}
},
"pricing_table": {
"settings": {
"is_prices_hidden": false
},
"sections": [
{
"id": "section_001",
"type": "standard",
"rank": 1,
"name": "Professional Services",
"phases": [
{
"id": "period_001",
"name": "Year 1",
"rank": 1,
"line_items": [
{
"id": "item_001",
"rank": 1,
"product": {
"product_id": "prod_123",
"name": "Consulting Services",
"unit_of_measure": "hour"
},
"quantity": 100,
"pricing": {
"model": "per_unit",
"list_price": 150.0,
"currency": "EUR"
}
}
]
}
]
}
]
},
"summary": {
"one_off": {
"net_amount": 50000.0,
"tax_amount": 10000.0,
"total_amount": 60000.0
},
"recurring": [
{
"interval": "month",
"interval_count": 1,
"net_amount": 5000.0,
"tax_amount": 1000.0,
"total_amount": 6000.0
}
],
"metrics": {
"mrr": 5000.0,
"arr": 60000.0,
"tcv": 180000.0
}
},
"recipients": {
"signature_type": "restricted",
"signing_order": "parallel",
"signers": [
{
"rank": 1,
"name": "Michel Lee",
"email": "michel.lee@external.com",
"type": "external",
"status": "not_viewed"
}
],
"viewers": [
{
"name": "Emmanuel Laureau",
"email": "emmanuel.laureau@company.com",
"user_id": "usr_001",
"type": "internal",
"status": "not_viewed"
}
]
},
"metadata": {
"created_at": "2024-12-01T10:00:00Z",
"updated_at": "2024-12-15T14:30:00Z",
"template_id": "tmpl_123",
"workspace_id": "ws_123",
"organisation_id": "org_123"
}
}
}
}
Quotes
Get Quote
Retrieve the complete quote for a specific project
GET
/
api
/
quote
/
{id}
Get Quote
curl --request GET \
--url https://qwoty.app/api/quote/{id} \
--header 'Authorization: <authorization>'{
"success": true,
"data": {
"quote": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"number": "Q-2024-001",
"status": "sent",
"publish": true,
"issue_date": "2026-03-10T09:15:00.000Z",
"owner": {
"id": "2f4c94f0-a27d-45e3-8b5e-b4ad0c9f57c9",
"first_name": "Paul",
"last_name": "Martin",
"email": "paul@acme.com",
"external_ids": {
"crm": "CRM-7654321",
"erp": "ERP-7654321",
"accounting": "ACC-7654321"
}
},
"expiration_date": "2024-12-31T23:59:59Z",
"currency": "EUR",
"language": "en",
"title": "Q4 2024 Services Proposal",
"opportunity_id": "opp_123456",
"pdf_link": "https://storage.qwoty.io/project/path/to/quote.pdf?token=...&expires=1744233600",
"dealroom_link": "https://qwoty.app/dealroom/abc123",
"business_unit": {
"id": "bu_123",
"type": "company",
"brand": "Acme",
"name": "Acme Corporation",
"logo": {
"url": "https://storage.qwoty.io/logos/acme.png",
"alt": "Acme Logo"
},
"tax_ids": [
{
"code": "VAT",
"value": "FR12345678901"
}
],
"address": {
"line1": "123 Main Street",
"city": "Paris",
"postal_code": "75001",
"country": "France",
"country_code": "FR"
}
},
"customer": {
"id": "cust_456",
"type": "company",
"name": "Customer Inc.",
"external_ids": {
"crm": "CRM-1234567",
"erp": null,
"accounting": "ACC-1234567"
},
"contacts": [
{
"id": "contact_789",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@customer.com",
"role": "decision_maker"
}
],
"billing_address": {
"line1": "456 Customer Ave",
"line2": null,
"city": "Lyon",
"postal_code": "69001",
"country": "France",
"country_code": "FR"
},
"shipping_address": null,
"custom_properties": {
"industry": "SaaS",
"account_manager": "Sophie Dubois"
}
},
"pricing_table": {
"settings": {
"is_prices_hidden": false
},
"sections": [
{
"id": "section_001",
"type": "standard",
"rank": 1,
"name": "Professional Services",
"phases": [
{
"id": "period_001",
"name": "Year 1",
"rank": 1,
"line_items": [
{
"id": "item_001",
"rank": 1,
"product": {
"product_id": "prod_123",
"name": "Consulting Services",
"unit_of_measure": "hour"
},
"quantity": 100,
"pricing": {
"model": "per_unit",
"list_price": 150.0,
"currency": "EUR"
}
}
]
}
]
}
]
},
"summary": {
"one_off": {
"net_amount": 50000.0,
"tax_amount": 10000.0,
"total_amount": 60000.0
},
"recurring": [
{
"interval": "month",
"interval_count": 1,
"net_amount": 5000.0,
"tax_amount": 1000.0,
"total_amount": 6000.0
}
],
"metrics": {
"mrr": 5000.0,
"arr": 60000.0,
"tcv": 180000.0
}
},
"recipients": {
"signature_type": "restricted",
"signing_order": "parallel",
"signers": [
{
"rank": 1,
"name": "Michel Lee",
"email": "michel.lee@external.com",
"type": "external",
"status": "not_viewed"
}
],
"viewers": [
{
"name": "Emmanuel Laureau",
"email": "emmanuel.laureau@company.com",
"user_id": "usr_001",
"type": "internal",
"status": "not_viewed"
}
]
},
"metadata": {
"created_at": "2024-12-01T10:00:00Z",
"updated_at": "2024-12-15T14:30:00Z",
"template_id": "tmpl_123",
"workspace_id": "ws_123",
"organisation_id": "org_123"
}
}
}
}
Authorization
Bearer token for authentication. Format:
Bearer qwoty_your_tokenPath Parameters
UUID of the project
Examples
curl https://qwoty.app/api/quote/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer qwoty_your_token"
Response
Indicates if the request was successful
The quote data wrapper
Show Quote Object
Show Quote Object
Complete quote information
Show Quote Structure
Show Quote Structure
Unique quote identifier (UUID)
Human-readable quote number
Quote status (e.g., ‘draft’, ‘sent’, ‘accepted’)
Indicates whether the quote is currently published
First recipient send date (
email_sent_timestamp of the first sent recipient)ISO 8601 expiration date
Currency code (e.g., ‘EUR’, ‘USD’)
Language code (e.g., ‘en’, ‘fr’)
Quote title
Associated CRM opportunity ID
Pre-signed URL (valid 1 hour) pointing to the generated PDF.
null if no PDF has been generated yet for this quote (e.g. the quote has never been downloaded or signed).URL to customer dealroom
Business unit information including brand, address, logo, and tax IDs
Customer information including company details, contacts, billing and shipping addresses
Show Customer
Show Customer
Customer UUID
Entity type:
company or individualCompany or individual name
External system identifiers:
crm, erp, accountingList of contacts with
id, first_name, last_name, email, roleBilling address with
line1, line2, city, postal_code, country (full name), country_code (ISO 3166-1 alpha-2)Shipping address with
line1, line2, city, postal_code, country (full name), country_code (ISO 3166-1 alpha-2)Key/value map of custom field values defined for this customer. Keys are the API names of the custom field definitions. Only present when at least one custom field has a value.
Complete pricing structure with sections, line items, and periods
Line-level and global discounts applied
Sales tax configuration and amounts
Payment terms and installments
Accepted payment methods
Customer account balance information
Content blocks for quote customization (text, images, etc.)
Associated contracts with signature status
Signature recipients grouped by
signers and viewers, with signature_type and signing_orderCreation/update timestamps and context metadata
{
"success": true,
"data": {
"quote": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"number": "Q-2024-001",
"status": "sent",
"publish": true,
"issue_date": "2026-03-10T09:15:00.000Z",
"owner": {
"id": "2f4c94f0-a27d-45e3-8b5e-b4ad0c9f57c9",
"first_name": "Paul",
"last_name": "Martin",
"email": "paul@acme.com",
"external_ids": {
"crm": "CRM-7654321",
"erp": "ERP-7654321",
"accounting": "ACC-7654321"
}
},
"expiration_date": "2024-12-31T23:59:59Z",
"currency": "EUR",
"language": "en",
"title": "Q4 2024 Services Proposal",
"opportunity_id": "opp_123456",
"pdf_link": "https://storage.qwoty.io/project/path/to/quote.pdf?token=...&expires=1744233600",
"dealroom_link": "https://qwoty.app/dealroom/abc123",
"business_unit": {
"id": "bu_123",
"type": "company",
"brand": "Acme",
"name": "Acme Corporation",
"logo": {
"url": "https://storage.qwoty.io/logos/acme.png",
"alt": "Acme Logo"
},
"tax_ids": [
{
"code": "VAT",
"value": "FR12345678901"
}
],
"address": {
"line1": "123 Main Street",
"city": "Paris",
"postal_code": "75001",
"country": "France",
"country_code": "FR"
}
},
"customer": {
"id": "cust_456",
"type": "company",
"name": "Customer Inc.",
"external_ids": {
"crm": "CRM-1234567",
"erp": null,
"accounting": "ACC-1234567"
},
"contacts": [
{
"id": "contact_789",
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@customer.com",
"role": "decision_maker"
}
],
"billing_address": {
"line1": "456 Customer Ave",
"line2": null,
"city": "Lyon",
"postal_code": "69001",
"country": "France",
"country_code": "FR"
},
"shipping_address": null,
"custom_properties": {
"industry": "SaaS",
"account_manager": "Sophie Dubois"
}
},
"pricing_table": {
"settings": {
"is_prices_hidden": false
},
"sections": [
{
"id": "section_001",
"type": "standard",
"rank": 1,
"name": "Professional Services",
"phases": [
{
"id": "period_001",
"name": "Year 1",
"rank": 1,
"line_items": [
{
"id": "item_001",
"rank": 1,
"product": {
"product_id": "prod_123",
"name": "Consulting Services",
"unit_of_measure": "hour"
},
"quantity": 100,
"pricing": {
"model": "per_unit",
"list_price": 150.0,
"currency": "EUR"
}
}
]
}
]
}
]
},
"summary": {
"one_off": {
"net_amount": 50000.0,
"tax_amount": 10000.0,
"total_amount": 60000.0
},
"recurring": [
{
"interval": "month",
"interval_count": 1,
"net_amount": 5000.0,
"tax_amount": 1000.0,
"total_amount": 6000.0
}
],
"metrics": {
"mrr": 5000.0,
"arr": 60000.0,
"tcv": 180000.0
}
},
"recipients": {
"signature_type": "restricted",
"signing_order": "parallel",
"signers": [
{
"rank": 1,
"name": "Michel Lee",
"email": "michel.lee@external.com",
"type": "external",
"status": "not_viewed"
}
],
"viewers": [
{
"name": "Emmanuel Laureau",
"email": "emmanuel.laureau@company.com",
"user_id": "usr_001",
"type": "internal",
"status": "not_viewed"
}
]
},
"metadata": {
"created_at": "2024-12-01T10:00:00Z",
"updated_at": "2024-12-15T14:30:00Z",
"template_id": "tmpl_123",
"workspace_id": "ws_123",
"organisation_id": "org_123"
}
}
}
}
Error Responses
{
"success": false,
"error": "Project not found"
}
Notes
The quote endpoint returns a comprehensive structure including:- Seller & Customer: Complete company and contact information, including custom field values (
custom_properties) - Pricing Table: All products/services organized by sections and time periods
- Summary: One-off totals, recurring totals by interval, and metrics (
mrr,arr,tcv) - Discounts & Taxes: Applied discounts and tax calculations
- Content & Contracts: Customizable content blocks and signature-ready contracts
- Recipients: Signature recipients grouped by signers/viewers
- Display quotes in customer dealrooms
- Generate PDF documents
- Integrate with CRM systems
- Track quote metrics and performance
Was this page helpful?
⌘I

