---
search:
  tags:
    - Commerce and CPQ
    - POST
seo:
  description: >-
    Create a quote. Reference for the POST /api/v1/quotes endpoint in the
    Taylorz CRM API.
sidebar:
  label: Create a quote
  badge: POST
title: Create a quote
type: openapi-operation
---
`POST /api/v1/quotes`

**Request body** (`application/json`, required)

- `accountRecordId` (string, required)
- `currency` (string, required)
- `exchangeRate` (object)
- `lines` (object[], required)
- `number` (string, required)
- `orderDiscount` (object)
- `pricingDate` (string<date>, required)
- `recordId` (string, required)

Request body example:

```json
{
  "accountRecordId": "string",
  "currency": "string",
  "exchangeRate": {
    "asOf": "2019-08-24",
    "rate": "string",
    "source": "string"
  },
  "lines": [
    {
      "componentKind": "product",
      "groupName": "string",
      "pricing": {
        "method": "catalog"
      },
      "productId": "string",
      "quantity": "string",
      "schedules": [
        {
          "amount": "string",
          "kind": "one_time",
          "startsOn": "2019-08-24"
        }
      ],
      "taxRate": "string"
    }
  ],
  "number": "string",
  "orderDiscount": {
    "basis": "rate",
    "rate": "string"
  },
  "pricingDate": "2019-08-24",
  "recordId": "string"
}
```

**Responses**

- `201` — The quote and its first version
- `400` — The request body, query or parameters were refused
- `401` — The access token is missing, invalid or revoked
- `403` — The tenant's module is off, or the token's scope or the member's role does not permit the action
- `404` — No such record, or none the caller may read
- `409` — The operation conflicts with the current state
- `413` — The request exceeds the route's body limit
- `500` — An unexpected failure

Response example, 201:

```json
{
  "id": "string",
  "totals": {
    "currency": "string",
    "discount": "string",
    "lines": [
      {
        "discount": "string",
        "net": "string",
        "tax": "string",
        "taxRate": "string"
      }
    ],
    "subtotal": "string",
    "tax": "string",
    "taxableAmount": "string",
    "total": "string"
  },
  "version": 1,
  "versionId": "string"
}
```
