[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Create a quote

> Create a quote for services at a location, as a draft. Inputs, cURL, Python and Node.js examples and an example response.

Source: https://cotlet.dev/docs/api/servicetrade/create_quote

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

Create a quote for services at a location, as a draft.

ServiceTrade API: https://cotlet.dev/docs/api/servicetrade.md

`POST https://cotlet.dev/api/v1/servicetrade/locations/{location_id}/quotes`

Access: write. Confirm: waits for the user's OK before it runs.

Returns the new quote with its number and status. A draft quote is not sent to the customer; use submit_quote for that. Prices come from the contract and line items in ServiceTrade. By default you confirm each call; you can switch that off for this tool.

## Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `location_id` | integer | yes | Location where the work is done, from list_locations. |
| `name` | string | yes | Quote name. |
| `description` | string | yes | Description of the work to be quoted. |
| `job_type` | string | yes | A ServiceTrade job type for the job the quote creates, such as repair, inspection_repair or replacement. |
| `service_request_ids` | array | yes | Services the quote covers, from list_service_requests. They must belong to the location. |
| `status` | string | no | One of draft, new. |

## Request

**cURL**

```bash
curl -X POST https://cotlet.dev/api/v1/servicetrade/locations/5120/quotes \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Repair: fire pump controller, Harbor Point Mall","description":"Replace the failed pressure switch and retest the fire pump controller.","job_type":"repair","service_request_ids":[77302],"status":"draft"}'
```

**Python**

```python
result = client.call("servicetrade", "create_quote", {"location_id":5120,"name":"Repair: fire pump controller, Harbor Point Mall","description":"Replace the failed pressure switch and retest the fire pump controller.","job_type":"repair","service_request_ids":[77302],"status":"draft"})
```

**Node.js**

```js
const result = await cotlet.call('servicetrade', 'create_quote', {"location_id":5120,"name":"Repair: fire pump controller, Harbor Point Mall","description":"Replace the failed pressure switch and retest the fire pump controller.","job_type":"repair","service_request_ids":[77302],"status":"draft"});
```

**CLI**

```bash
cotlet call servicetrade create_quote --data '{"location_id":5120,"name":"Repair: fire pump controller, Harbor Point Mall","description":"Replace the failed pressure switch and retest the fire pump controller.","job_type":"repair","service_request_ids":[77302],"status":"draft"}'
```

## Example response

```json
{
  "quote_id": 20418,
  "ref_number": "20418",
  "name": "Repair: fire pump controller, Harbor Point Mall",
  "status": "draft",
  "location": {
    "id": 5120,
    "name": "Harbor Point Mall"
  },
  "service_request_ids": [
    77302
  ]
}
```

Previous: [Update an appointment](https://cotlet.dev/docs/api/servicetrade/update_appointment.md)
Next: [Submit a quote](https://cotlet.dev/docs/api/servicetrade/submit_quote.md)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
