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

# Read a filing's regulatory history

> The catalog around a filing you are preparing: the company's recent SERFF filings for the filing's state and TOI, other carriers' recent filings for them, each with its newest objection letters, reviewers and filer contacts, and the company's responses. Use it to see what this state has asked the company and its competitors before, and to cite earlier letters.

Requires read access to the filing and SERFF View. The filing needs a state and TOI. To search letter text across carriers in the same scope, use GET /insurance/filing-objections with q, state, toi and objectionDateFrom. Read-only and free from the web app.



## OpenAPI

````yaml /openapi.json get /insurance/managed-filings/{filingId}/history
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.canary.effectiveai.app/api/v2
    description: Canary
security:
  - bearerAuth: []
paths:
  /insurance/managed-filings/{filingId}/history:
    get:
      tags:
        - Managed Filings
      summary: Read a filing's regulatory history
      description: >-
        The catalog around a filing you are preparing: the company's recent
        SERFF filings for the filing's state and TOI, other carriers' recent
        filings for them, each with its newest objection letters, reviewers and
        filer contacts, and the company's responses. Use it to see what this
        state has asked the company and its competitors before, and to cite
        earlier letters.


        Requires read access to the filing and SERFF View. The filing needs a
        state and TOI. To search letter text across carriers in the same scope,
        use GET /insurance/filing-objections with q, state, toi and
        objectionDateFrom. Read-only and free from the web app.
      operationId: getManagedFilingHistory
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: filingId
          in: path
      responses:
        '200':
          description: >-
            The filing's catalog scope, the company's filings and other
            carriers'.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2ManagedFilingHistory'
        '400':
          description: The filing has no state or TOI yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: SERFF read permission required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: Filing not found or not readable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2ManagedFilingHistory:
      type: object
      properties:
        scope:
          type: object
          properties:
            state:
              type: string
              description: The filing's state, from its jurisdiction.
            toiCode:
              type: string
              description: The filing's TOI code.
            naicCompanyCode:
              type: string
              nullable: true
              description: >-
                The filing company's NAIC company code; null when it has none,
                so filings is empty.
            serffTrackingNumber:
              type: string
              nullable: true
              description: >-
                This filing's SERFF tracking number, to find it in filings once
                it is submitted.
          required:
            - state
            - toiCode
            - naicCompanyCode
            - serffTrackingNumber
          description: The catalog scope the history covers.
        filings:
          type: array
          items:
            $ref: '#/components/schemas/V2FilingHistoryFiling'
          description: >-
            The company's 20 most recently submitted catalog filings for this
            state and TOI.
        related:
          type: array
          items:
            $ref: '#/components/schemas/V2FilingHistoryFiling'
          description: >-
            Other carriers' 20 most recently submitted catalog filings for this
            state and TOI.
        sourceCompleteness:
          type: string
          enum:
            - unknown
          description: >-
            Always `unknown`: only extracted SERFF filings and letters are
            covered, so a missing letter does not mean there was no objection.
      required:
        - scope
        - filings
        - related
        - sourceCompleteness
    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.
            businessCode:
              type: string
              description: The rater’s own refusal code, for business_rejection.
            violations:
              type: array
              items:
                type: object
                properties:
                  code:
                    type: string
                    description: Authored or built-in constraint code
                  message:
                    type: string
                    description: Authored message for the failed constraint
                  path:
                    type: string
                    description: Input path of the offending value; empty for the request
                  value:
                    nullable: true
                    description: Offending input value, size-bounded by the runtime
                  constraint:
                    type: string
                    description: The constraint the value failed, as text
                  cite:
                    type: string
                    nullable: true
                    description: >-
                      Filing citation of the constraint, when the source cites
                      one
                required:
                  - code
                  - message
                  - path
                  - value
                  - constraint
                  - cite
                additionalProperties: false
              maxItems: 256
              description: >-
                Each input constraint the submission failed, for invalid_inputs
                and business_rejection.
            violationsTruncated:
              type: boolean
              description: >-
                True when the rater reported more violations than violations
                holds.
            executionId:
              type: string
              description: >-
                The recorded execution of a failed rating, for rater rating
                failures.
            accessUrl:
              type: string
              nullable: true
              format: uri
              description: >-
                Where to add the product to your account, for
                product_access_required.
          required:
            - code
    V2FilingHistoryFiling:
      allOf:
        - $ref: '#/components/schemas/V2FilingSummary'
        - type: object
          properties:
            stateStatus:
              type: string
              nullable: true
            dispositionStatus:
              type: string
              nullable: true
            rateImpact:
              $ref: '#/components/schemas/V2FilingRateChangeSummary'
            objections:
              type: array
              items:
                $ref: '#/components/schemas/V2FilingHistoryObjection'
              description: >-
                Up to 10 newest objection letters. Use GET
                /insurance/filing-objections with filingId for more.
          required:
            - stateStatus
            - dispositionStatus
            - rateImpact
            - objections
    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
        webUrl:
          type: string
          format: uri
          description: >-
            The filing page in Effective, for citing this filing. Omitted where
            you cannot open it.
        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
    V2FilingRateChangeSummary:
      type: object
      nullable: true
      properties:
        overallRateImpactPercent:
          type: number
          nullable: true
          description: >-
            The overall change the filing selects and requests, in percent: 7.5
            means 7.5%. Null means unknown.
        overallIndicatedChangePercent:
          type: number
          nullable: true
          description: >-
            The overall change the filing’s rate analysis indicates, in percent.
            Often differs from the selected change. Null means unknown.
      required:
        - overallRateImpactPercent
        - overallIndicatedChangePercent
      description: >-
        Overall rate change extracted from the SERFF rate data. Null when none
        was extracted, which includes form-only filings and every Florida IRFS
        filing; it does not mean no change. A filed rate is not an approved
        rate. GET /insurance/filings/{filingId}/rate-impact adds written
        premium, policyholders affected and the range of changes.
    V2FilingHistoryObjection:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Letter ID for GET /insurance/filing-objections/{objectionId}.
        objectionDate:
          type: string
          nullable: true
          format: date
        reviewerName:
          type: string
          nullable: true
          description: The state analyst who wrote the letter, when known.
        filerName:
          type: string
          nullable: true
          description: The filer contact the letter is addressed to, when known.
        textPreview:
          type: string
          nullable: true
          description: The start of the letter, or null when it has no text.
        textTruncated:
          type: boolean
        webUrl:
          type: string
          format: uri
          description: The letter's page in Effective.
        responses:
          type: array
          items:
            $ref: '#/components/schemas/V2FilingHistoryResponse'
          description: >-
            The company's responses dated on or after this letter and before the
            next one, oldest first. SERFF does not link responses to letters, so
            this pairing is by date. Empty for other carriers' filings.
      required:
        - id
        - objectionDate
        - reviewerName
        - filerName
        - textPreview
        - textTruncated
        - webUrl
        - responses
    V2FilingHistoryResponse:
      type: object
      properties:
        responseDate:
          type: string
          nullable: true
          format: date
        textPreview:
          type: string
          description: The start of the company's response text.
        textTruncated:
          type: boolean
      required:
        - responseDate
        - textPreview
        - textTruncated
  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.