Create an estimate

Create an estimate for a customer or lead.

POST https://cotlet.dev/api/v1/method-crm/contacts/{contact_id}/estimates

write Confirm

Returns the estimate ID and total. Items must exist in your Items App; an unknown item fails and the error lists nearby names. With the hold on, nothing reaches QuickBooks, and for a lead the conversion happens only when you release it. It sends nothing to the customer. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: create_estimate
NameTypeDescription
contact_id string required string Customer or lead ID.
date string required string YYYY-MM-DD.
expiration_date string string YYYY-MM-DD.
lines array required array Objects with item (a name from your Items), quantity and optional rate.
customer_message string string Shown to the customer.
wait_for_sync_approval boolean boolean Ticks "Wait for approval before syncing" so QuickBooks stays untouched until you untick it in Method. Default true.

Request

cURL
curl -X POST https://cotlet.dev/api/v1/method-crm/contacts/contact_8c41d2/estimates \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"date","lines":"lines"}'
Python
result = client.call("method-crm", "create_estimate", {"contact_id":"contact_8c41d2","date":"date","lines":"lines"})
Node.js
const result = await cotlet.call('method-crm', 'create_estimate', {"contact_id":"contact_8c41d2","date":"date","lines":"lines"});
CLI
cotlet call method-crm create_estimate --data '{"contact_id":"contact_8c41d2","date":"date","lines":"lines"}'

Example response

JSON

{
  "estimate_id": "2230",
  "customer": "Ortega Kitchens",
  "total": 1850,
  "status": "Pending",
  "sync": "held"
}

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.