> ## 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.

# Get a carrier’s annual financial totals

> Read reported all-lines premium and underwriting totals from Part 1B and IEE Part 3 for one statement year. Requires the organization’s NAIC dataset grant after acceptance of the NAIC terms; checked before carrier lookup. Whole US dollars; IEE amounts are scaled from thousands. Null is unavailable, zero is reported zero, and negative values are preserved. Source NAIC companies remain separate, including codes without totals. Missing exhibits stay null with partial coverage; no older-year fallback, sums of detail lines, calculated ratios, gross premium or rankings. No balance sheet, solvency, product or MGA financials. The latest loaded values can change on reimport; this is not restatement history. One complete or partial financials document counts as one billed row: $0.03 per successful call ($0.02 request + $0.01 snapshot). Failed reads are not charged; repeated successful reads are charged again. Read-only; private, no-store. At most 200 source-company sections; oversized carrier identities return 409 without truncation. Use state-results for jurisdiction and line observations.



## OpenAPI

````yaml /openapi.json get /insurance/carriers/{carrierId}/financials
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/carriers/{carrierId}/financials:
    get:
      tags:
        - NAIC statutory data
      summary: Get a carrier’s annual financial totals
      description: >-
        Read reported all-lines premium and underwriting totals from Part 1B and
        IEE Part 3 for one statement year. Requires the organization’s NAIC
        dataset grant after acceptance of the NAIC terms; checked before carrier
        lookup. Whole US dollars; IEE amounts are scaled from thousands. Null is
        unavailable, zero is reported zero, and negative values are preserved.
        Source NAIC companies remain separate, including codes without totals.
        Missing exhibits stay null with partial coverage; no older-year
        fallback, sums of detail lines, calculated ratios, gross premium or
        rankings. No balance sheet, solvency, product or MGA financials. The
        latest loaded values can change on reimport; this is not restatement
        history. One complete or partial financials document counts as one
        billed row: $0.03 per successful call ($0.02 request + $0.01 snapshot).
        Failed reads are not charged; repeated successful reads are charged
        again. Read-only; private, no-store. At most 200 source-company
        sections; oversized carrier identities return 409 without truncation.
        Use state-results for jurisdiction and line observations.
      operationId: getCarrierFinancials
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 100
            description: >-
              Managed carrier ID or bare checked code; legacy NAIC company codes
              and naic: codes are also accepted.
          required: true
          description: >-
            Managed carrier ID or bare checked code; legacy NAIC company codes
            and naic: codes are also accepted.
          name: carrierId
          in: path
        - schema:
            type: string
            pattern: ^\d{4}$
            description: >-
              Statement year. Omit for the latest year with a reported line-35
              total in either Part 1B or IEE Part 3 across this carrier’s source
              NAIC codes. All sections use that same year; missing sections
              never fall back to an older year.
          required: false
          description: >-
            Statement year. Omit for the latest year with a reported line-35
            total in either Part 1B or IEE Part 3 across this carrier’s source
            NAIC codes. All sections use that same year; missing sections never
            fall back to an older year.
          name: year
          in: query
      responses:
        '200':
          description: One annual document with explicit exhibit coverage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CarrierFinancials'
        '400':
          description: >-
            invalid_request for unknown, repeated or malformed query fields;
            invalid_id for a malformed carrier ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: >-
            dataset_not_enabled: NAIC terms and organization entitlement are
            required; other credential restrictions use forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: >-
            not_found for an unknown carrier; statutory_data_not_found when
            neither exhibit has a total row for any source code in the selected
            year. Does not establish non-filing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '409':
          description: >-
            inventory_limit_exceeded: the carrier has more than 200 source NAIC
            company codes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected source or server failure; no charge.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '503':
          description: A dependency is unavailable; respect Retry-After.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2CarrierFinancials:
      type: object
      properties:
        carrier:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
          required:
            - id
            - name
        year:
          type: integer
        coverage:
          type: string
          enum:
            - complete
            - partial
          description: >-
            Complete means both total rows exist for every source company, not
            that all fields or all statement exhibits are available. Partial
            means at least one total row is absent.
        companies:
          type: array
          items:
            type: object
            properties:
              naicCompanyCode:
                type: string
                description: >-
                  Source five-digit NAIC company code. Administrative carrier
                  merges do not consolidate these financial statements.
              premium:
                type: object
                nullable: true
                properties:
                  direct:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  assumedAffiliated:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  assumedUnaffiliated:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  cededAffiliated:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  cededUnaffiliated:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  net:
                    type: integer
                    nullable: true
                    description: >-
                      Reported net written premium, not recomputed from other
                      fields. Whole US dollars or null.
                required:
                  - direct
                  - assumedAffiliated
                  - assumedUnaffiliated
                  - cededAffiliated
                  - cededUnaffiliated
                  - net
                description: >-
                  Reported all-lines total (line 35) from Part 1B, in dollars.
                  Null means no total row for this company/year. No calculated
                  gross or combined assumed/ceded amount.
              underwriting:
                type: object
                nullable: true
                properties:
                  premiumWritten:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  premiumEarned:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  dividendsToPolicyholders:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  lossesIncurred:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  defenseAndCostContainmentIncurred:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  adjustingAndOtherExpensesIncurred:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  unpaidLosses:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  unearnedPremiumReserve:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  commissionsAndBrokerageExpense:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  taxesLicensesAndFees:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  otherAcquisitionExpenses:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  generalExpensesIncurred:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  otherIncome:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                  pretaxProfit:
                    type: integer
                    nullable: true
                    description: >-
                      Reported amount in whole US dollars. Null is unavailable,
                      not zero. Negative amounts are preserved.
                required:
                  - premiumWritten
                  - premiumEarned
                  - dividendsToPolicyholders
                  - lossesIncurred
                  - defenseAndCostContainmentIncurred
                  - adjustingAndOtherExpensesIncurred
                  - unpaidLosses
                  - unearnedPremiumReserve
                  - commissionsAndBrokerageExpense
                  - taxesLicensesAndFees
                  - otherAcquisitionExpenses
                  - generalExpensesIncurred
                  - otherIncome
                  - pretaxProfit
                description: >-
                  Reported all-lines total (line 35) from IEE Part 3, converted
                  from thousands to whole US dollars. Null means no total row
                  for this company/year. This exhibit has its own accounting
                  basis and rounding; do not substitute it for Part 1B.
              sources:
                type: array
                items:
                  allOf:
                    - $ref: '#/components/schemas/V2NaicSource'
                    - type: object
                      properties:
                        line:
                          type: string
                          enum:
                            - '35'
                      required:
                        - line
                description: >-
                  Only the exhibits with a loaded total row for this company and
                  year. Empty when neither is loaded.
            required:
              - naicCompanyCode
              - premium
              - underwriting
              - sources
          maxItems: 200
          description: >-
            Embedded source-company sections, ordered by NAIC code. Includes
            codes with missing totals. These are parts of one annual document,
            not a paginated resource collection.
      required:
        - carrier
        - year
        - coverage
        - companies
    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
              description: Dataset needed for dataset_not_enabled.
          required:
            - code
    V2NaicSource:
      type: object
      properties:
        exhibit:
          type: string
        statementYear:
          type: integer
          minimum: 1900
          maximum: 9999
      required:
        - exhibit
        - statementYear
    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.