PartnerVinPlanSearchWithUserInfoModel

  • searchCriteria
    Type: object · VinSearchCriteriaWithUserInfo
    required

    VIN search criteria with pre-registered user information. Used when customer details have already been collected.

    • vin
      Type: string
      min length:  
      17
      max length:  
      17
      required

      17-character Vehicle Identification Number. Required.

    • mileage
      Type: integerFormat: int32

      Current vehicle odometer reading in miles. Required. Must be between 1 and 250,000.

  • userDetails
    Type: object · UserDetailsModel
    required

    Customer billing and contact information for account creation. If the email already exists, the user profile is updated with any new information provided.

    • address
      Type: string Pattern: ^(?=.*[a-zA-Z])(?!.*@).*$
      required

      Customer's street address. Required. 5-60 characters, must include street name.

    • city
      Type: string Pattern: ^[A-Za-z\u00C0-\u024F''.\-]+(?:[\s\-][A-Za-z\u00C0-\u024F''.\-]+)*$
      required

      Customer's city. Required. 3-32 characters.

    • email
      Type: string Pattern: ^[^\s@]+@[^\s@]+\.[^\s@]+$Format: email
      required

      Customer's email address. Required. Must be a valid email format.

    • firstName
      Type: string Pattern: ^[a-zA-Z' .-]+$
      required

      Customer's first name. Required. 2-32 characters, letters only (including dot, whitespace, dash, apostrophe).

    • lastName
      Type: string Pattern: ^[a-zA-Z' .-]+$
      required

      Customer's last name. Required. 2-32 characters, letters only (including dot, whitespace, dash, apostrophe).

    • state
      Type: string Pattern: ^[a-zA-Z]+$
      required

      Two-letter US state code. Required. Must match the state derived from the ZIP code.

    • zip
      Type: stringFormat: postal-code
      required

      5-digit US ZIP code. Required. Must be a valid ZIP code that matches the state.

    • addressApartment
      Type: string | null

      Optional. Apartment, suite, or unit number. Maximum 4 characters.

    • billingAddress
      Type: string | null Pattern: ^(?=.*[a-zA-Z])(?!.*@).*$
    • billingAddressApartment
      Type: string | null
    • billingCity
      Type: string | null
    • billingFirstName
      Type: string | null Pattern: ^[a-zA-Z' .-]+$
    • billingLastName
      Type: string | null Pattern: ^[a-zA-Z' .-]+$
    • billingState
      Type: string | null Pattern: ^[a-zA-Z]+$
    • billingZip
      Type: string | nullFormat: postal-code
    • isBillingAddressDifferent
      Type: boolean
    • phoneNumber
      Type: string | null

      Customer's phone number. Optional but recommended. 10-digit US phone number.

  • filters
    Type: object · PlanSearchFilters nullable

    Optional filters to narrow down plan search results. All filters are optional - if not specified, all matching plans are returned.

    • categoryTypes
      Type: array string[] | null

      Filter by component coverage categories. Only returns plans that cover specified categories. Values: "Engine", "TurboSuper", "TransferCase", "Steering", "Transmission", "DriveAxle", "Suspension", "AirCon", "Brakes", "Electricals", "Cooling", "Fuel", "Hybrid", "Body", "Consumables", "Exhaust", "General", "Interior", "Services", "Assist"

    • coverageType
      Type: string · CoverageTypeEnumenum nullable

      Possible values: None (0) - None, Powertrain (1) - Powertrain, PowertrainPlus (2) - PowertrainPlus, MostComprehensive (3) - MostComprehensive

      values
      • None
      • Powertrain
      • PowertrainPlus
      • MostComprehensive
    • coverageTypes
      Type: array string[] | null

      Filter by multiple coverage types simultaneously. Values: "basic" (Basic), "basicplus" (Basic Plus), "best" (Best/Exclusionary)

    • duration
      Type: object · Int32Range nullable

      Defines a range filter with lower and upper bounds.

    • excludeProviders
      Type: array string[] | null

      Exclude specific providers from the results. Useful when you want all providers except certain ones.

    • miles
      Type: object · Int32Range nullable

      Defines a range filter with lower and upper bounds.

    • monthlyPrice
      Type: object · DoubleRange nullable

      Defines a range filter with lower and upper bounds.

    • numberOfProviders
      Type: integer | nullFormat: int32

      Limit the number of unique providers in the results. For example, set to 3 to get plans from at most 3 different providers.

    • planChaizRating
      Type: object · DecimalRange nullable

      Defines a range filter with lower and upper bounds.

    • providers
      Type: array string[] | null

      Filter results to only include plans from specific providers. Use provider names like "NAAC", "Omega", "CAPS", "ServiceContract".

    • returnResults
      Type: integerFormat: int32

      Maximum number of plan results to return. Default varies by partner configuration.

    • totalPrice
      Type: object · DoubleRange nullable

      Defines a range filter with lower and upper bounds.

  • partner
    Type: string | null

    Your unique partner identifier provided during onboarding. Must match the partner identity in your authentication token.

  • searchId
    Type: string | nullFormat: uuid

    Optional. Return cached results from a previous search. Useful for pagination or retrieving the same results without re-executing the search.

  • showProviderInfo
    Type: boolean

    When true, includes detailed provider information in the response. Default is false.

  • tracking
    Type: object · PlanSearchTracking nullable

    UTM parameters and referrer information for tracking partner searches.

    • queryParams
      Type: string | null

      UTM parameters to append to partner URLs (e.g., "utm_source=partner&utm_medium=api"). These parameters will be included in checkout and plan summary URLs.

    • referrer
      Type: string | null

      Referrer URL for tracking the source of the search request.

  • userId
    Type: string | nullFormat: uuid

    Optional. Associate this search with a specific user ID for tracking purposes. If provided, the search results will be linked to this user.