npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@getspot/spot-sdk

v0.3.3

Published

Spot Platform API

Readme

Spotsdk TypeScript SDK 0.3.3

Welcome to the Spotsdk SDK documentation. This guide will help you get started with integrating and using the Spotsdk SDK in your project.

This SDK was generated by liblab

Versions

  • API version: 1.0.0
  • SDK version: 0.3.3

About the API

Spot Platform API

Table of Contents

Setup & Configuration

Supported Language Versions

This SDK is compatible with the following versions: TypeScript >= 4.8.4

Installation

To get started with the SDK, we recommend installing using npm:

npm install @getspot/spot-sdk

Authentication

OAuth Authentication

The Spotsdk API uses OAuth for authentication.

You need to provide the OAuth parameters when initializing the SDK.

const sdk = new Spotsdk({ clientId: 'CLIENT_ID', clientSecret: 'CLIENT_SECRET' });

If you need to set or update the OAuth parameters after the SDK initialization, you can use:

const sdk = new Spotsdk();
sdk.clientId = 'CLIENT_ID';
sdk.clientSecret = 'CLIENT_SECRET';

Environments

The SDK supports different environments for various stages of development and deployment.

Here are the available environments:

DEFAULT = 'https://api.getspot.com';
PRODUCTION = 'https://api.getspot.com';
SANDBOX = 'https://api.sandbox.getspot.com';

Setting an Environment

To configure the SDK to use a specific environment, you can set the base URL as follows:

const sdk = new Spotsdk();
sdk.setEnvironment(Environment.DEFAULT);

Setting a Custom Timeout

You can set a custom timeout for the SDK's HTTP requests as follows:

const spotsdk = new Spotsdk({ timeout: 10000 });

Sample Usage

Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:

import { Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const { data } = await spotsdk.enrollments.fetchWebhookConfiguration({
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

Services

The SDK provides various services to interact with the API.

| Name | | :----------------------------------------------------------------- | | AuthService

AuthService

A list of all methods in the AuthService service. Click on the method name to view detailed information about that method.

| Methods | Description | | :-------------------------------------- | :-------------------------------------------------- | | fetchPartnerToken | Exchange the client id and client secret for a JWT. |

fetchPartnerToken

Exchange the client id and client secret for a JWT.

  • HTTP Method: POST
  • Endpoint: /api/oauth/token

Parameters

| Name | Type | Required | Description | | :--- | :-------------------------------------------------------- | :------- | :---------------- | | body | OAuthTokenRequestDto | ✅ | The request body. |

Return Type

OAuthTokenResponseDto

Example Usage Code Snippet

import { OAuthTokenRequestDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const oAuthTokenRequestDto: OAuthTokenRequestDto = {
    clientId: 'client_id',
    clientSecret: 'client_secret',
  };

  const { data } = await spotsdk.auth.fetchPartnerToken(oAuthTokenRequestDto);

  console.log(data);
})();

QuoteService

A list of all methods in the QuoteService service. Click on the method name to view detailed information about that method.

| Methods | Description | | :---------------------------------------- | :-------------------------------------------------------------------------------------- | | getQuote | Request a quote for coverage (Refund Guarantee, Trip, or Pass) | | getBatchQuotes | Request quotes for multiple items in a single cart | | acceptBatchQuotes | Accept multiple quotes from a batch quote response | | declineBatchQuotes | Decline multiple quotes from a batch quote response | | declineQuote | Decline a quote once a customer has opted out of purchasing coverage | | acceptRequote | Accept the requote for an existing enrollment with the date/price updates | | acceptQuote | Accept a quote once a customers purchase has been executed and they opted into coverage | | requote | Requote an existing enrollment due to date and price updates |

getQuote

Request a quote for coverage (Refund Guarantee, Trip, or Pass)

  • HTTP Method: POST
  • Endpoint: /api/v1/quote

Parameters

| Name | Type | Required | Description | | :------------- | :---------------------------------------------- | :------- | :--------------------------- | | body | QuoteRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

QuoteResponseDto

Example Usage Code Snippet

import { QuoteMetadataDto, QuoteRequestDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const quoteMetadataDto: QuoteMetadataDto = {
    segment: 'segment',
    operator: 'operator',
    channel: 'channel',
    consumerId: 'consumerId',
  };

  const quoteRequestDto: QuoteRequestDto = {
    productPrice: 8.08,
    productType: 'productType',
    productDuration: 'productDuration',
    productId: 'productId',
    cartId: 'cartId',
    cartName: 'cartName',
    productName: 'productName',
    participantDescription: 'participantDescription',
    eventType: 'eventType',
    currencyCode: 'currencyCode',
    startDate: 'startDate',
    endDate: 'endDate',
    partnerRiskEnd: 'partnerRiskEnd',
    metadata: quoteMetadataDto,
    isPartialPayment: true,
    hostCountry: 'hostCountry',
    hostCountryState: 'hostCountryState',
    destinations: ['destinations'],
    dob: 'dob',
  };

  const { data } = await spotsdk.quote.getQuote(quoteRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

getBatchQuotes

Request quotes for multiple items in a single cart

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/batch

Parameters

| Name | Type | Required | Description | | :------------- | :-------------------------------------------------------- | :------- | :--------------------------- | | body | BatchQuoteRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

BatchQuoteResponseDto

Example Usage Code Snippet

import { BatchQuoteItemDto, BatchQuoteRequestDto, QuoteMetadataDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const quoteMetadataDto: QuoteMetadataDto = {
    segment: 'segment',
    operator: 'operator',
    channel: 'channel',
    consumerId: 'consumerId',
  };

  const batchQuoteItemDto: BatchQuoteItemDto = {
    cartItemId: 'cartItemId',
    productPrice: 6.84,
    productType: 'productType',
    productDuration: 'productDuration',
    productId: 'productId',
    productName: 'productName',
    participantDescription: 'participantDescription',
    eventType: 'eventType',
    startDate: 'startDate',
    endDate: 'endDate',
    partnerRiskEnd: 'partnerRiskEnd',
    hostCountry: 'hostCountry',
    hostCountryState: 'hostCountryState',
    destinations: ['destinations'],
    dob: 'dob',
  };

  const batchQuoteRequestDto: BatchQuoteRequestDto = {
    cartId: 'cartId',
    cartName: 'cartName',
    currencyCode: 'currencyCode',
    metadata: quoteMetadataDto,
    isPartialPayment: true,
    items: [batchQuoteItemDto],
  };

  const { data } = await spotsdk.quote.getBatchQuotes(batchQuoteRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

acceptBatchQuotes

Accept multiple quotes from a batch quote response

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/batch/accept

Parameters

| Name | Type | Required | Description | | :------------- | :-------------------------------------------------------------------- | :------- | :--------------------------- | | body | BatchQuoteAcceptRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

BatchQuoteAcceptResponseDto

Example Usage Code Snippet

import {
  BatchQuoteAcceptItemDto,
  BatchQuoteAcceptRequestDto,
  QuotePolicyAddressDto,
  QuotePurchaserDto,
  Spotsdk,
} from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const batchQuoteAcceptItemDto: BatchQuoteAcceptItemDto = {
    quoteId: 'quoteId',
    productPrice: 1.18,
  };

  const quotePurchaserDto: QuotePurchaserDto = {
    firstName: 'Jane',
    lastName: 'Doe',
    email: '[email protected]',
    dateOfBirth: 'dateOfBirth',
  };

  const quotePolicyAddressDto: QuotePolicyAddressDto = {
    line1: '1030 New Road Dr',
    line2: 'Unit #5',
    city: 'Austin',
    zipCode: '78664',
    state: 'TX',
    countryCode: 'US',
  };

  const batchQuoteAcceptRequestDto: BatchQuoteAcceptRequestDto = {
    items: [batchQuoteAcceptItemDto],
    purchaser: quotePurchaserDto,
    policyAddress: quotePolicyAddressDto,
  };

  const { data } = await spotsdk.quote.acceptBatchQuotes(batchQuoteAcceptRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

declineBatchQuotes

Decline multiple quotes from a batch quote response

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/batch/decline

Parameters

| Name | Type | Required | Description | | :------------- | :---------------------------------------------------------------------- | :------- | :--------------------------- | | body | BatchQuoteDeclineRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

BatchQuoteDeclineResponseDto

Example Usage Code Snippet

import { BatchQuoteDeclineItemDto, BatchQuoteDeclineRequestDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const batchQuoteDeclineItemDto: BatchQuoteDeclineItemDto = {
    quoteId: 'quoteId',
  };

  const batchQuoteDeclineRequestDto: BatchQuoteDeclineRequestDto = {
    items: [batchQuoteDeclineItemDto],
  };

  const { data } = await spotsdk.quote.declineBatchQuotes(batchQuoteDeclineRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

declineQuote

Decline a quote once a customer has opted out of purchasing coverage

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/{id}/decline

Parameters

| Name | Type | Required | Description | | :------------- | :----- | :------- | :--------------------------- | | id | string | ✅ | | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

QuoteDeclineResponseDto

Example Usage Code Snippet

import { Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const { data } = await spotsdk.quote.declineQuote('id', {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

acceptRequote

Accept the requote for an existing enrollment with the date/price updates

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/requote/accept

Parameters

| Name | Type | Required | Description | | :------------- | :-------------------------------------------------------------- | :------- | :--------------------------- | | body | RequoteAcceptRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

RequoteAcceptResponseDto

Example Usage Code Snippet

import { RequoteAcceptRequestDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const requoteAcceptRequestDto: RequoteAcceptRequestDto = {
    enrollmentId: 'ac572a61-dafe-4054-bb06-8f4e6b877e7e',
  };

  const { data } = await spotsdk.quote.acceptRequote(requoteAcceptRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

acceptQuote

Accept a quote once a customers purchase has been executed and they opted into coverage

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/{id}/accept

Parameters

| Name | Type | Required | Description | | :------------- | :---------------------------------------------------------- | :------- | :--------------------------- | | body | QuoteAcceptRequestDto | ✅ | The request body. | | id | string | ✅ | | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

QuoteAcceptResponseDto

Example Usage Code Snippet

import { QuoteAcceptRequestDto, QuotePolicyAddressDto, QuotePurchaserDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const quotePurchaserDto: QuotePurchaserDto = {
    firstName: 'Jane',
    lastName: 'Doe',
    email: '[email protected]',
    dateOfBirth: 'dateOfBirth',
  };

  const quotePolicyAddressDto: QuotePolicyAddressDto = {
    line1: '1030 New Road Dr',
    line2: 'Unit #5',
    city: 'Austin',
    zipCode: '78664',
    state: 'TX',
    countryCode: 'US',
  };

  const quoteAcceptRequestDto: QuoteAcceptRequestDto = {
    productPrice: 4.68,
    purchaser: quotePurchaserDto,
    policyAddress: quotePolicyAddressDto,
  };

  const { data } = await spotsdk.quote.acceptQuote('id', quoteAcceptRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

requote

Requote an existing enrollment due to date and price updates

  • HTTP Method: POST
  • Endpoint: /api/v1/quote/requote

Parameters

| Name | Type | Required | Description | | :------------- | :-------------------------------------------------- | :------- | :--------------------------- | | body | RequoteRequestDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

RequoteResponseDto

Example Usage Code Snippet

import { RequoteRequestDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const requoteRequestDto: RequoteRequestDto = {
    enrollmentId: 'ac572a61-dafe-4054-bb06-8f4e6b877e7e',
    newProductPrice: 8.99,
    currencyCode: 'currencyCode',
    newStartDate: 'newStartDate',
    newEndDate: 'newEndDate',
  };

  const { data } = await spotsdk.quote.requote(requoteRequestDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

EnrollmentsService

A list of all methods in the EnrollmentsService service. Click on the method name to view detailed information about that method.

| Methods | Description | | :---------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | fetchWebhookConfiguration | Endpoint to fetch the registered webhook for a partner. For now, only a single configuration per partner is permitted. | | registerWebhookConfiguration | Endpoint to register a webhook configuration for a partner. This endpoint will be used to make a POST request with information about enrollments as they are processed. | | deleteWebhookConfigurationById | Endpoint to delete a webhook configuration. Once deleted, the partner will not receieve any status updates until a new configuration is registered. | | resolveCfar | This endpoint is non-standard and is only intended for use when you, the partner, wishes to self-administer refunds as part of Refund Guarantee (CFAR) enrollments. It allows you, the partner, to indicate that a Refund Guarantee (CFAR) refund has been issued to the customer, and that the backing Refund Guarantee (CFAR) policy should be fully resolved. | | getEnrollment | This endpoint allows you, the partner, to fetch an enrollment by its ID. |

fetchWebhookConfiguration

Endpoint to fetch the registered webhook for a partner. For now, only a single configuration per partner is permitted.

  • HTTP Method: GET
  • Endpoint: /api/v2/enrollments/webhooks

Parameters

| Name | Type | Required | Description | | :------------- | :----- | :------- | :--------------------------- | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

PartnerWebhookConfigurationDto[]

Example Usage Code Snippet

import { Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const { data } = await spotsdk.enrollments.fetchWebhookConfiguration({
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

registerWebhookConfiguration

Endpoint to register a webhook configuration for a partner. This endpoint will be used to make a POST request with information about enrollments as they are processed.

  • HTTP Method: POST
  • Endpoint: /api/v2/enrollments/webhooks

Parameters

| Name | Type | Required | Description | | :------------- | :-------------------------------------------------------------------------------------------- | :------- | :--------------------------- | | body | RegisterPartnerWebhookConfigurationDto | ✅ | The request body. | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

PartnerWebhookConfigurationDto

Example Usage Code Snippet

import { RegisterPartnerWebhookConfigurationDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const registerPartnerWebhookConfigurationDto: RegisterPartnerWebhookConfigurationDto = {
    url: 'https://api.partner.com/spot-webhook',
  };

  const { data } = await spotsdk.enrollments.registerWebhookConfiguration(registerPartnerWebhookConfigurationDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

deleteWebhookConfigurationById

Endpoint to delete a webhook configuration. Once deleted, the partner will not receieve any status updates until a new configuration is registered.

  • HTTP Method: DELETE
  • Endpoint: /api/v2/enrollments/webhooks/{id}

Parameters

| Name | Type | Required | Description | | :------------- | :----- | :------- | :--------------------------- | | id | string | ✅ | | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Example Usage Code Snippet

import { Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const { data } = await spotsdk.enrollments.deleteWebhookConfigurationById('id', {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

resolveCfar

This endpoint is non-standard and is only intended for use when you, the partner, wishes to self-administer refunds as part of Refund Guarantee (CFAR) enrollments. It allows you, the partner, to indicate that a Refund Guarantee (CFAR) refund has been issued to the customer, and that the backing Refund Guarantee (CFAR) policy should be fully resolved.

  • HTTP Method: PUT
  • Endpoint: /api/v2/enrollments/cfar/{id}/resolve

Parameters

| Name | Type | Required | Description | | :------------- | :---------------------------------------------------------------- | :------- | :--------------------------- | | body | CfarEnrollmentResolveDto | ✅ | The request body. | | id | string | ✅ | | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

EnrollmentResultDto

Example Usage Code Snippet

import { CfarEnrollmentResolveDto, Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const cfarEnrollmentResolveDto: CfarEnrollmentResolveDto = {
    payoutAmount: 9.79,
    currencyCode: 'USD',
    customerRefundTimestamp: '2024-03-21T19:23:27.708Z',
    isVoid: true,
  };

  const { data } = await spotsdk.enrollments.resolveCfar('id', cfarEnrollmentResolveDto, {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

getEnrollment

This endpoint allows you, the partner, to fetch an enrollment by its ID.

  • HTTP Method: GET
  • Endpoint: /api/v2/enrollments/{id}

Parameters

| Name | Type | Required | Description | | :------------- | :----- | :------- | :--------------------------- | | id | string | ✅ | | | xSpotPartnerId | string | ❌ | Spot Provided ID for Partner |

Return Type

EnrollmentResultDto

Example Usage Code Snippet

import { Spotsdk } from '@getspot/spot-sdk';

(async () => {
  const spotsdk = new Spotsdk({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    spotPartnerId: 'SPOT_PARTNER_ID',
  });

  const { data } = await spotsdk.enrollments.getEnrollment('id', {
    xSpotPartnerId: 'X-Spot-Partner-Id',
  });

  console.log(data);
})();

Models

The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.

| Name | Description | | :------------------------------------------------------------------------------------------------------- | :---------- | | OAuthTokenRequestDto

OAuthTokenRequestDto

Properties

| Name | Type | Required | Description | | :----------- | :----- | :------- | :------------------------------- | | clientId | string | ✅ | The Spot-provided client id. | | clientSecret | string | ✅ | The Spot-provided client secret. |

OAuthTokenResponseDto

Properties

| Name | Type | Required | Description | | :---------- | :----- | :------- | :-------------------------------------------------------- | | accessToken | string | ✅ | A base64 encoded string representing a JWT, per RFC-7519. | | expiresIn | number | ✅ | The number of seconds until the JWT is no longer valid. | | tokenType | string | ✅ | The Authorization header token type. |

OAuthErrorResponseDto

Properties

| Name | Type | Required | Description | | :--------------- | :----- | :------- | :------------------------------- | | error | string | ✅ | A short error code string. | | errorDescription | string | ✅ | A full description of the error. |

QuoteRequestDto

Properties

| Name | Type | Required | Description | | :--------------------- | :--------------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | productPrice | number | ✅ | The price of the product being sold. | | productType | string | ✅ | The product type being sold (one of "Pass", "Trip", "Registration"). | | productDuration | string | ✅ | The product type being sold (one of "Daily", "Seasonal", "Trip", "Event"). | | productId | string | ✅ | The unique identifier for the product being sold. | | cartId | string | ✅ | A unique identifier for a cart that groups all quotes from a single checkout flow. A consumer may have multiple cartIds across sessions. | | cartName | string | ✅ | Defines the name of the coverage tile displayed in the customer’s account. For example, if the product name is “Half Marathon”, the cartName might be “San Antonio Marathon”. When the customer clicks on this coverage tile, they will see the sub-item “Half Marathon - Jane Doe” | | productName | string | ✅ | A description or name of the product being sold. | | eventType | string | ✅ | The type of event being sold (one of "Kayaking/SUP", "Segway Tours", "Wine Tours", ...) | | currencyCode | string | ✅ | The currency used to purchase the product. | | startDate | string | ✅ | The ISO8601 compliant date-time indicating the date and time the product starts. | | endDate | string | ✅ | The ISO8601 compliant date-time indicating the date and time the product ends. | | participantDescription | string | ❌ | 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 | | partnerRiskEnd | string | ❌ | The ISO8601 compliant date-time indicating the date and time when the partner/host’s cancellation policy becomes null and Spot/CFAR is the only active refund policy for the customer. | | metadata | QuoteMetadataDto | ❌ | | | isPartialPayment | boolean | ❌ | Indicates whether this quote is for a deposit-based booking. | | hostCountry | string | ❌ | The host country where the product/event is taking place. Required for Trip and Pass coverage types. | | hostCountryState | string | ❌ | The host country state where the product/event is taking place. Required for Trip and Pass coverage types. | | destinations | string[] | ❌ | The destination countries for the trip. Required for Trip and Pass coverage types. | | dob | string | ❌ | The date of birth of the person. |

QuoteMetadataDto

Properties

| Name | Type | Required | Description | | :--------- | :----- | :------- | :------------------------------------------------------------------ | | segment | string | ❌ | The name of the segment that the consumer belongs to. | | operator | string | ❌ | The name of the operator where the request originates from. | | channel | string | ❌ | The channel used for purchase. | | consumerId | string | ❌ | A unique identifier for the consumer across all other transactions. |

QuoteResponseDto

Properties

| Name | Type | Required | Description | | :----- | :--------------------- | :------- | :---------- | | status | QuoteResponseDtoStatus | ✅ | | | data | QuoteDataDto | ❌ | |

QuoteResponseDtoStatus

Properties

| Name | Type | Required | Description | | :------------------- | :----- | :------- | :--------------------- | | QUOTE_AVAILABLE | string | ✅ | "QUOTE_AVAILABLE" | | NO_MATCHING_QUOTE | string | ✅ | "NO_MATCHING_QUOTE" | | REQUOTE_AVAILABLE | string | ✅ | "REQUOTE_AVAILABLE" | | NO_REQUOTE_AVAILABLE | string | ✅ | "NO_REQUOTE_AVAILABLE" |

QuoteDataDto

Properties

| Name | Type | Required | Description | | :------------------- | :-------------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------- | | id | string | ✅ | A unique identifier for this quote | | expiresAt | string | ✅ | The ISO8601 compliant date-time indicating when the quote will no longer be valid. | | cancellationDeadline | string | ✅ | The ISO8601 compliant date-time after which cancellation is no longer allowed. | | spotRate | number | ✅ | The rate representing the cost of Spot coverage relative to the total product price, expressed as a decimal (e.g., 0.07 = 7%). | | spotPrice | number | ✅ | The price of the Spot coverage for the given product price. | | currencyCode | string | ✅ | The currency code for the spotPrice. | | communication | QuoteCommunicationDto | ✅ | | | payoutSchedule | any[] | ✅ | The formatted payout schedule showing refund percentages and amounts at different timeframes for that offer and product price | | bundledPrice | number | ❌ | The price of the Spot coverage plus the product price. Only returned for bundled products. | | battlefaceQuoteId | string | ❌ | The Battleface quote ID for Battleface enrollment integration (internal use only) | | qualifyingReasons | QualifyingReasonDto[] | ❌ | Qualifying reasons for the coverage with rank and name |

QuoteCommunicationDto

Properties

| Name | Type | Required | Description | | :-------------------- | :------- | :------- | :----------------------------------------------------------------------------------------- | | name | string | ✅ | A friendly display name for the Spot coverage. | | description | string | ✅ | A quick description of the overall benefits of the Spot coverage. | | bulletPoints | string[] | ✅ | An array of bullet points that can help succinctly describe benefits of the Spot coverage. | | termsAndConditionsUrl | string | ✅ | A link to the full terms and conditions of the Spot coverage. | | yesOptionText | string | ✅ | Text to display for opting in to Spot coverage | | noOptionText | string | ✅ | Text to display for opting out of Spot coverage | | legalDisclaimer | string | ❌ | Legal information about the coverage(s) being sold | | paymentTerms | string | ❌ | Description of the payment terms for partial payment/deposit based coverage. |

QualifyingReasonDto

Properties

| Name | Type | Required | Description | | :--- | :----- | :------- | :---------------------------------------------------------------- | | rank | number | ✅ | The rank/priority of the qualifying reason (1 = highest priority) | | name | string | ✅ | The name/description of the qualifying reason |

BatchQuoteRequestDto

Properties

| Name | Type | Required | Description | | :--------------- | :------------------ | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | cartId | string | ✅ | A unique identifier for a cart that groups all quotes from a single checkout flow. A consumer may have multiple cartIds across sessions. | | cartName | string | ✅ | Defines the name of the coverage tile displayed in the customer's account. For example, if the product name is "Half Marathon", the cartName might be "San Antonio Marathon". When the customer clicks on this coverage tile, they will see the sub-item "Half Marathon - Jane Doe" | | currencyCode | string | ✅ | The currency used to purchase the products. | | items | BatchQuoteItemDto[] | ✅ | Array of items to quote. | | metadata | QuoteMetadataDto | ❌ | | | isPartialPayment | boolean | ❌ | Indicates whether these quotes are for a deposit-based bookings. |

BatchQuoteItemDto

Properties

| Name | Type | Required | Description | | :--------------------- | :------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | cartItemId | string | ✅ | A unique identifier for this item within the cart. | | productPrice | number | ✅ | The price of the product being sold. | | productType | string | ✅ | The product type being sold (one of "Pass", "Trip", "Registration"). | | productDuration | string | ✅ | The product type being sold (one of "Daily", "Seasonal", "Trip", "Event"). | | productId | string | ✅ | The unique identifier for the product being sold. | | productName | string | ✅ | A description or name of the product being sold. | | eventType | string | ✅ | The type of event being sold (one of "Kayaking/SUP", "Segway Tours", "Wine Tours", ...) | | startDate | string | ✅ | The ISO8601 compliant date-time indicating the date and time the product starts. | | endDate | string | ✅ | The ISO8601 compliant date-time indicating the date and time the product ends. | | participantDescription | string | ❌ | 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 | | partnerRiskEnd | string | ❌ | The ISO8601 compliant date-time indicating the date and time when the partner/host's cancellation policy becomes null and Spot/CFAR is the only active refund policy for the customer. | | hostCountry | string | ❌ | The host country where the product/event is taking place. Required for Trip and Pass coverage types. | | hostCountryState | string | ❌ | The host country state where the product/event is taking place. Required for Trip and Pass coverage types. | | destinations | string[] | ❌ | The destination countries for the trip. Required for Trip and Pass coverage types. | | dob | string | ❌ | The date of birth of the person. |

BatchQuoteResponseDto

Properties

| Name | Type | Required | Description | | :------------- | :-------------------------- | :------- | :----------------------------------------------------------- | | quotes | BatchQuoteItemResponseDto[] | ✅ | Array of successfully generated quotes | | totalSpotPrice | number | ✅ | Total Spot price for all quotes combined | | currencyCode | string | ✅ | Currency code for the total price | | status | BatchQuoteResponseDtoStatus | ✅ | Status of the batch quote operation | | communication | QuoteCommunicationDto | ❌ | | | payoutSchedule | any[] | ❌ | Payout schedule (same for all quotes when validation passes) | | failedItems | string[] | ❌ | Array of cartItemIds that failed to generate quotes |

BatchQuoteResponseDtoStatus

Status of the batch quote operation

Properties

| Name | Type | Required | Description | | :----------------- | :----- | :------- | :------------------- | | QUOTES_AVAILABLE | string | ✅ | "QUOTES_AVAILABLE" | | NO_MATCHING_QUOTES | string | ✅ | "NO_MATCHING_QUOTES" |

BatchQuoteItemResponseDto

Properties

| Name | Type | Required | Description | | :------------------- | :-------------------- | :------- | :----------------------------------------------------------------------------------------------------------------------------- | | cartItemId | string | ✅ | The cartItemId from the request, used to correlate this quote to the request item | | id | string | ✅ | A unique identifier for this quote | | expiresAt | string | ✅ | The ISO8601 compliant date-time indicating when the quote will no longer be valid. | | cancellationDeadline | string | ✅ | The ISO8601 compliant date-time after which cancellation is no longer allowed. | | spotRate | number | ✅ | The rate representing the cost of Spot coverage relative to the total product price, expressed as a decimal (e.g., 0.07 = 7%). | | spotPrice | number | ✅ | The price of the Spot coverage for this item. | | currencyCode | string | ✅ | The currency code for the spotPrice. | | communication | QuoteCommunicationDto | ✅ | | | payoutSchedule | any[] | ✅ | The formatted payout schedule showing refund percentages and amounts for this item | | battlefaceQuoteId | string | ❌ | The Battleface quote ID for Battleface enrollment integration (internal use only) |

BatchQuoteAcceptRequestDto

Properties

| Name | Type | Required | Description | | :------------ | :------------------------ | :------- | :------------------------ | | items | BatchQuoteAcceptItemDto[] | ✅ | Array of quotes to accept | | purchaser | QuotePurchaserDto | ✅ | | | policyAddress | QuotePolicyAddressDto | ❌ | |

BatchQuoteAcceptItemDto

Properties

| Name | Type | Required | Description | | :----------- | :----- | :------- | :---------------------------------------------------------------- | | quoteId | string | ✅ | The quote ID to accept (from the batch quote response) | | productPrice | number | ✅ | The price of the product being sold (must match the quoted price) |

QuotePurchaserDto

Properties

| Name | Type | Required | Description | | :---------- | :----- | :------- | :---------------------------------------------------------------------------------------------------------------------------- | | firstName | string | ✅ | The first name of the purchaser. | | lastName | string | ✅ | The last name of the purchaser. | | email | string | ✅ | The email for the purchaser. This will be used to create a Spot Account so that they may view their coverage and file claims. | | dateOfBirth | string | ❌ | |

QuotePolicyAddressDto

Properties

| Name | Type | Required | Description | | :---------- | :----- | :------- | :------------- | | line1 | string | ✅ | Address line 1 | | state | string | ✅ | State | | countryCode | string | ✅ | Country code | | line2 | string | ❌ | Address line 2 | | city | string | ❌ | City | | zipCode | string | ❌ | Zip code |

BatchQuoteAcceptResponseDto

Properties

| Name | Type | Required | Description | | :----------------- | :-------------------------------- | :------- | :-------------------------------------------------- | | acceptances | BatchQuoteAcceptItemResponseDto[] | ✅ | Array of successful acceptance results | | totalSpotPrice | number | ✅ | Total Spot price for all successful acceptances | | totalPartnerCut | number | ✅ | Total partner cut for all successful acceptances | | totalInvoiceAmount | number | ✅ | Total invoice amount for all successful acceptances | | currencyCode | string | ✅ | Currency code for the totals | | failedItems | BatchQuoteAcceptFailedItemDto[] | ❌ | Array of failed acceptance attempts |

BatchQuoteAcceptItemResponseDto

Properties

| Name | Type | Required | Description | | :--------------- | :---------------------------------------------- | :------- | :--------------------------------------------------------- | | quoteId | string | ✅ | The quote ID that was accepted | | enrollmentId | string | ✅ | The unique id for this successful enrollment request. | | enrollmentStatus | BatchQuoteAcceptItemResponseDtoEnrollmentStatus | ✅ | The status of this enrollment. | | spotPrice | number | ✅ | The cost to customer to purchase Spot for this enrollment. | | partnerCut | number | ✅ | The partner share of the spotCost. | | invoiceAmount | number | ✅ | The amount of spotCost to be remitted to Spot. |

BatchQuoteAcceptItemResponseDtoEnrollmentStatus

The status of this enrollment.

Properties

| Name | Type | Required | Description | | :------------- | :----- | :------- | :-------------- | | NEW_ | string | ✅ | "New" | | ENROLLING | string | ✅ | "Enrolling" | | ENROLLED | string | ✅ | "Enrolled" | | FAILED | string | ✅ | "Failed" | | CANCELLED | string | ✅ | "Cancelled" | | EXPIRED | string | ✅ | "Expired" | | CLAIM_RECEIVED | string | ✅ | "ClaimReceived" | | UPDATE_FAILED | string | ✅ | "UpdateFailed" |

BatchQuoteAcceptFailedItemDto

Properties

| Name | Type | Required | Description | | :-------- | :----- | :------- | :------------------------------------------------- | | quoteId | string | ✅ | The quote ID that failed to be accepted | | error | string | ✅ | Error message explaining why the acceptance failed | | errorCode | string | ❌ | Error code if available |

BatchQuoteDeclineRequestDto

Properties

| Name | Type | Required | Description | | :---- | :------------------------- | :------- | :------------------------- | | items | BatchQuoteDeclineItemDto[] | ✅ | Array of quotes to decline |

BatchQuoteDeclineItemDto

Properties

| Name | Type | Required | Description | | :------ | :----- | :------- | :---------------------- | | quoteId | string | ✅ | The quote ID to decline |

BatchQuoteDeclineResponseDto

Properties

| Name | Type | Required | Description | | :---------- | :--------------------------------- | :------- | :----------------------------------------------------------- | | declines | BatchQuoteDeclineItemResponseDto[] | ✅ | Successfully declined quotes | | failedItems | BatchQuoteDeclineFailedItemDto[] | ❌ | Failed decline attempts (only present if there are failures) |

BatchQuoteDeclineItemResponseDto

Properties

| Name | Type | Required | Description | | :------ | :------------------------------------- | :------- | :-------------------------------------------- | | quoteId | string | ✅ | The unique id for this quote | | status | BatchQuoteDeclineItemResponseDtoStatus | ✅ | The status of the quote after decline attempt |

BatchQuoteDeclineItemResponseDtoStatus