> ## Documentation Index
> Fetch the complete documentation index at: https://docs.effectiveai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List which rating program versions rate a product in a state

> Stored routes from this product state to exact rating program versions, each for a window of policy effective dates and for new business, renewals or both. Newest window first. To find the rater for one policy, pass effectiveOn and transaction: writes reject overlapping windows for the same transaction, so at most one route matches; none means no route is recorded for that date. Then read the version with getRatingProgramVersion, its inputs with getRatingProgramVersionContract, and rate it with rateRatingProgramVersion. access and subscription are the caller's current rights to each program; subscribe with subscribeRatingProgram. Empty does not prove no rater exists; request one with requestProductRatingPlans. Free. Access: open to every caller; no product access needed.



## OpenAPI

````yaml /openapi.json get /insurance/products/{productId}/availability/{state}/rating-programs
openapi: 3.0.3
info:
  title: Effective API
  version: 2.0.0
  description: The public Effective REST API. Authenticate using an Effective API key.
servers:
  - url: https://api.effectiveai.app/api/v2
    description: Production
security:
  - bearerAuth: []
paths:
  /insurance/products/{productId}/availability/{state}/rating-programs:
    get:
      tags:
        - Products
      summary: List which rating program versions rate a product in a state
      description: >-
        Stored routes from this product state to exact rating program versions,
        each for a window of policy effective dates and for new business,
        renewals or both. Newest window first. To find the rater for one policy,
        pass effectiveOn and transaction: writes reject overlapping windows for
        the same transaction, so at most one route matches; none means no route
        is recorded for that date. Then read the version with
        getRatingProgramVersion, its inputs with
        getRatingProgramVersionContract, and rate it with
        rateRatingProgramVersion. access and subscription are the caller's
        current rights to each program; subscribe with subscribeRatingProgram.
        Empty does not prove no rater exists; request one with
        requestProductRatingPlans. Free. Access: open to every caller; no
        product access needed.
      operationId: listProductAvailabilityRatingPrograms
      parameters:
        - schema:
            type: string
            description: >-
              Managed product_ ID or bare checked code; case-insensitive with
              Crockford aliases.
          required: true
          description: >-
            Managed product_ ID or bare checked code; case-insensitive with
            Crockford aliases.
          name: productId
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: >-
              A configured state code from availabilitySummary.states,
              case-insensitive.
            example: TX
          required: true
          description: >-
            A configured state code from availabilitySummary.states,
            case-insensitive.
          name: state
          in: path
        - schema:
            type: string
            format: date
            description: >-
              Keep routes whose window contains this policy effective date
              (YYYY-MM-DD): effectiveFrom on or before it and effectiveTo after
              it or null.
          required: false
          description: >-
            Keep routes whose window contains this policy effective date
            (YYYY-MM-DD): effectiveFrom on or before it and effectiveTo after it
            or null.
          name: effectiveOn
          in: query
        - schema:
            type: string
            enum:
              - newBusiness
              - renewal
            description: Keep routes that rate this transaction.
          required: false
          description: Keep routes that rate this transaction.
          name: transaction
          in: query
      responses:
        '200':
          description: Routes for the state; empty means none recorded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  routes:
                    type: array
                    items:
                      $ref: '#/components/schemas/V2RatingProgramRoute'
                required:
                  - routes
                additionalProperties: false
        '400':
          description: Invalid request or invalid_id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: Product or availability not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '429':
          description: Rate limited. Honor Retry-After seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '503':
          description: Dependency unavailable. Honor Retry-After seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2RatingProgramRoute:
      type: object
      properties:
        productId:
          type: string
          description: Managed product_ ID.
        productName:
          type: string
        state:
          type: string
          description: The configured availability state, as stored.
        program:
          type: object
          properties:
            id:
              type: string
              pattern: ^[a-z0-9][a-z0-9._-]{0,127}$
            name:
              type: string
          required:
            - id
            - name
          additionalProperties: false
        version:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          description: The exact version to rate; read it with getRatingProgramVersion.
        effectiveFrom:
          type: string
          format: date
          description: >-
            First policy effective date the route covers (YYYY-MM-DD),
            inclusive.
        effectiveTo:
          type: string
          nullable: true
          format: date
          description: >-
            First policy effective date the route no longer covers (YYYY-MM-DD),
            exclusive; null is open-ended.
        newBusiness:
          type: boolean
          description: The route rates new business.
        renewals:
          type: boolean
          description: The route rates renewals.
        note:
          type: string
          nullable: true
          maxLength: 2000
          description: Why the route exists or what it excludes.
        access:
          type: object
          properties:
            canRun:
              type: boolean
            canDownload:
              type: boolean
            expiresAt:
              type: string
              nullable: true
              format: date-time
          required:
            - canRun
            - canDownload
            - expiresAt
          additionalProperties: false
        subscription:
          type: object
          properties:
            subscribed:
              type: boolean
            subscribedAt:
              type: string
              nullable: true
              format: date-time
            subscribedBy:
              type: string
              nullable: true
            canSubscribe:
              type: boolean
            canUnsubscribe:
              type: boolean
          required:
            - subscribed
            - subscribedAt
            - subscribedBy
            - canSubscribe
            - canUnsubscribe
          additionalProperties: false
      required:
        - productId
        - productName
        - state
        - program
        - version
        - effectiveFrom
        - effectiveTo
        - newBusiness
        - renewals
        - note
        - access
        - subscription
      additionalProperties: false
    V2CodedError:
      allOf:
        - $ref: '#/components/schemas/V2Error'
        - type: object
          properties:
            code:
              type: string
              minLength: 1
              description: Stable error code. Clients must tolerate unknown future codes.
            details:
              type: array
              items:
                type: object
                properties:
                  location:
                    type: string
                    enum:
                      - path
                      - query
                      - header
                      - body
                  path:
                    type: array
                    items:
                      type: string
                      maxLength: 64
                    maxItems: 12
                  code:
                    type: string
                    enum:
                      - required
                      - invalid_type
                      - invalid_value
                      - unknown_field
                  message:
                    type: string
                    minLength: 1
                    maxLength: 200
                required:
                  - location
                  - path
                  - code
                  - message
              minItems: 1
              maxItems: 20
              description: Bounded safe validation issues; may omit some invalid fields.
            requestId:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Existing server correlation for this HTTP attempt, when
                available.
            dataset:
              type: string
              enum:
                - naic
                - osha
              description: Dataset needed for dataset_not_enabled.
            accessUrl:
              type: string
              nullable: true
              format: uri
              description: >-
                Where to add the product to your account, for
                product_access_required.
          required:
            - code
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Effective API key. Send Authorization: Bearer sk-eai-...'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.