Create estimate

POST /api/v1/estimates

Create a new estimate in draft status.

Operation ID: create_estimate_api_v1_estimates_post · View as markdown · OpenAPI slice

Authentication

Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.

Request body

customer_id string required

Customer to send estimate to

line_items array · EstimateLineItem requiredEstimateLineItem

Line items

5 fields
variant_id string

Product variant ID or null for custom

description string required

Line item description

quantity integer

Quantity

unit_price integer required

Unit price in cents

amount integer required

Total amount in cents (qty * unit_price)

due_date string

Proposed payment due date (YYYY-MM-DD)

expiration_date string

Estimate expiration date (YYYY-MM-DD)

description string

Estimate description

internal_notes string

Internal notes

currency string

Currency code

Responses

201 Successful Response

id string required
business_id string required
customer_id string required
number string
status string required
currency string required
total integer
total_in_dollars string
description string
internal_notes string
line_items object
due_date string · date-time
expiration_date string · date-time
converted_invoice_id string
sent_at string · date-time
accepted_at string · date-time
declined_at string · date-time
converted_at string · date-time
pdf_url string
created_at string · date-time required
updated_at string · date-time required
customer_name string
can_be_sent boolean
can_be_accepted boolean
can_be_declined boolean
can_be_converted boolean
can_be_updated boolean
can_be_deleted boolean

400 Bad Request - Invalid input

401 Unauthorized - Authentication required

403 Forbidden - Insufficient permissions

404 Not Found - Resource does not exist

422 Validation Error

detail array · ValidationError ValidationError
5 fields
loc array · string | integer required
msg string required
type string required
input object
ctx object