> For the complete documentation index, see [llms.txt](https://help.mimeeq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.mimeeq.com/developers/quotations.md).

# Quotations

Quotations with versions, status and stage.

## List Quotations

> List non-archived quotations. Optionally filter by repeated \`status\` or \`ownerId\`, by \`companyId\`, or by \`since\`/\`until\` expected-close dates. Results are cursor-paginated.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"quotationId":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","description":"Quotation identifier (QUOT-<uuid>)."},"quotationName":{"anyOf":[{"type":"string"},{"type":"null"}]},"quotationNumber":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"type":"null"}]},"status":{"type":"string","enum":["OPEN","WON","LOST"]},"stageId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Raw configured stage identifier, or null when unset."},"stageName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved stage name, or null when unset/unconfigured."},"ownerId":{"anyOf":[{"type":"string"},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"currentVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"numOfVersions":{"anyOf":[{"type":"number"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"expectedClose":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"paymentTerms":{"anyOf":[{"type":"string"},{"type":"null"}]},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"lostReasonId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Raw configured lost-reason identifier, or null when unset."},"lostReasonName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved lost-reason name, or null when unset/unconfigured."},"lostComment":{"anyOf":[{"type":"string"},{"type":"null"}]},"isPrivate":{"type":"boolean"},"company":{"type":"object","properties":{"companyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyName":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"street":{"anyOf":[{"type":"string"},{"type":"null"}]},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"workNumber":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["companyId","companyName","country","city","street","postcode","email","workNumber"],"additionalProperties":false},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 creation timestamp."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 last-modified timestamp."}},"required":["quotationId","quotationName","quotationNumber","status","stageId","stageName","ownerId","currency","price","currentVersionId","numOfVersions","validUntil","expectedClose","paymentTerms","language","lostReasonId","lostReasonName","lostComment","isPrivate","company","createdAt","modifiedAt"],"additionalProperties":false}},"page":{"type":"object","properties":{"limit":{"type":"number"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the next page, or null on the last page."}},"required":["limit","nextCursor"],"additionalProperties":false}},"required":["data","page"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations":{"get":{"summary":"List Quotations","tags":["Quotations"],"description":"List non-archived quotations. Optionally filter by repeated `status` or `ownerId`, by `companyId`, or by `since`/`until` expected-close dates. Results are cursor-paginated.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsList"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"schema":{"default":50,"type":"integer","minimum":1,"maximum":5000}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1}},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["OPEN","WON","LOST"]}}},{"name":"ownerId","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"companyId","in":"query","required":false,"schema":{"type":"string","pattern":"^COMP-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","minLength":1}},{"name":"until","in":"query","required":false,"schema":{"type":"string","minLength":1}}]}}}}
```

## List Quotation Owners

> List available quotation owners for your customer. Use the returned user ids with the quotation list's \`ownerId\` filter.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsOwners":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"userId":{"type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"ownerName":{"type":"string"}},"required":["userId","firstName","lastName","ownerName"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/owners":{"get":{"summary":"List Quotation Owners","tags":["Quotations"],"description":"List available quotation owners for your customer. Use the returned user ids with the quotation list's `ownerId` filter.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsOwners"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}}}}}}
```

## List Quotation Settings

> Get the customer-configured quotation stages and lost reasons. Omit \`lang\` to receive every translated name map; provide \`lang\` to receive each selected name with English fallback.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsSettings":{"type":"object","properties":{"data":{"type":"object","properties":{"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"chance":{"type":"number"},"name":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]},{"type":"null"}],"description":"Translated text when `lang` is set, otherwise the full `{ language: text }` map. Languages with no text are omitted, and a field with no text at all is null."}},"required":["id","chance","name"],"additionalProperties":false}},"lostReasons":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}]},{"type":"null"}],"description":"Translated text when `lang` is set, otherwise the full `{ language: text }` map. Languages with no text are omitted, and a field with no text at all is null."}},"required":["id","name"],"additionalProperties":false}}},"required":["stages","lostReasons"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/settings":{"get":{"summary":"List Quotation Settings","tags":["Quotations"],"description":"Get the customer-configured quotation stages and lost reasons. Omit `lang` to receive every translated name map; provide `lang` to receive each selected name with English fallback.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsSettings"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","minLength":2,"maxLength":10,"description":"Language code to translate localized fields to (falls back if unavailable)."}}]}}}}
```

## Get Quotation

> Get a quotation and its selected version. Optionally request a specific \`versionId\`; otherwise the current version is returned.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsDetail":{"type":"object","properties":{"data":{"type":"object","properties":{"quotationId":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","description":"Quotation identifier (QUOT-<uuid>)."},"quotationName":{"anyOf":[{"type":"string"},{"type":"null"}]},"quotationNumber":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"type":"null"}]},"status":{"type":"string","enum":["OPEN","WON","LOST"]},"stageId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Raw configured stage identifier, or null when unset."},"stageName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved stage name, or null when unset/unconfigured."},"ownerId":{"anyOf":[{"type":"string"},{"type":"null"}]},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]},"price":{"anyOf":[{"type":"number"},{"type":"null"}]},"currentVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"numOfVersions":{"anyOf":[{"type":"number"},{"type":"null"}]},"validUntil":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"expectedClose":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"paymentTerms":{"anyOf":[{"type":"string"},{"type":"null"}]},"language":{"anyOf":[{"type":"string"},{"type":"null"}]},"lostReasonId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Raw configured lost-reason identifier, or null when unset."},"lostReasonName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Resolved lost-reason name, or null when unset/unconfigured."},"lostComment":{"anyOf":[{"type":"string"},{"type":"null"}]},"isPrivate":{"type":"boolean"},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 creation timestamp."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 last-modified timestamp."},"owner":{"type":"object","properties":{"ownerId":{"anyOf":[{"type":"string"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"phoneNumber":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["ownerId","firstName","lastName","email","phoneNumber"],"additionalProperties":false},"shortCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"addresses":{"type":"array","items":{},"description":"Quotation addresses; shape is quotation-defined (opaque)."},"contactId":{"anyOf":[{"type":"string"},{"type":"null"}]},"companyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"type":"object","properties":{"versionId":{"type":"string"},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"blocks":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"blockType":{"anyOf":[{"type":"string"},{"type":"null"}]},"products":{"type":"array","items":{"type":"object","properties":{"previewImage":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"productId":{"anyOf":[{"type":"string"},{"type":"null"}]},"configurationCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"variantCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"options":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"hideOnSpecification":{"type":"boolean"},"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"previewImage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","hideOnSpecification","value","previewImage"],"additionalProperties":false}},"sku":{"anyOf":[{"type":"string"},{"type":"null"}]},"salePrice":{"anyOf":[{"type":"number"},{"type":"null"}]},"regPrice":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["previewImage","notes","productId","configurationCode","type","variantCode","quantity","name","options","sku","salePrice","regPrice"],"additionalProperties":false}}},"required":["id","blockType","products"],"additionalProperties":false}}},"required":["id","title","blocks"],"additionalProperties":false}}},"required":["versionId","groups"],"additionalProperties":false}},"required":["quotationId","quotationName","quotationNumber","status","stageId","stageName","ownerId","currency","price","currentVersionId","numOfVersions","validUntil","expectedClose","paymentTerms","language","lostReasonId","lostReasonName","lostComment","isPrivate","createdAt","modifiedAt","owner","shortCode","addresses","contactId","companyId","version"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/{quotationId}":{"get":{"summary":"Get Quotation","tags":["Quotations"],"description":"Get a quotation and its selected version. Optionally request a specific `versionId`; otherwise the current version is returned.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsDetail"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},{"name":"versionId","in":"query","required":false,"schema":{"type":"string","pattern":"^VERSION_\\d+$"}}]}}}}
```

## Set Quotation Status

> Set a quotation status. WON requires \`versionId\` and \`acceptedByName\`; LOST requires the configured \`lostReasonId\`. The transition is applied to this quotation only.\
> \
> Requires the \`quotations:write\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsMutation":{"type":"object","properties":{"data":{"type":"object","properties":{"quotationId":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","description":"Quotation identifier (QUOT-<uuid>)."},"status":{"type":"string","enum":["OPEN","WON","LOST"]}},"required":["quotationId","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}},"QuotationsStatusRequest":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"OPEN"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"WON"},"versionId":{"type":"string","pattern":"^VERSION_\\d+$"},"acceptedByName":{"type":"string","minLength":1,"maxLength":255},"acceptNotes":{"type":"string","maxLength":5000}},"required":["status","versionId","acceptedByName"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"LOST"},"lostReasonId":{"type":"string","minLength":1,"maxLength":255},"lostComment":{"type":"string","maxLength":5000}},"required":["status","lostReasonId"],"additionalProperties":false}]}}},"paths":{"/v1/quotations/{quotationId}/status":{"post":{"summary":"Set Quotation Status","tags":["Quotations"],"description":"Set a quotation status. WON requires `versionId` and `acceptedByName`; LOST requires the configured `lostReasonId`. The transition is applied to this quotation only.\n\nRequires the `quotations:write` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsMutation"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsStatusRequest"}}}}}}}}
```

## Set Quotation Stage

> Set a quotation stage by its customer-configured \`stageId\`. An unconfigured stage returns 422.\
> \
> Requires the \`quotations:write\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsMutation2":{"type":"object","properties":{"data":{"type":"object","properties":{"quotationId":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$","description":"Quotation identifier (QUOT-<uuid>)."},"stageId":{"type":"string"},"stageName":{"type":"string"}},"required":["quotationId","stageId","stageName"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}},"QuotationsStageRequest":{"type":"object","properties":{"stageId":{"type":"string","minLength":1,"maxLength":255}},"required":["stageId"],"additionalProperties":false}}},"paths":{"/v1/quotations/{quotationId}/stage":{"post":{"summary":"Set Quotation Stage","tags":["Quotations"],"description":"Set a quotation stage by its customer-configured `stageId`. An unconfigured stage returns 422.\n\nRequires the `quotations:write` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsMutation2"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"422":{"description":"Unprocessable entity (e.g. an unconfigured currency or quotation stage).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsStageRequest"}}}}}}}}
```

## List Quotation Versions

> List all quotation versions, including inactive and draft versions.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsVersions":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"versionId":{"type":"string"},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."}},"required":["versionId","status","createdAt","modifiedAt"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/{quotationId}/versions":{"get":{"summary":"List Quotation Versions","tags":["Quotations"],"description":"List all quotation versions, including inactive and draft versions.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsVersions"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}}]}}}}
```

## Get Quotation Version

> Get a quotation version with its groups, blocks, configured product lines, and captured pricing.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsVersions2":{"type":"object","properties":{"data":{"type":"object","properties":{"versionId":{"type":"string"},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"blocks":{"type":"array","items":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"blockType":{"anyOf":[{"type":"string"},{"type":"null"}]},"products":{"type":"array","items":{"type":"object","properties":{"previewImage":{"anyOf":[{"type":"string"},{"type":"null"}]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}]},"productId":{"anyOf":[{"type":"string"},{"type":"null"}]},"configurationCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"anyOf":[{"type":"string"},{"type":"null"}]},"variantCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"options":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"hideOnSpecification":{"type":"boolean"},"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"previewImage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["name","hideOnSpecification","value","previewImage"],"additionalProperties":false}},"sku":{"anyOf":[{"type":"string"},{"type":"null"}]},"salePrice":{"anyOf":[{"type":"number"},{"type":"null"}]},"regPrice":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["previewImage","notes","productId","configurationCode","type","variantCode","quantity","name","options","sku","salePrice","regPrice"],"additionalProperties":false}}},"required":["id","blockType","products"],"additionalProperties":false}}},"required":["id","title","blocks"],"additionalProperties":false}}},"required":["versionId","status","createdAt","modifiedAt","groups"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/{quotationId}/versions/{versionId}":{"get":{"summary":"Get Quotation Version","tags":["Quotations"],"description":"Get a quotation version with its groups, blocks, configured product lines, and captured pricing.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsVersions2"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}},{"name":"versionId","in":"path","required":true,"schema":{"type":"string","pattern":"^VERSION_\\d+$"}}]}}}}
```

## List Quotation Notes

> List a quotation's notes, including attachments with public file URLs.\
> \
> Requires the \`quotations:read\` scope.

```json
{"openapi":"3.1.0","info":{"title":"Mimeeq External API","version":"1.0.0"},"tags":[{"name":"Quotations","description":"Quotations with versions, status and stage."}],"servers":[{"url":"https://admin.mimeeqapi.com","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key sent as a bearer token (mk_live_… / mk_test_…)."}},"schemas":{"QuotationsNotes":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"noteId":{"anyOf":[{"type":"string"},{"type":"null"}]},"noteTitle":{"anyOf":[{"type":"string"},{"type":"null"}]},"noteContent":{"description":"Opaque draft-content object."},"attachments":{"type":"array","items":{"type":"object","properties":{"fileId":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"filePath":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["fileId","label","filePath"],"additionalProperties":false}},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."},"modifiedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 timestamp."}},"required":["noteId","noteTitle","noteContent","attachments","createdAt","modifiedAt"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"PublicError":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"description":"Optional error-specific details (e.g. per-field validation reasons)."}}}}},"paths":{"/v1/quotations/{quotationId}/notes":{"get":{"summary":"List Quotation Notes","tags":["Quotations"],"description":"List a quotation's notes, including attachments with public file URLs.\n\nRequires the `quotations:read` scope.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationsNotes"}}}},"400":{"description":"Invalid request data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"403":{"description":"The API key lacks the required scope (`scope_denied`), or the operation is not permitted for this account (`operation_not_permitted`).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"parameters":[{"name":"quotationId","in":"path","required":true,"schema":{"type":"string","pattern":"^QUOT-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"}}]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.mimeeq.com/developers/quotations.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
