---
updatedAt: 2026-06-03T18:36:08.000Z
agentTools:
  projectIndex: https://docs.getspot.com/llms.txt
---

# Accept Single Quote

Accept a quote when the customer opts into Spot coverage, once their purchase has finished processing. This endpoint will create the customer's Spot account and coverage and allows you to accept one quote at a time.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "paths": {
    "/api/v1/quote/{id}/accept": {
      "post": {
        "operationId": "acceptQuote",
        "x-readme": {
          "code-samples": [
            {
              "language": "node",
              "code": "import { QuoteAcceptRequestDto, QuotePolicyAddressDto, QuotePurchaserDto, Spotsdk } from '@getspot/spot-sdk';\n\n(async () => {\n const spotsdk = new Spotsdk({\n    clientId: 'CLIENT_ID',\n    clientSecret: 'CLIENT_SECRET',\n    spotPartnerId: 'PARTNER_ID',\n  });\n\n  const quotePurchaserDto: QuotePurchaserDto = {\n    firstName: 'Jane',\n    lastName: 'Doe',\n    email: 'jane.doe@example.com',\n    dateOfBirth: 'dateOfBirth',\n  };\n\n  const quotePolicyAddressDto: QuotePolicyAddressDto = {\n    line1: '1030 New Road Dr',\n    line2: 'Unit #5',\n    city: 'Austin',\n    zipCode: '78664',\n    state: 'TX',\n    countryCode: 'US',\n  };\n\n  const quoteAcceptRequestDto: QuoteAcceptRequestDto = {\n    productPrice: 8.44,\n    purchaser: quotePurchaserDto,\n    policyAddress: quotePolicyAddressDto,\n  };\n\n  const { data } = await spotsdk.quote.acceptQuote('id', quoteAcceptRequestDto);\n\n  console.log(data);\n})();",
              "install": "npm install @getspot/spot-sdk"
            }
          ]
        },
        "summary": "Accept Single Quote",
        "description": "Accept a quote when the customer opts into Spot coverage, once their purchase has finished processing. This endpoint will create the customer's Spot account and coverage and allows you to accept one quote at a time.",
        "parameters": [
          {
            "name": "X-Spot-Partner-Id",
            "in": "header",
            "description": "Spot Provided ID for Partner",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteAcceptRequestDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The quote has been accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteAcceptResponseDto"
                }
              }
            }
          },
          "201": {
            "description": ""
          },
          "400": {
            "description": "The request for accepting a quote is malformed."
          },
          "401": {
            "description": "You do not have access to accept quotes."
          },
          "429": {
            "description": "A rate limit is in effect. Inspect the Retry-After header."
          }
        },
        "tags": [
          "Quote v1"
        ],
        "security": [
          {
            "oauth2": []
          },
          {
            "bearer": []
          }
        ]
      }
    }
  },
  "info": {
    "title": "Spot Quote API",
    "description": "Spot Platform API",
    "version": "3.x",
    "contact": {}
  },
  "servers": [
    {
      "url": "https://api.sandbox.getspot.com",
      "description": "Sandbox Enrollments API"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "QuotePurchaserDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the purchaser.",
            "example": "Jane"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the purchaser.",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "The email for the purchaser. This will be used to\ncreate a Spot Account so that they may view their\ncoverage and file claims.",
            "example": "jane.doe@example.com"
          },
          "dateOfBirth": {
            "type": "string"
          }
        },
        "required": [
          "firstName",
          "lastName",
          "email"
        ]
      },
      "QuotePolicyAddressDto": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "description": "Address line 1",
            "example": "1030 New Road Dr"
          },
          "line2": {
            "type": "string",
            "description": "Address line 2",
            "example": "Unit #5"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "Austin"
          },
          "zipCode": {
            "type": "string",
            "description": "Zip code",
            "example": "78664"
          },
          "state": {
            "type": "string",
            "description": "State",
            "example": "TX"
          },
          "countryCode": {
            "type": "string",
            "description": "Country code",
            "example": "US"
          }
        }
      },
      "QuoteInsuredDto": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the insured.",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the insured.",
            "example": "Doe"
          },
          "email": {
            "type": "string",
            "description": "The email of the insured.",
            "example": "john.doe@example.com"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the insured. This is used\nwhen the purchaser files a claim on the insureds behalf.\n\nIn the format: YYYY-MM-DD",
            "example": "1985-07-13"
          }
        },
        "required": [
          "firstName",
          "lastName"
        ]
      },
      "QuoteAcceptRequestDto": {
        "type": "object",
        "properties": {
          "productPrice": {
            "type": "number",
            "description": "The price of the product being sold (must match the quoted price)."
          },
          "purchaser": {
            "description": "Information about the consumer purchasing Spot coverage.",
            "allOf": [
              {
                "$ref": "#/components/schemas/QuotePurchaserDto"
              }
            ]
          },
          "policyAddress": {
            "description": "The address that best aligns to the residence address of the insured\nindividual(s) on the policy. This address may be used in determining\nany state or country based variations of policy and pricing for the\nSpot coverage.",
            "allOf": [
              {
                "$ref": "#/components/schemas/QuotePolicyAddressDto"
              }
            ]
          },
          "insureds": {
            "description": "Array of insureds covered by this quote. Required for pass and trip coverages.\nIf not provided for pass/trip coverages, the purchaser will be used as the only insured.\nPartners can send just the purchaser info if they don't capture separate insured details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteInsuredDto"
            }
          },
          "transactionId": {
            "type": "string",
            "description": "A unique ID for the transaction in the partner's system.\nUsed to track the purchase and stored as `transactionId` and\n`transactionItemId` on the enrollment.\nIf not provided, the enrollment request ID is used as the default.",
            "example": "reservation-12345"
          },
          "transactionItemId": {
            "type": "string",
            "description": "A unique ID for the transaction item in the partner's system.\nUsed to track individual items within a transaction and stored as\n`transactionItemId` on the enrollment. This value enforces idempotency —\naccept-quote requests reusing the same `transactionItemId` for the same offer\nwill be rejected as duplicates rather than creating additional coverages.\n\nIf not provided, a fallback key is derived from the quote's partner and\ncart context: `partnerId_cartId_cartItemId` (or `partnerId_cartId_quoteId`\nwhen `cartItemId` is absent, keeping the key unique per item so multiple\nitems in the same cart don't collide).",
            "example": "cart-item-12345"
          },
          "participantDescription": {
            "type": "string",
            "description": "Appends to the product name in the claims flow to help identify the coverage. For example, if the product name is “Half Marathon” and the participant description is “Jane Doe”, the customer will see “Half Marathon - Jane Doe” in their Spot account.\n\nIf a non-empty value is provided here, it takes precedence over any `participantDescription` supplied in the original quote request. If omitted or empty, the value from the quote request (if any) is used."
          },
          "webhookUrlOverride": {
            "type": "string",
            "description": "Optional webhook URL to receive enrollment status updates for this enrollment.\nWhen provided, overrides the partner's stored webhook configuration for the\nlifetime of this enrollment. The HMAC signature on the request body is still\ncomputed with the partner's configured HMAC secret.",
            "example": "https://api.partner.com/spot-webhook"
          }
        },
        "required": [
          "productPrice",
          "purchaser"
        ]
      },
      "QuoteAcceptResponseDto": {
        "type": "object",
        "properties": {
          "enrollmentId": {
            "type": "string",
            "description": "The unique id for this successful enrollment request.",
            "example": "ac572a61-dafe-4054-bb06-8f4e6b877e7e"
          },
          "enrollmentStatus": {
            "type": "string",
            "description": "The status of this enrollment. Initially New until\nwe start processing the request.",
            "example": "New",
            "enum": [
              "New",
              "Enrolling",
              "Enrolled",
              "Failed",
              "Cancelled",
              "Expired",
              "ClaimReceived",
              "UpdateFailed"
            ]
          },
          "spotPrice": {
            "type": "number",
            "description": "The cost to customer to purchase Spot for this enrollment.",
            "example": 9.99
          },
          "partnerCut": {
            "type": "number",
            "description": "The partner share of the spotCost.",
            "example": 3.99
          },
          "invoiceAmount": {
            "type": "number",
            "description": "The amount of spotCost to be remitted to Spot.",
            "example": 6
          },
          "cancellationDeadline": {
            "format": "date-time",
            "type": "string",
            "description": "The deadline by which the coverage can be cancelled.\nThis is calculated based on the payout schedule and event start date.",
            "example": "2024-03-21T19:23:27.708Z"
          },
          "refundsAvailable": {
            "format": "date-time",
            "type": "string",
            "description": "When present, refunds are blocked until this date/time.",
            "example": "2024-03-22T19:23:27.708Z"
          }
        },
        "required": [
          "enrollmentId",
          "enrollmentStatus",
          "spotPrice",
          "partnerCut",
          "invoiceAmount"
        ]
      }
    }
  }
}
```