# Accept a quote on the customer's behalf

> The accept_quote MCP tool: accept a quote on the customer's behalf.

`accept_quote` · writes

[REST: `POST /v1/quotes/{quoteId}/accept`](https://api.bymundi.com/docs/reference/quotes.accept.md)

## What the model reads

Records that the customer accepted the quote, as the quote editor's Accept does. A package quote: pass the chosen `packageId` (or none for the base proposal). A per_item quote: pass the `lineIds` the customer bought. Accepting moves the trip to `aceptada` and supersedes any other accepted package quote of the trip. Then call sync_itinerary to bring the accepted services into the itinerary.

Permissions: quotes:write.
Undo: call reopen_quote.

## Input

| Field | Type | Required | Description |
|---|---|---|---|
| `quoteId` | uuid | yes |  |
| `packageId` | string \| null |  | A package quote: the package chosen; absent or null = the base proposal. |
| `lineIds` | string[] |  | A per_item quote: the lines the customer bought. max 200 items |

## Input schema (JSON)

```json
{
  "type": "object",
  "properties": {
    "quoteId": {
      "type": "string",
      "format": "uuid"
    },
    "packageId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        {
          "type": "null"
        }
      ],
      "description": "A package quote: the package chosen; absent or null = the base proposal."
    },
    "lineIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "minItems": 1,
      "maxItems": 200,
      "description": "A per_item quote: the lines the customer bought."
    }
  },
  "required": [
    "quoteId"
  ],
  "additionalProperties": false
}
```
