Create quote

Create a draft quote for a client with line items and a valid-until date.

POST https://cotlet.dev/api/v1/invoice-ninja/clients/{client_id}/quotes

write

Creates a quote as a draft and returns its number and total. A quote has no effect on the client balance until it becomes an invoice, and a draft is invisible to the client until you send it with send_quote. Valid until is optional; when the client record sets a default quote validity period, Invoice Ninja applies it. create_quote runs without asking first: a draft reaches nobody and you can delete it in Invoice Ninja.

Parameters

Parameters: create_quote
NameTypeDescription
company string string Company name, for accounts with several companies. Default: the company open when you signed in.
client_id string required string Client ID from list_clients or create_client.
items array required array Line items. Each has product (name from list_products or free text), description, unit_cost and quantity (decimals allowed).
quote_date date date Default: today.
valid_until date date Expiry date of the price. Default: none, or the validity period set on the client.
public_notes string string Note the client sees on the quote.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/invoice-ninja/clients/client_8c41d2/quotes \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items":"items"}'
Python
result = client.call("invoice-ninja", "create_quote", {"client_id":"client_8c41d2","items":"items"})
Node.js
const result = await cotlet.call('invoice-ninja', 'create_quote', {"client_id":"client_8c41d2","items":"items"});
CLI
cotlet call invoice-ninja create_quote --data '{"client_id":"client_8c41d2","items":"items"}'

Example response

JSON

{
  "quote_number": "Q-0017",
  "client": "Kestrel Labs",
  "status": "draft",
  "quote_date": "2026-10-14",
  "valid_until": "2026-11-13",
  "currency": "USD",
  "items": [
    {
      "product": "Brand refresh",
      "description": "Brand refresh, fixed price",
      "unit_cost": 2400,
      "quantity": 1,
      "line_total": 2400
    }
  ],
  "amount": 2400
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.