Skip to main content
Endpoint:
GET /api/external/companies/{companyId}/quotes/{quoteId}
Retrieves a quote.

Path Parameters

NameTypeRequiredDescription
companyIdstring (UUID)YesCompany identifier
quoteIdstring (UUID)YesQuote identifier

Response — 200 OK

This response is large and structured; see the Quote Detail schema below for the full shape.
type QuoteDetail = {
  id: string;
  number?: string;
  wizardType: 'quote' | 'endorsement' | 'renewal' | 'forms' | 'cancellation';
  status: 'in_progress' | 'complete' | 'sent' | 'accepted' | 'bound' | 'cancelled' | 'archived' | 'applied_to_policy';
  submissionId: string;
  applicationId?: string;
  policyId?: string;
  applicant?: { id: string; name: string; email: string };
  data: {
    currentStepKey: string;
    hasPassedDetailsStep?: boolean;
    hasReachedReviewStep?: boolean;
    policyInfo: {
      number?: string;
      type?: string;
      startsAtDate?: string; // ISO 8601
      endsAtDate?: string;   // ISO 8601
      coverageTimezone?: string;
      broker?: Record<string, unknown>;
      description?: string;
      ratingData?: Record<string, unknown>;
      ratingInfo?: Record<string, unknown>;
    };
    noRatingPremium?: number;
    policyAggregateLimits?: Record<string, unknown>;
    policyInsureds: Array<{
      policyInsuredId?: number;
      coveragePeriods: Array<{
        id: string;
        joinDate: string; // ISO 8601
        terminationDate?: string; // ISO 8601
        initialTerminationDate?: string; // ISO 8601
        policyInsuredId?: number;
      }>;
      isNewInsured?: boolean;
      isAddedInFlow?: boolean;
      isEditedInFlow?: boolean;
      coveragePeriodModification?: boolean;
    }>;
    coverages: Array<Record<string, unknown>>;
    useDefaultCoverages?: boolean;
    editingCustomAdjustments: Array<{
      id: string;
      description: string;
      amount?: string;
      insuredId?: string;
      sectionRank: number;
      format: 'percent' | 'currency';
    }>;
    billType: string;
    billConfig: Record<string, unknown>;
    customBillItems: Array<Record<string, unknown>>;
    previousCustomBillItems?: Array<Record<string, unknown>>;
    files: Array<{ id: string; filename: string }>;
    displayUploadFilesStep?: boolean;
    hasAutoAddedForms?: Record<string, unknown>;
    hasAutoAddedCopiedForms?: Record<string, unknown>;
    autoAddForms?: Array<Record<string, unknown>>;
    autoAddCopiedForms?: Array<Record<string, unknown>>;
    selectedForms: Record<string, unknown>;
    bindingSettings?: Record<string, unknown>;
    recipients?: Array<Record<string, unknown>>;
    enteredEffectiveDate?: string; // ISO 8601
    importPolicyId?: string;
  };
  bindErrors?: Array<Record<string, unknown>>;
  previewData?: Record<string, unknown>;
  ratingEngineRevisionId?: string;
  ratingEngineVersionShortName?: string;
  billingEmail?: string;
};
See Quote for the lightweight list representation and QuoteDetail above for the full detail payload.

Example Requests

cURL
curl -X GET \
  "https://app.aiinsurance.io/api/external/companies/<YOUR-COMPANY-ID>/submissions/<YOUR-SUBMISSION-ID>/quotes/<YOUR-QUOTE-ID>" \
  -H "Authorization: ApiKey <YOUR-API-KEY>"
I