> ## 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 regulatory document

> Get one document's fields, summary, cited laws, source page and stored source file. Read its text with getRegulatoryDocumentText and its citation links with listRegulatoryDocumentReferences. Costs $0.003; failed requests are free.



## OpenAPI

````yaml /openapi.json get /insurance/regulatory-documents/{documentId}
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/regulatory-documents/{documentId}:
    get:
      tags:
        - Regulatory documents
      summary: Get a regulatory document
      description: >-
        Get one document's fields, summary, cited laws, source page and stored
        source file. Read its text with getRegulatoryDocumentText and its
        citation links with listRegulatoryDocumentReferences. Costs $0.003;
        failed requests are free.
      operationId: getRegulatoryDocument
      parameters:
        - schema:
            type: string
            format: uuid
            description: Document id from listRegulatoryDocuments.
          required: true
          description: Document id from listRegulatoryDocuments.
          name: documentId
          in: path
      responses:
        '200':
          description: The stored document.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2RegulatoryDocument'
        '400':
          description: >-
            invalid_request or invalid_cursor. Restart without cursor after
            expiry or a changed query, filter or limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '401':
          description: Authentication required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '403':
          description: 'forbidden: SERFF view permission, which covers regulatory documents.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: 'not_found: unknown or deleted document.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '503':
          description: >-
            temporarily_unavailable: the search embedding, a 60-second statement
            timeout or the cursor store failed. Retry after Retry-After seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
      security:
        - bearerAuth: []
components:
  schemas:
    V2RegulatoryDocument:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: >-
            Document identity. A duplicate cleanup can delete an ID; find the
            document again.
        state:
          type: string
          description: Two-letter jurisdiction code, or ALL for national NAIC material.
        kind:
          $ref: '#/components/schemas/V2RegulatoryDocumentKind'
        identifier:
          type: string
          nullable: true
          description: >-
            The publisher's identifier, such as 28 TAC § 5.7013. Null when the
            source gave none. Not unique within a state.
        title:
          type: string
          description: The source title. Statute titles are path slugs today.
        status:
          type: string
          nullable: true
          enum:
            - final
            - informational
            - emergency
            - proposed
            - withdrawn
            - superseded
            - introduced
            - passed_chamber
            - enacted
            - vetoed
            - failed
            - null
          description: >-
            Lifecycle status, one flat set across kinds. Bills use introduced,
            passed_chamber, enacted, vetoed, withdrawn and failed; other kinds
            use final, informational, emergency, proposed, withdrawn and
            superseded. New values can be added; tolerate values you do not
            recognize. Null means the source gave none.
        publishedDate:
          type: string
          nullable: true
          format: date
          description: >-
            The publisher's date, as stored. It can be null or wrong. A
            year-only date is stored as 1 January.
        firstSeenAt:
          type: string
          format: date-time
          description: >-
            When the corpus first stored this document, UTC. Backfills and
            changed source URLs can make an old document look new.
        toiCodes:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            TOI values, including H, L, T and ALL. Null means never classified;
            [] means classified and none apply.
        impactTags:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Impact tags, normally values of V2RegulatoryImpactTag; a few stored
            tags fall outside that set. Same null and [] rule as toiCodes.
        summary:
          type: string
          nullable: true
          description: A research aid, not the source. Null for most documents.
        effectiveDate:
          type: string
          nullable: true
          format: date
          description: The effective date, when the source gives one.
        legalRefs:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            Laws the document cites, as written. Null means never extracted. A
            cited law can be missing from references.
        sourceUrl:
          type: string
          description: The publisher's page for this document.
        fileId:
          type: string
          nullable: true
          format: uuid
          description: >-
            The stored source file, when we hold one. Download it with GET
            /files/{fileId}/download. Recent documents often have none.
      required:
        - id
        - state
        - kind
        - identifier
        - title
        - status
        - publishedDate
        - firstSeenAt
        - toiCodes
        - impactTags
        - summary
        - effectiveDate
        - legalRefs
        - sourceUrl
        - fileId
    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
    V2RegulatoryDocumentKind:
      type: string
      enum:
        - bulletin
        - circular_letter
        - data_call
        - examination_standards
        - filing_requirement
        - form_checklist
        - guideline
        - informational_memo
        - legislative_bill
        - mcas_scorecard
        - meeting_materials
        - model_law
        - model_law_adoption
        - news_release
        - order
        - reference_document
        - regulation
        - statute
        - survey
      description: >-
        Document kind. New values can be added; tolerate values you do not
        recognize.
    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.