Quotes

Create quote

Method: POST

URL: /quotes


Required Fields:

  • email
  • first_name
  • last_name


Regarding line_litems:

If  custom_product is TRUE, then the price and title fields are required for the product to be added to the quote.


If custom_product is FALSE, the variant_id field is required for the product to be added to the quote.


This endpoint will return 200 OK with the current JSON representation of the Quote if the creation was a success. See Get Quote endpoint for more info on the payload.

Example JSON request

Get quote

Method: GET

URL: /quotes/1234


Returns the quote with the ID of 1234

Example JSON response

Get quotes

Method: GET

URL: /quotes


Returns a paginated list of all quotes in a the shop


Optional URL parameters:

  • page: The value that was returned in the next_page property from a previous request
  • page_size: The number of results per page

The endpoint will return a property called next_page . This is a cursor value and can be passed as the page parameter on subsequent calls to get the next page of results.

Example JSON response

Update quote

Method: PUT 

Url: /quotes/1 


will update the quote with the id of 1


Only open quotes with a status of Created, Sent, and Viewed can be edited. If you try to update a quote with another status, you will receive a 400 error with a message that the quote has already been accepted or declined and can no longer be edited.


This endpoint will return 200 OK with the current JSON representation of the Quote if the creation was a success. See the Get Quote endpoint for more info on the payload.

Example JSON Request to update the internal notes 

Example JSON Request to update the quote status

Valid statuses are created, sent, viewed, accepted, declined, canceled, and ordered.

Example JSON Request to remove the assigned Shopify customer

Example JSON Request to update the customer information

Example JSON Request to update the custom fields

The id of the custom field can be found on the Custom Form Fields page.

When updating radio, drop down, and checklist field types, the value passed must be an existing option for the selected field. If the option does not exist, then the value for the custom field will be removed.


When updating dates, if the date is not in the correct format, the value will be removed from the custom field. Valid date formats are:

  • YYYY-MM-DD
  • MM-DD-YYYY


When updating an address field type the value passed should be a valid JSON address object with the following format. If the address is not in the correct format the value will be removed from the custom field.

Passing an empty value for a custom field will remove the existing value from the quote.

Example JSON Request to add discount 

Valid discount types are fixed_amount and percentage

Example JSON Request to add custom shipping charge 

Only custom shipping rates can be added through the API. 

Delete quote

Method: DELETE 

URL: /quotes/1 


will delete the quote from your shop with the id of 1


No parameters are required. Returns 200 OK if successful.

Send quote

Method: POST 

Url: /quotes/email 


will send the quote email to the customer


Required fields:

  • quote_id


This endpoint will return 200 OK if the request was a success. 

Example JSON request

Get quotes by customer ID

Method: GET 

URL: /customers/1234/quotes


will return a paginated list of all quotes created for the customer with the ID 1234


Optional URL parameters:

  • page: The value that was returned in the next_page property from a previous request
  • page_size: The number of results per page

The endpoint will return a property called next_page . This is a cursor value and can be passed as the page parameter on subsequent calls to get the next page of results.

Example JSON response

Was this article helpful?

0 out of 0 liked this article

Still need help? Message Us