List quotes
List quotes, newest first. Lines and signers are not included; read one quote for those.
GET
https://app.softsolz.uk/api/v1/services/quotes/quotesRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Headers
AuthorizationstringrequiredBearer token: Bearer sk_live_... (or sk_test_... for sandbox). A login token will not work here.
Query Params
statusstringOnly quotes in this status: draft, sent, viewed, accepted, declined, expired or converted.
contact_idstringOnly quotes for this contact.
limitintegerPage size, 1-100 (default 50).
offsetintegerNumber of quotes to skip (default 0).
Response
Response Body · array of objects
idstringQuote id.quote_numberstringQuote number shown to the customer, unique in the workspace.titlestring | nullShort title of the quote.contact_idstring | nullContact the quote is for.contact_namestring | nullFull name of that contact.contact_emailstring | nullEmail address of that contact.company_idstring | nullCompany the quote is for.company_namestring | nullName of that company.deal_idstring | nullPipeline deal the quote belongs to.statusstringWhere the quote is in its life.currencystringThree-letter currency code, exactly as sent when the quote was created.subtotal_centsintegerSum of the line totals in minor units, before discount and tax.discount_centsintegerDiscount taken off the subtotal in minor units.tax_centsintegerTax in minor units, worked out on the discounted amount.total_centsintegerAmount the customer pays in minor units.valid_untilstring | nullLast day the customer can accept the quote, as YYYY-MM-DD.is_expiredbooleanTrue when the quote is still open (draft, sent or viewed) but its valid until date has passed.notesstring | nullNotes shown to the customer.termsstring | nullTerms and conditions shown to the customer.requires_signaturebooleanWhether the customer must sign to accept.sent_atstring | nullWhen the quote was first sent.first_viewed_atstring | nullWhen the customer first opened the quote.decided_atstring | nullWhen the customer accepted or declined.declined_reasonstring | nullReason the customer gave when declining.converted_invoice_idinteger | nullInvoice raised from this quote, once converted.converted_invoice_numberstring | nullNumber of that invoice, once converted.esign_modestringHow signing works: no signature, one signer, signers in turn, or all signers at once.countersign_requiredbooleanWhether someone in your business must countersign after the customer. It is true whenever a signer from your business is on the quote. The quote stays open until that person has signed.expires_atstring | nullWhen the quote expires automatically.reminder_cadence_daysinteger | nullDays between automatic reminders, or null for none.last_reminded_atstring | nullWhen the last reminder went out.template_idstring | nullQuote template this quote was built from.owner_user_idinteger | nullWorkspace member who owns the quote.parent_quote_idstring | nullEarlier quote this one is a new version of.converted_atstring | nullWhen the quote was converted.converted_subscription_idstring | nullSubscription started from this quote, once converted.deposit_centsintegerFixed deposit asked for on acceptance, in minor units.deposit_percentnumberDeposit asked for on acceptance as a percentage of the total.deposit_paid_atstring | nullWhen the deposit was paid.approval_requiredbooleanWhether the quote must be approved inside your business before it is sent.approved_atstring | nullWhen the quote was approved.public_view_countintegerTimes the customer opened the quote.total_view_secondsintegerTotal seconds the customer spent reading the quote.owner_namestring | nullName of the workspace member who created the quote.created_atstringWhen the quote was created.updated_atstringWhen the quote last changed.Request
curl --request GET \ --url https://app.softsolz.uk/api/v1/services/quotes/quotes \ --header 'Authorization: Bearer sk_live_your_key'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 200
{ "data": [ { "id": "42", "quote_number": "Q-0007", "title": "Website redesign", "contact_id": "7d3f2b1a-9c4e-4f6a-8b2d-1e5c7a9b0f12", "contact_name": "Jane Doe", "contact_email": "jane@example.com", "company_id": null, "company_name": null, "deal_id": null, "status": "draft", "currency": "GBP", "subtotal_cents": 150000, "discount_cents": 10000, "tax_cents": 28000, "total_cents": 168000, "valid_until": "2026-12-31", "is_expired": false, "notes": "Includes two rounds of changes.", "terms": "Payment due within 14 days of acceptance.", "requires_signature": true, "sent_at": null, "first_viewed_at": null, "decided_at": null, "declined_reason": null, "converted_invoice_id": null, "converted_invoice_number": null, "esign_mode": "single", "countersign_required": false, "expires_at": null, "reminder_cadence_days": null, "last_reminded_at": null, "template_id": null, "owner_user_id": null, "parent_quote_id": null, "converted_at": null, "converted_subscription_id": null, "deposit_cents": 0, "deposit_percent": 0, "deposit_paid_at": null, "approval_required": false, "approved_at": null, "public_view_count": 0, "total_view_seconds": 0, "owner_name": "Alex Morgan", "created_at": "2026-10-01T09:00:00.000Z", "updated_at": "2026-10-01T09:00:00.000Z" } ], "meta": { "limit": 50, "offset": 0, "total": 1, "has_more": false }}