# Create Estimate Creates a new quote, proforma or fees_note. Endpoint: POST /{estimates-type}.json Version: 2.0.0 Security: apiKeyAuth ## Query parameters: - `api_key` (string, required) Your API Key. Example: "YOUR_API_KEY" ## Path parameters: - `estimates-type` (string, required) The type of the estimate document. Enum: "quotes", "proformas", "fees_notes" ## Request fields (application/json): - `quote` (object, required) - `quote.date` (string) dd/mm/yyyy Example: "22/11/2025" - `quote.due_date` (string) dd/mm/yyyy Example: "22/12/2025" - `quote.reference` (string) Example: "PO-999" - `quote.observations` (string) Example: "Services rendered" - `quote.retention` (string) Example: "0" - `quote.tax_exemption` (string) Example: "M00" - `quote.sequence_id` (string) Example: "123456" - `quote.manual_sequence_number` (string) - `quote.client` (object, required) Client Details. - `quote.client.name` (string, required) Example: "Client A" - `quote.client.code` (string, required) Example: "CLI-001" - `quote.client.email` (string) Example: "client@mail.com" - `quote.client.address` (string) Example: "Street A" - `quote.client.city` (string) Example: "Lisbon" - `quote.client.postal_code` (string) Example: "1000-100" - `quote.client.fiscal_id` (string) Example: "500999888" - `quote.client.country` (string) Example: "Portugal" - `quote.client.website` (string) Example: "www.client-a.com" - `quote.client.phone` (string) Example: "912345678" - `quote.client.fax` (string) Example: "212345678" - `quote.items` (array, required) - `quote.items.description` (string, required) Example: "IT Services" - `quote.items.unit_price` (number, required) Example: 50 - `quote.items.quantity` (number, required) Example: 2 - `quote.items.unit` (string) Example: "hour" - `quote.items.discount` (number) - `quote.items.tax` (object) - `quote.mb_reference` (string) Enum: "0", "1" - `quote.auto_add_related_document` (string) Example: "0" - `quote.tax_exemption_reason` (string) Example: "M00" ## Response 201 fields (application/json): - `quote` (object) - `quote.id` (integer) Example: 541791 - `quote.status` (string) Example: "final" - `quote.archived` (boolean) - `quote.type` (string) Example: "Quote" - `quote.sequence_number` (string) Example: "1/A" - `quote.inverted_sequence_number` (string) Example: "A/1" - `quote.atcud` (string) Example: "ABCD1234-1" - `quote.date` (string) Example: "12/06/2017" - `quote.due_date` (string) Example: "12/06/2017" - `quote.reference` (string) Example: "foo" - `quote.observations` (string) Example: "foo" - `quote.retention` (string) Example: "foo" - `quote.permalink` (string) Example: "https://www.app.invoicexpress.com/documents/541791f16ae45a73b703c684a221ef198c10020f3d56a1" - `quote.saft_hash` (string) Example: "NfTN" - `quote.sum` (number) Example: 10 - `quote.discount` (number) - `quote.before_taxes` (number) Example: 10 - `quote.taxes` (number) Example: 2.3 - `quote.total` (number) Example: 12.3 - `quote.currency` (string) Example: "Euro" - `quote.sequence_id` (string) Example: "12345" - `quote.tax_exemption` (string) Example: "M01" - `quote.client` (object) - `quote.client.name` (string) Example: "John Doe" - `quote.client.code` (string) Example: "C1" - `quote.client.country` (string) Example: "Portugal" - `quote.client.email` (string) Example: "john@example.com" - `quote.items` (array) - `quote.items.description` (string) Example: "Big Product" - `quote.items.unit_price` (number) Example: 100 - `quote.items.quantity` (number) Example: 1 - `quote.items.unit` (string) Example: "un" - `quote.items.tax` (object) - `quote.items.tax.value` (number) Example: 23 ## Response 401 fields (application/json): - `errors` (object) - `errors.error` (string) Example: "Invalid API key" ## Response 422 fields (application/json): - `errors` (object) - `errors.error` (string) Example: "undefined method `match' for 1:Integer"