Skip to main content
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": {
        "id": "2f4c94f0-a27d-45e3-8b5e-b4ad0c9f57c9",
        "name": "Paul 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/quotes/Q-2024-001.pdf",
      "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"
        }
      },
      "customer": {
        "id": "cust_456",
        "type": "company",
        "name": "Customer Inc.",
        "contacts": [
          {
            "id": "contact_789",
            "first_name": "John",
            "last_name": "Doe",
            "email": "john.doe@customer.com",
            "role": "decision_maker"
          }
        ]
      },
      "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

Authorization
string
required
Bearer token for authentication. Format: Bearer qwoty_your_token

Path Parameters

id
string
required
UUID of the project

Examples

curl https://qwoty.app/api/quote/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer qwoty_your_token"

Response

success
boolean
Indicates if the request was successful
data
object
The quote data wrapper
{
  "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": {
        "id": "2f4c94f0-a27d-45e3-8b5e-b4ad0c9f57c9",
        "name": "Paul 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/quotes/Q-2024-001.pdf",
      "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"
        }
      },
      "customer": {
        "id": "cust_456",
        "type": "company",
        "name": "Customer Inc.",
        "contacts": [
          {
            "id": "contact_789",
            "first_name": "John",
            "last_name": "Doe",
            "email": "john.doe@customer.com",
            "role": "decision_maker"
          }
        ]
      },
      "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
  • 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
This endpoint is typically used to:
  • Display quotes in customer dealrooms
  • Generate PDF documents
  • Integrate with CRM systems
  • Track quote metrics and performance