Creates a new quotation.
The recommended happy path is to send clientId and items.
If the client does not exist in Fintoro yet, or you do not want to create it in a separate step, send a client object without clientId. The backend will try to match an existing client and create a new one only if nothing matches.
If you send both clientId and a client object, the client object acts as a sparse snapshot override for this specific quotation.
Most document fields are optional. The backend resolves them in this order:
In practice this means for example:
number and numericalSeriesId are resolved from the primary numbering series if you omit them,issueDate defaults to today,validityDate defaults to issueDate + 30 days,transferTaxLiability defaults to false,currencyId, languageId, note, and textAboveItems can be resolved from client defaults or company document settings.Client resolution is strictly deterministic:
clientId, the backend loads that client within the token scope,clientId, the client object is used for matching or creation,clientId and client, the client object is used only as a document snapshot override.Matching is deterministic and uses this order:
vatId, then countryId + subjectId, then name + email, then name + street,name + email, then name + street.An item can be created in three ways:
priceListItemId and quantity,priceListItemId plus sparse overrides for selected fields such as price or name.priceListItemId is used only for input hydration. The quotation response returns the final canonical item shape and does not echo this price list reference back as a separate field.
Quotations do not use per-item uuid; if you send it, the backend ignores it. warehouseAllocations are not supported for quotations.
The initial quotation status is waiting.
If you send Idempotency-Key, the same key with the same payload returns the original response without creating a second quotation.
Bearer token created for a specific company in Integrations → API.
Optional request identifier for safe retries. Use a unique value for each create request you want to retry safely.
"invoice-create-2026-03-03-001"
Payload used to create a quotation. In the common case, sending clientId and items is enough; the backend can resolve the remaining fields. You must send either clientId or the client object.
Existing client ID. This is the recommended way to create a quotation. If you also send the client object, it is used as a sparse client snapshot override for this specific document.
101
Quotation items. This field is always required. Per-item uuid is not part of the request contract; if you send it, the backend ignores it. warehouseAllocations are not supported for quotations.
1 - 100 elementsPayload of a single quotation item. Three modes are supported: a manual item, priceListItemId + quantity, or priceListItemId with sparse overrides for selected fields. quantity is always required. If you do not send priceListItemId, you must send name, unitPrice, and vatRate. unitId is optional; when you omit it for a manual item, the backend defaults to unit 1 (piece / Unit::Piece). If you do send priceListItemId, the backend can hydrate the name, unit, price, and VAT rate from the price list item and the payload acts only as a sparse override. uuid is not part of the quotation request contract; if you send it, the backend ignores it. warehouseAllocations are not supported for quotations.
Manual quotation number. If omitted, the backend generates it from the numbering series. If you send number, do not send numericalSeriesId in the same payload.
1 - 20"20260001"
Sparse client payload. If you send clientId, it acts as a snapshot override for this document. If you omit clientId, the backend uses these values to match or create a client.
Optional business case ID. When sent, it must be available in the token scope and to the client resolved as the final clientId.
701
Numbering series ID. If omitted together with number, the primary numbering series for quotations is used. If you send numericalSeriesId, do not send manual number in the same payload.
12
Issue date in Y-m-d format. It must be after 2009-01-01 and before the date one year in the future. If omitted, today is used.
"2026-03-03"
Validity date in Y-m-d format. It must be equal to or later than the final issueDate. If omitted, issueDate + 30 days is used.
"2026-04-02"
Document-level discount type.
percentage, fixed "percentage"
Document-level discount value.
x >= 010
Reverse-charge flag. If omitted, false is used.
false
Currency ID from the currency reference table. Resolution priority is payload -> client preference -> company document settings.
1
Language ID from the language reference table. Resolution priority is payload -> client preference -> company document settings.
1
Document note. Resolution priority is payload -> client preference -> company document settings.
3000"This quotation is valid for 30 days."
Text displayed above items. Resolution priority is payload -> client preference -> company document settings.
3000"Thank you for your interest."
The quotation was created.
Quotation.
601
"6b1b8c9e-66e6-4fb5-b2db-6d7c7f0f8f19"
"quotation"
"20260001"
Absolute URL of the public web document for this quotation.
"https://app.fintoro.sk/web-doklad/cp/4f3f8a95-5c4a-4c8b-9e6c-8a0c1a5df3a1"
Absolute URL of the Fintoro API endpoint that downloads this quotation PDF as an attachment.
"https://app.fintoro.sk/api/public/v1/quotations/601/pdf"
Supplier snapshot stored directly on this document.
Live ID of the client linked to the quotation.
101
Historical client snapshot stored directly on this document.
"2026-03-03"
"2026-04-02"
Optional business case ID. When sent, it must belong to the client selected on the document.
701
percentage, fixed "percentage"
10
false
12
Currency ID from the currency reference table.
1
Language ID from the language reference table.
1
"This quotation is valid for 30 days."
"Thank you for your interest."
200
240
200
240
waiting, accepted, rejected "waiting"
true