Skip to main content
PATCH
/
quotes
/
{id}
Update a quote
curl --request PATCH \
  --url https://api.corebill.io/v1/quotes/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "status": "approved",
  "notes": "Client approved via email on 2025-04-20"
}
'
{
  "data": {
    "id": "quo_p1q2r3s4t5u6",
    "quote_number": "QUO-2025-00001-1",
    "customer_id": "cus_a1b2c3d4e5f6",
    "status": "sent",
    "issue_date": "2025-04-01",
    "valid_until": "2025-05-01",
    "total": 11500,
    "currency": "USD",
    "created_at": "2025-04-01T08:00:00.000Z",
    "subtotal": 12000,
    "discount_type": "fixed",
    "discount_value": 500,
    "discount_amount": 500,
    "subtotal_after_discount": 11500,
    "tax_rate": 0,
    "tax_amount": 0,
    "notes": "Valid for 30 days",
    "payment_terms": "50% upfront, 50% on delivery",
    "updated_at": "2025-04-01T08:30:00.000Z",
    "customer": {
      "id": "cus_a1b2c3d4e5f6",
      "name": "John Doe",
      "contact_email": "[email protected]"
    },
    "public_token": "1713182400000-p1q2r3s4t5u6",
    "items": [
      {
        "id": "di_y5z6a7b8c9d0",
        "item_name": "Web Development",
        "quantity": 40,
        "unit_price": 150,
        "subtotal": 6000,
        "total": 6000,
        "sort_order": 0,
        "description": "Full-stack web application development",
        "unit": "hour"
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

API key authentication. Generate keys from the Corebill dashboard under the Developers section.

Example: Authorization: Bearer sk_live_abc123def456

Path Parameters

id
string
required

The quote ID

Query Parameters

company_id
string
required

The company ID to scope the request to

Body

application/json

All fields are optional. Any combination of fields can be updated.

customer_id
string

Customer ID

Example:

"cus_a1b2c3d4e5f6"

issue_date
string<date>

Quote issue date

Example:

"2025-04-20"

valid_until
string<date>

Quote expiration date

Example:

"2025-05-20"

currency
string

Currency code

Example:

"USD"

notes
string

Quote notes visible to the customer

Example:

"Client approved via email"

payment_terms
string

Payment terms description

Example:

"Net 30"

status
enum<string>

Quote status

Available options:
draft,
sent,
viewed,
approved,
rejected,
expired,
converted
Example:

"approved"

subtotal
number<double>

Subtotal before discount

Example:

12000

discount_type
enum<string>

Discount type

Available options:
percentage,
fixed
Example:

"fixed"

discount_value
number

Discount value

Example:

500

discount_amount
number<double>

Calculated discount amount

Example:

500

subtotal_after_discount
number<double>

Subtotal minus discount

Example:

11500

tax_rate
number

Tax rate as percentage

Example:

0

tax_id
string

Tax identifier

Example:

"VAT"

tax_amount
number<double>

Calculated tax amount

Example:

0

total
number<double>

Final total

Example:

11500

Response

Quote updated successfully

data
object
required

Full quote object including items and public_token (returned by GET /quotes/{id} and POST /quotes)