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

# List OSHA inspections

> OSHA enforcement inspections, from the Department of Labor’s enforcement data. OSHA’s rows as published, under OSHA’s own column names in camelCase. Each row also carries the employerId and siteId Effective matched it to (null if unmatched) and the OSHA file it came from. Newest first. To page, repeat the same filters and limit with cursor set to nextCursor. Read one with GET /insurance/osha/inspections/{activityNr}. Needs the OSHA dataset enabled for your organization. Read-only; private, no-store. 



## OpenAPI

````yaml /openapi.json get /insurance/osha/inspections
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/osha/inspections:
    get:
      tags:
        - OSHA
      summary: List OSHA inspections
      description: >-
        OSHA enforcement inspections, from the Department of Labor’s enforcement
        data. OSHA’s rows as published, under OSHA’s own column names in
        camelCase. Each row also carries the employerId and siteId Effective
        matched it to (null if unmatched) and the OSHA file it came from. Newest
        first. To page, repeat the same filters and limit with cursor set to
        nextCursor. Read one with GET /insurance/osha/inspections/{activityNr}.
        Needs the OSHA dataset enabled for your organization. Read-only;
        private, no-store. 
      operationId: listOshaInspections
      parameters:
        - schema:
            type: string
            pattern: ^emp_[0-9a-f]{20}$
            description: 'Effective employer ID: emp_ followed by 20 hex characters.'
          required: false
          description: 'Effective employer ID: emp_ followed by 20 hex characters.'
          name: employerId
          in: query
        - schema:
            type: string
            pattern: ^site_[0-9a-f]{20}$
            description: 'Effective site ID: site_ followed by 20 hex characters.'
          required: false
          description: 'Effective site ID: site_ followed by 20 hex characters.'
          name: siteId
          in: query
        - schema:
            type: string
            pattern: ^[A-Za-z]{2}$
            description: Two-letter state code, such as FL.
          required: false
          description: Two-letter state code, such as FL.
          name: state
          in: query
        - schema:
            type: string
            pattern: ^\d{5}$
            description: Five-digit ZIP code.
          required: false
          description: Five-digit ZIP code.
          name: zip
          in: query
        - schema:
            type: string
            pattern: ^\d{2,6}$
            description: >-
              NAICS code or prefix, 2 to 6 digits. 2381 matches every 2381xx
              code.
          required: false
          description: NAICS code or prefix, 2 to 6 digits. 2381 matches every 2381xx code.
          name: naics
          in: query
        - schema:
            type: string
            pattern: ^[A-Za-z]$
            description: >-
              OSHA inspection type letter, such as A accident, B complaint, H
              planned, M fatality or catastrophe.
          required: false
          description: >-
            OSHA inspection type letter, such as A accident, B complaint, H
            planned, M fatality or catastrophe.
          name: inspType
          in: query
        - schema:
            type: string
            format: date
            description: Earliest open date, inclusive.
          required: false
          description: Earliest open date, inclusive.
          name: openDateFrom
          in: query
        - schema:
            type: string
            format: date
            description: Latest open date, inclusive.
          required: false
          description: Latest open date, inclusive.
          name: openDateTo
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
            description: Maximum number of items to return (1-100).
          required: false
          description: Maximum number of items to return (1-100).
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 8192
            description: >-
              Opaque nextCursor from this operation. Repeat every other query
              parameter unchanged; a cursor from a different query returns
              invalid_cursor.
          required: false
          description: >-
            Opaque nextCursor from this operation. Repeat every other query
            parameter unchanged; a cursor from a different query returns
            invalid_cursor.
          name: cursor
          in: query
      responses:
        '200':
          description: One page of inspections.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2OshaInspections'
        '400':
          description: >-
            invalid_request for invalid, unknown or repeated inputs;
            invalid_cursor means restart the list.
          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: the OSHA dataset is not enabled for this
            organization. Other credential restrictions use forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '404':
          description: 'not_found: no such employer, site or OSHA row.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CodedError'
        '500':
          description: Unexpected server failure.
          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:
    V2OshaInspections:
      type: object
      properties:
        inspections:
          type: array
          items:
            $ref: '#/components/schemas/V2OshaInspection'
        nextCursor:
          type: string
          nullable: true
          description: Cursor for the next page, or null on the last page.
      required:
        - inspections
        - nextCursor
    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
    V2OshaInspection:
      type: object
      properties:
        activityNr:
          type: string
          nullable: true
        reportingId:
          type: string
          nullable: true
        stateFlag:
          type: string
          nullable: true
        estabName:
          type: string
          nullable: true
        siteAddress:
          type: string
          nullable: true
        siteCity:
          type: string
          nullable: true
        siteState:
          type: string
          nullable: true
        siteZip:
          type: string
          nullable: true
        ownerType:
          type: string
          nullable: true
        ownerCode:
          type: string
          nullable: true
        advNotice:
          type: string
          nullable: true
        safetyHlth:
          type: string
          nullable: true
        sicCode:
          type: string
          nullable: true
        naicsCode:
          type: string
          nullable: true
        inspType:
          type: string
          nullable: true
        inspScope:
          type: string
          nullable: true
        whyNoInsp:
          type: string
          nullable: true
        unionStatus:
          type: string
          nullable: true
        safetyManuf:
          type: string
          nullable: true
        safetyConst:
          type: string
          nullable: true
        safetyMarit:
          type: string
          nullable: true
        healthManuf:
          type: string
          nullable: true
        healthConst:
          type: string
          nullable: true
        healthMarit:
          type: string
          nullable: true
        migrant:
          type: string
          nullable: true
        mailStreet:
          type: string
          nullable: true
        mailCity:
          type: string
          nullable: true
        mailState:
          type: string
          nullable: true
        mailZip:
          type: string
          nullable: true
        hostEstKey:
          type: string
          nullable: true
        nrInEstab:
          type: number
          nullable: true
        openDate:
          type: string
          nullable: true
        caseModDate:
          type: string
          nullable: true
        closeConfDate:
          type: string
          nullable: true
        closeCaseDate:
          type: string
          nullable: true
        ldDt:
          type: string
          nullable: true
        id:
          type: string
          description: The inspection’s activity number.
        employerId:
          type: string
          nullable: true
          pattern: ^emp_[0-9a-f]{20}$
          description: >-
            Employer Effective matched this row to, or null if it could not
            place it.
        siteId:
          type: string
          nullable: true
          pattern: ^site_[0-9a-f]{20}$
          description: Site Effective matched this row to, or null.
        sourceFile:
          $ref: '#/components/schemas/V2OshaSourceFile'
      required:
        - activityNr
        - reportingId
        - stateFlag
        - estabName
        - siteAddress
        - siteCity
        - siteState
        - siteZip
        - ownerType
        - ownerCode
        - advNotice
        - safetyHlth
        - sicCode
        - naicsCode
        - inspType
        - inspScope
        - whyNoInsp
        - unionStatus
        - safetyManuf
        - safetyConst
        - safetyMarit
        - healthManuf
        - healthConst
        - healthMarit
        - migrant
        - mailStreet
        - mailCity
        - mailState
        - mailZip
        - hostEstKey
        - nrInEstab
        - openDate
        - caseModDate
        - closeConfDate
        - closeCaseDate
        - ldDt
        - id
        - employerId
        - siteId
        - sourceFile
      description: >-
        One OSHA enforcement inspection. Fields are OSHA’s own column names in
        camelCase, with values as OSHA publishes them.
    V2Error:
      type: object
      properties:
        error:
          type: string
          minLength: 1
          description: Human-readable explanation of the failure.
      required:
        - error
    V2OshaSourceFile:
      type: object
      properties:
        url:
          type: string
          description: OSHA or DOL file or API page the row was read from.
        sha256:
          type: string
          description: SHA-256 of that file as Effective downloaded it.
        retrievedAt:
          type: string
          description: When Effective downloaded it (RFC 3339).
      required:
        - url
        - sha256
        - retrievedAt
  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.