> ## 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 published product events in a state

> Explicitly published historical facts, newest recordedAt then event ID first. Corrections/removals do not publish events. Live keyset traversal; scope/query-bound continuations expire 24 hours after the first page. Read the component routes for current state.



## OpenAPI

````yaml /openapi.json get /insurance/products/{productId}/availability/{state}/events
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://effectiveai.app/api/v2
    description: Production
security:
  - bearerAuth: []
paths:
  /insurance/products/{productId}/availability/{state}/events:
    get:
      tags:
        - Products
      summary: List published product events in a state
      description: >-
        Explicitly published historical facts, newest recordedAt then event ID
        first. Corrections/removals do not publish events. Live keyset
        traversal; scope/query-bound continuations expire 24 hours after the
        first page. Read the component routes for current state.
      operationId: listAvailabilityEvents
      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
          required: true
          name: state
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
          required: false
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 128
          required: false
          name: cursor
          in: query
        - schema:
            anyOf:
              - type: string
                enum:
                  - product.filing.recorded
                  - product.uw_manual.updated
                  - product.rate_manual.updated
                  - product.form.updated
              - type: array
                items:
                  type: string
                  enum:
                    - product.filing.recorded
                    - product.uw_manual.updated
                    - product.rate_manual.updated
                    - product.form.updated
                minItems: 1
                maxItems: 100
          required: false
          name: type
          in: query
        - schema:
            type: string
            format: date-time
          required: false
          name: since
          in: query
      responses:
        '200':
          description: Published events.
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      $ref: '#/components/schemas/V2ProductEvent'
                  nextCursor:
                    type: string
                    nullable: true
                required:
                  - events
                  - nextCursor
                additionalProperties: false
        '400':
          description: >-
            Invalid request, invalid_id or invalid_cursor; restart traversal for
            an invalid cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: Operation forbidden.
          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:
    V2ProductEvent:
      oneOf:
        - type: object
          properties:
            id:
              type: string
            productId:
              type: string
            state:
              type: string
            recordedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - product.filing.recorded
            data:
              type: object
              properties:
                filing:
                  $ref: '#/components/schemas/V2Filing'
              required:
                - filing
              additionalProperties: false
          required:
            - id
            - productId
            - state
            - recordedAt
            - type
            - data
          additionalProperties: false
        - type: object
          properties:
            id:
              type: string
            productId:
              type: string
            state:
              type: string
            recordedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - product.uw_manual.updated
            data:
              type: object
              properties:
                files:
                  type: array
                  items:
                    $ref: '#/components/schemas/V2ProductFileRef'
              required:
                - files
              additionalProperties: false
          required:
            - id
            - productId
            - state
            - recordedAt
            - type
            - data
          additionalProperties: false
        - type: object
          properties:
            id:
              type: string
            productId:
              type: string
            state:
              type: string
            recordedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - product.rate_manual.updated
            data:
              type: object
              properties:
                files:
                  type: array
                  items:
                    $ref: '#/components/schemas/V2ProductFileRef'
              required:
                - files
              additionalProperties: false
          required:
            - id
            - productId
            - state
            - recordedAt
            - type
            - data
          additionalProperties: false
        - type: object
          properties:
            id:
              type: string
            productId:
              type: string
            state:
              type: string
            recordedAt:
              type: string
              format: date-time
            type:
              type: string
              enum:
                - product.form.updated
            data:
              type: object
              properties:
                forms:
                  type: array
                  items:
                    $ref: '#/components/schemas/V2ProductFormSnapshot'
              required:
                - forms
              additionalProperties: false
          required:
            - id
            - productId
            - state
            - recordedAt
            - type
            - data
          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.
          required:
            - code
    V2Filing:
      allOf:
        - $ref: '#/components/schemas/V2FilingSummary'
        - type: object
          properties:
            description:
              type: string
              nullable: true
            businessType:
              type: string
              nullable: true
            status:
              type: object
              properties:
                stateStatus:
                  type: string
                  nullable: true
                dispositionStatus:
                  type: string
                  nullable: true
                normalizedOutcome:
                  type: string
                  nullable: true
                regimeExpected:
                  type: string
                  nullable: true
                regimeObserved:
                  type: string
                  nullable: true
                outcomeFavorable:
                  type: string
                  nullable: true
                isClosed:
                  type: boolean
                  nullable: true
                maybeWithdrawal:
                  type: boolean
                  nullable: true
              required:
                - stateStatus
                - dispositionStatus
                - normalizedOutcome
                - regimeExpected
                - regimeObserved
                - outcomeFavorable
                - isClosed
                - maybeWithdrawal
            classification:
              type: object
              properties:
                filingTypeNormalized:
                  type: string
                  nullable: true
                filingTypeVariant:
                  type: string
                  nullable: true
              required:
                - filingTypeNormalized
                - filingTypeVariant
            stateStatusChangedDate:
              type: string
              nullable: true
              format: date
            pageCount:
              type: integer
              nullable: true
              minimum: 0
            availability:
              type: object
              properties:
                storedFiles:
                  type: string
                  enum:
                    - present
                    - none
                    - unknown
                sourceCompleteness:
                  type: string
                  enum:
                    - unknown
              required:
                - storedFiles
                - sourceCompleteness
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
          required:
            - description
            - businessType
            - status
            - classification
            - stateStatusChangedDate
            - pageCount
            - availability
            - createdAt
            - updatedAt
    V2ProductFileRef:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        source:
          type: string
          enum:
            - serff
            - web
        url:
          type: string
          nullable: true
          format: uri
        filing:
          type: object
          nullable: true
          properties:
            id:
              type: string
              format: uuid
            trackingNumber:
              type: string
          required:
            - id
            - trackingNumber
          additionalProperties: false
      required:
        - id
        - name
        - source
        - url
        - filing
      additionalProperties: false
    V2ProductFormSnapshot:
      type: object
      properties:
        formNumber:
          type: string
          minLength: 1
        edition:
          type: string
          nullable: true
          pattern: ^\d{4}-(0[1-9]|1[0-2])$
        title:
          type: string
          nullable: true
        formType:
          type: string
          nullable: true
        fileId:
          type: string
          nullable: true
          format: uuid
      required:
        - formNumber
        - edition
        - title
        - formType
        - fileId
      additionalProperties: false
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
    V2FilingSummary:
      type: object
      properties:
        id:
          type: string
          format: uuid
        source:
          type: string
        sourceReference:
          type: string
        state:
          type: string
        companyName:
          type: string
          nullable: true
        carrierIds:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Unique canonical carrier_ IDs resolved from source NAIC codes. Null
            when no valid source codes are known; [] when codes are known but
            none resolve. May be partial; naicCompanyCodes preserves all known
            source codes. Never contains naic: references.
        groupId:
          type: string
          nullable: true
          description: >-
            Canonical carrier_group_ ID, or null when the source code is absent,
            unresolved or ambiguous. naicGroupCode preserves the source code.
        naicCompanyCodes:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Unique five-digit source NAIC company codes, preserving leading
            zeros; null when unknown. These are source identifiers, not managed
            IDs, and remain available without a directory match.
        naicGroupCode:
          type: string
          nullable: true
          description: >-
            Source NAIC group code as a decimal string without leading zeros, or
            null when unknown. Kept separately from managed groupId.
        productName:
          type: string
          nullable: true
        typeOfInsurance:
          type: string
          nullable: true
        subTypeOfInsurance:
          type: string
          nullable: true
        toiCode:
          type: string
          nullable: true
        subToiCode:
          type: string
          nullable: true
        filingType:
          type: string
          nullable: true
        sourceStatus:
          type: string
          nullable: true
        submissionDate:
          type: string
          nullable: true
          format: date
        dispositionDate:
          type: string
          nullable: true
          format: date
      required:
        - id
        - source
        - sourceReference
        - state
        - companyName
        - carrierIds
        - groupId
        - naicCompanyCodes
        - naicGroupCode
        - productName
        - typeOfInsurance
        - subTypeOfInsurance
        - toiCode
        - subToiCode
        - filingType
        - sourceStatus
        - submissionDate
        - dispositionDate
  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.