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

# 🧪 Safer

> Retrieve roadside inspection records for a carrier, by DOT number. Ordered by inspection date, most recent first. Optionally bound the results with `from_date`/`to_date`; carrier history can span decades, so both are unbounded by default.

<Callout icon="vial" color="#FFC107" iconType="solid"><strong>Provisional endpoint</strong><br />This endpoint is available for early access. The core schema is stable, but minor details — such as field names or added fields — may change before it becomes generally available. Backward compatibility is not guaranteed.<br /><br /><em>See <a href="/api-reference/stability-versioning">API Stability & Versioning</a> for details on provisional endpoints.</em></Callout>


## OpenAPI

````yaml https://api.catenatelematics.com/v2/intelligence/openapi.json get /v2/intelligence/safer/fleets/{dot_number}/inspections
openapi: 3.1.0
info:
  title: Telematics Intelligence Service - REST API
  description: Telematics Intelligence Service REST API.
  version: 0.1.0
servers:
  - url: https://api.catenatelematics.com
    description: Catena Intelligence API
security: []
tags:
  - name: Analytics
    description: >-
      Endpoints providing analytical insights and aggregated data for vehicles,
      fleets, drivers, and trailers.
  - name: Benchmarks
    description: >-
      Endpoints providing cross-fleet benchmark data. A vehicle's metrics are
      ranked against a cohort of peer vehicles drawn from the full Catena fleet
      population. Cohort statistics are k-anonymised: percentile and cohort
      counts are suppressed when the cohort covers too few distinct fleets to
      protect individual fleet privacy.
paths:
  /v2/intelligence/safer/fleets/{dot_number}/inspections:
    get:
      tags:
        - Safer
      summary: List a carrier's roadside inspection records
      description: >-
        Retrieve roadside inspection records for a carrier, by DOT number.
        Ordered by inspection date, most recent first. Optionally bound the
        results with `from_date`/`to_date`; carrier history can span decades, so
        both are unbounded by default.
      operationId: list_safer_fleet_inspections
      parameters:
        - name: dot_number
          in: path
          required: true
          schema:
            type: string
            title: Dot Number
        - name: registry
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/SaferFleetRegistryEnum'
            description: Registry/authority that maintains the carrier record.
            default: fmcsa
          description: Registry/authority that maintains the carrier record.
        - name: from_date
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: Return only records on or after this date. **Format:** YYYY-MM-DD
            title: From Date
          description: Return only records on or after this date. **Format:** YYYY-MM-DD
        - name: to_date
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date
              - type: 'null'
            description: Return only records on or before this date. **Format:** YYYY-MM-DD
            title: To Date
          description: Return only records on or before this date. **Format:** YYYY-MM-DD
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Cursor for the next page
            title: Cursor
          description: Cursor for the next page
        - name: size
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            minimum: 1
            description: Page size
            default: 300
            title: Size
          description: Page size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_CursorPage_SaferFleetInspectionRead_'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Forbidden'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
          description: Not Found
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodNotAllowed'
          description: Method Not Allowed
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
          description: Conflict
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntity'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequests'
          description: Too Many Requests
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
          description: Internal Server Error
        '501':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotImplementedResponse'
          description: Not Implemented
      security:
        - Bearer:
            - telematics:read
components:
  schemas:
    SaferFleetRegistryEnum:
      type: string
      enum:
        - fmcsa
      title: SaferFleetRegistryEnum
      description: Registry/authority that maintains the carrier record
    _CursorPage_SaferFleetInspectionRead_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/SaferFleetInspectionRead'
          type: array
          title: Items
        total:
          type: integer
          minimum: 0
          title: Total
        current_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Page
          description: Cursor to refetch the current page
        current_page_backwards:
          anyOf:
            - type: string
            - type: 'null'
          title: Current Page Backwards
          description: Cursor to refetch the current page starting from the last item
        previous_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Previous Page
          description: Cursor for the previous page
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
          description: Cursor for the next page
      type: object
      required:
        - items
        - total
      title: _CursorPage[SaferFleetInspectionRead]
    BadRequest:
      properties:
        code:
          type: integer
          title: Code
          default: 400
        message:
          type: string
          title: Message
          default: Bad Request
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: BadRequest
    Unauthorized:
      properties:
        code:
          type: integer
          title: Code
          default: 401
        message:
          type: string
          title: Message
          default: Unauthorized
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Unauthorized
    Forbidden:
      properties:
        code:
          type: integer
          title: Code
          default: 403
        message:
          type: string
          title: Message
          default: Forbidden
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Forbidden
    NotFound:
      properties:
        code:
          type: integer
          title: Code
          default: 404
        message:
          type: string
          title: Message
          default: Not Found
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: NotFound
    MethodNotAllowed:
      properties:
        code:
          type: integer
          title: Code
          default: 405
        message:
          type: string
          title: Message
          default: Method Not Allowed
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: MethodNotAllowed
    Conflict:
      properties:
        code:
          type: integer
          title: Code
          default: 409
        message:
          type: string
          title: Message
          default: Conflict
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: Conflict
    UnprocessableEntity:
      properties:
        code:
          type: integer
          title: Code
          default: 422
        message:
          type: string
          title: Message
          default: Invalid Request Body
        detail:
          anyOf:
            - items:
                $ref: '#/components/schemas/ValidationErrorDetail'
              type: array
            - type: 'null'
          title: Detail
      type: object
      title: UnprocessableEntity
    TooManyRequests:
      properties:
        code:
          type: integer
          title: Code
          default: 429
        message:
          type: string
          title: Message
          default: Too Many Requests
        detail:
          anyOf:
            - $ref: '#/components/schemas/RetryAfterDetail'
            - type: 'null'
      type: object
      title: TooManyRequests
    InternalServerError:
      properties:
        message:
          type: string
          title: Message
          default: Internal Server Error
      type: object
      title: InternalServerError
    NotImplementedResponse:
      properties:
        code:
          type: integer
          title: Code
          default: 501
        message:
          type: string
          title: Message
          default: Not Implemented
        detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Detail
      type: object
      title: NotImplementedResponse
    SaferFleetInspectionRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        registry:
          $ref: '#/components/schemas/SaferFleetRegistryEnum'
        fleet_registry_id:
          type: string
          title: Fleet Registry Id
        source_inspection_id:
          type: string
          title: Source Inspection Id
        report_state:
          anyOf:
            - type: string
            - type: 'null'
          title: Report State
        inspection_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Inspection Date
        inspection_level:
          anyOf:
            - type: integer
            - type: 'null'
          title: Inspection Level
        viol_total:
          type: integer
          title: Viol Total
        oos_total:
          type: integer
          title: Oos Total
        driver_viol_total:
          type: integer
          title: Driver Viol Total
        driver_oos_total:
          type: integer
          title: Driver Oos Total
        vehicle_viol_total:
          type: integer
          title: Vehicle Viol Total
        vehicle_oos_total:
          type: integer
          title: Vehicle Oos Total
        hazmat_viol_total:
          type: integer
          title: Hazmat Viol Total
        hazmat_oos_total:
          type: integer
          title: Hazmat Oos Total
        post_accident:
          type: boolean
          title: Post Accident
        authority_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Authority Number
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - id
        - registry
        - fleet_registry_id
        - source_inspection_id
        - viol_total
        - oos_total
        - driver_viol_total
        - driver_oos_total
        - vehicle_viol_total
        - vehicle_oos_total
        - hazmat_viol_total
        - hazmat_oos_total
        - post_accident
        - created_at
        - updated_at
      title: SaferFleetInspectionRead
      description: API read model for a roadside inspection record.
    ValidationErrorDetail:
      properties:
        path:
          type: string
          title: Path
        input:
          type: string
          title: Input
        message:
          type: string
          title: Message
        error_type:
          type: string
          title: Error Type
      type: object
      required:
        - path
        - input
        - message
        - error_type
      title: ValidationErrorDetail
    RetryAfterDetail:
      properties:
        retry_after_seconds:
          type: integer
          title: Retry After Seconds
        message:
          type: string
          title: Message
      type: object
      required:
        - retry_after_seconds
        - message
      title: RetryAfterDetail
  securitySchemes:
    Bearer:
      type: oauth2
      flows:
        clientCredentials:
          refreshUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
          scopes: {}
          tokenUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
        authorizationCode:
          refreshUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token
          scopes: {}
          authorizationUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/auth
          tokenUrl: >-
            https://auth.catenatelematics.com/realms/catena/protocol/openid-connect/token

````