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

# 🧪 Fleet 360

> Retrieve a single fleet's combined view: its TSP-reported company info, ingested vehicle count, and — where the fleet has been linked to a DOT number — its FMCSA/SAFER registry record. Identify the fleet using exactly one of `fleet_id`, `fleet_ref`, or `connection_id`.

<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/fleet-360/profile
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/fleet-360/profile:
    get:
      tags:
        - Fleet 360
      summary: Get a fleet's combined telematics + SAFER profile
      description: >-
        Retrieve a single fleet's combined view: its TSP-reported company info,
        ingested vehicle count, and — where the fleet has been linked to a DOT
        number — its FMCSA/SAFER registry record. Identify the fleet using
        exactly one of `fleet_id`, `fleet_ref`, or `connection_id`.
      operationId: get_fleet_360_profile
      parameters:
        - name: fleet_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Look up the fleet using Catena's fleet ID. *For your own fleet
              identifiers, use `fleet_ref` instead*
            title: Fleet Id
          description: >-
            Look up the fleet using Catena's fleet ID. *For your own fleet
            identifiers, use `fleet_ref` instead*
        - name: fleet_ref
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Look up the fleet using your organization's fleet reference
              identifier.
            title: Fleet Ref
          description: >-
            Look up the fleet using your organization's fleet reference
            identifier.
        - name: connection_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Look up the fleet using a specific provider connection. This is
              the UUID assigned by Catena when your fleet connects to a TSP.
            title: Connection Id
          description: >-
            Look up the fleet using a specific provider connection. This is the
            UUID assigned by Catena when your fleet connects to a TSP.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FleetCarrierProfile'
        '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:
    FleetCarrierProfile:
      properties:
        fleet_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Fleet Id
          description: Internal fleet identifier.
        fleet_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Fleet Ref
          description: External fleet reference in the partner system.
        connection_id:
          type: string
          format: uuid
          title: Connection Id
          description: Provider connection this profile was resolved through.
        dot_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Dot Number
          description: USDOT number linked to this fleet, if known.
        fleet_info:
          anyOf:
            - $ref: '#/components/schemas/FleetInfoRead'
            - type: 'null'
          description: Fleet-level company/contact info as reported by the TSP.
        safer:
          anyOf:
            - $ref: '#/components/schemas/SaferFleetRead'
            - type: 'null'
          description: FMCSA/SAFER registry record for this fleet's DOT number, if linked.
        tsp_vehicle_count:
          type: integer
          title: Tsp Vehicle Count
          description: Count of vehicles ingested from this fleet's connected TSPs.
        fmcsa_power_units:
          anyOf:
            - type: integer
            - type: 'null'
          title: Fmcsa Power Units
          description: >-
            FMCSA-self-reported power unit count for this carrier (mirrors
            `safer.power_units`), for direct comparison against
            `tsp_vehicle_count`.
      type: object
      required:
        - connection_id
        - tsp_vehicle_count
      title: FleetCarrierProfile
      description: >-
        Combined telematics + SAFER/FMCSA profile for a single fleet.


        `dot_number`/`safer` are null when the fleet has not yet been linked to
        a SAFER

        record (no `fleet_info.dot_number` on file, or no matching FMCSA record
        found).
    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
    FleetInfoRead:
      properties:
        fleet_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Fleet Id
          description: Internal fleet identifier.
        fleet_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Fleet Ref
          description: External fleet reference in the partner system.
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the record at Catena Telematics.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: >-
            Immutable: The datetime the record was ingested into Catena
            Telematics.
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: The dateime the record was last modified in Catena Telematics.
        deleted_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Deleted At
          description: >-
            The datetime the record was logically deleted from Catena
            Telematics.
        connection_id:
          type: string
          format: uuid
          title: Connection Id
          description: >-
            Unique identifier of the connection at Catena Telematics through
            which this record was ingested. A connection represents a Fleet/TSP
            pairing.
        tsp_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Tsp Id
          description: >-
            Unique identifier of the TSP at Catena Telematics from which this
            record was ingested.
        tsp_slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Tsp Slug
          description: >-
            Human readable slug of the TSP at Catena Telematics from which this
            record was ingested.
        source_name:
          $ref: '#/components/schemas/TspEnum'
          description: >-
            The underlying telematics platform that provided this data (e.g.,
            `samsara`, `motive`, `hos247`). Note: Some platforms like `hos247`
            offer white-labeling, so multiple TSPs may share the same
            source_name — use `tsp_id` or `tsp_slug` to identify the specific
            ELD provider.
        source_data:
          additionalProperties: true
          type: object
          title: Source Data
          description: >-
            Raw source payload as ingested from the TSP. **Note: use it for
            audit/debugging.**
        source_id:
          type: string
          title: Source Id
          description: >-
            Unique identifier of the record in the TSP. **Note: we generate a
            unique composite key based on available fields if the TSP does not
            provide an unique ID.**
        source_data_hash:
          type: string
          maxLength: 64
          title: Source Data Hash
          description: >-
            SHA-256 hash of the source data payload. **Note: we use it
            internally for idempotence and deduplication.**
        occurred_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Occurred At
          description: >-
            Datetime of when the underlying event/observation occurred, as
            reported by the TSP, or the moment it was ingested by us if not
            available in the source data.
        execution_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Execution Id
          description: >-
            Unique identifier for the execution that ingested this record into
            Catena Telematics. **Note: useful for tracing.**
        schedule_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Schedule Id
          description: >-
            Unique identifier for schedule that triggered this record's
            execution. **Note: useful for tracing.**
        extras:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Extras
          description: >-
            Additional data available in the TSP (e.g., we may have
            `external_id`, `provider_resource_id`, etc. — this field captures
            all those extra attributes in a flexible way).
        carrier_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Carrier Name
          description: Legal or primary carrier name for the fleet.
        dot_number:
          anyOf:
            - type: string
            - type: 'null'
          title: DOT Number
          description: USDOT number associated with the fleet.
        dba_name:
          anyOf:
            - type: string
            - type: 'null'
          title: DBA Name
          description: >-
            Doing-business-as name for the fleet, if different from the carrier
            name.
        street:
          anyOf:
            - type: string
            - type: 'null'
          title: Street
          description: Street address for the fleet.
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: City portion of the fleet's address.
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: State or province portion of the fleet's address.
        zip:
          anyOf:
            - type: string
            - type: 'null'
          title: ZIP
          description: ZIP or postal code for the fleet's address.
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: Country for the fleet's address.
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Primary phone number for the fleet.
        company_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Company URL
          description: Primary website URL for the fleet.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: >-
            Primary timezone for the fleet, ideally as an IANA timezone
            identifier.
      type: object
      required:
        - fleet_id
        - id
        - created_at
        - updated_at
        - connection_id
        - source_name
        - source_id
        - source_data_hash
      title: FleetInfoRead
      description: Fleet info model for API responses
    SaferFleetRead:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        registry:
          $ref: '#/components/schemas/SaferFleetRegistryEnum'
        registry_id:
          type: string
          title: Registry Id
        legal_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Legal Name
        dba_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Dba Name
        status:
          anyOf:
            - $ref: '#/components/schemas/SaferFleetStatusEnum'
            - type: 'null'
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        postal_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
        phone:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        power_units:
          anyOf:
            - type: integer
            - type: 'null'
          title: Power Units
        total_drivers:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Drivers
        safety_rating:
          anyOf:
            - $ref: '#/components/schemas/SaferFleetSafetyRatingEnum'
            - type: 'null'
        safety_rating_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Safety Rating Date
        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
        - registry_id
        - created_at
        - updated_at
      title: SaferFleetRead
      description: >-
        API read model for a motor carrier record.


        Excludes internal bookkeeping fields (e.g. deleted_at) and the raw
        source_data payload.
    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
    TspEnum:
      type: string
      enum:
        - ada
        - ai_eld
        - air_eld
        - alfa_eld
        - alpha_eld
        - als
        - anytrek_pro
        - anytrek_classic
        - apex_eld
        - apollo
        - apollocloud
        - ascend
        - att
        - awaregps
        - azuga
        - bigroad
        - bluehorse_eld
        - blueinktech
        - bouncie
        - budgetgps
        - catena_simulator
        - captain_eld
        - carrier_lynx
        - club_eld
        - counting_trucks_eld
        - cyntrx
        - digital_eld
        - dragon_eld
        - drive_hos
        - drive_hos_v2
        - driver_tech
        - dsg_elogs
        - dynamic_eld
        - eighteighteight_eld
        - eld_88
        - eld_books
        - eld_mandate
        - eld_mandate_prime
        - eroad
        - eva_eld
        - evo_eld
        - expressway_eld
        - extreme_eld
        - ezlogz
        - ez_lynk
        - factor_eld
        - firstgate
        - fleetcomplete
        - fleetcompletehub
        - fleethunt
        - fleetpulse
        - fleetsharp
        - fleetup
        - fm
        - forwardthinking
        - forza_eld
        - geotab
        - gpsinsight
        - gpstab
        - gpstrackit
        - grand_eld
        - greenlight
        - groundhog
        - hcss
        - hos247
        - hutch
        - intellishift
        - ironman_eld
        - isaac
        - jjkeller
        - kinexaiot
        - knight_eld
        - konexial
        - lioneight
        - linxup
        - loop_eld
        - lucid_eld
        - luna_eld
        - lytx
        - lytxv3
        - mapon
        - matrack
        - maven
        - mdm_eld
        - mobilefleet
        - moonlight_eld
        - motion_eld
        - motive
        - my_drivebook
        - my_logs_eld
        - nero
        - netradyne
        - new_eld_world
        - nextgen_eld
        - nextraq
        - omnitracs
        - onestep
        - ontime_eld
        - optima
        - orbcomm
        - orient_eld
        - panda_eld
        - payd
        - peak_eld
        - peoplenet
        - phillips_connect
        - phoenix
        - pop_eld
        - prologs
        - proride_eld
        - qualitylogs_eld
        - randmcnally
        - rastrac
        - raven
        - redfox
        - regulog_eld
        - ridehub
        - roadeazy
        - rock_eld
        - rollingtrans
        - routemate
        - royal_eld
        - safelane
        - samsara
        - selectivedrive
        - simba_eld
        - skybitz
        - smart_elds
        - sparkle_eld
        - spireon
        - sun_eld
        - surfsight
        - swift
        - switchboard
        - synergy_eld
        - teletracnavman
        - teletracnavman_director
        - telogis
        - tenna
        - thermo_king
        - think
        - tive
        - topcompliance_eld
        - traccar
        - trackease_eld
        - trackpro
        - traclog
        - transflo
        - trimble
        - truckford
        - truckspy
        - truckx
        - trueroad_eld
        - tt
        - txt_eld
        - us_fast_eld
        - verizon_connect
        - vista_eld
        - vistracks
        - vlog_eld
        - vulcansols_eld
        - wialon
        - webfleet
        - wizefleet_eld
        - xplore_eld
        - zigzag_eld
        - zms_eld
        - zonar
        - zubie
      title: TspEnum
      description: Enum for TSPs
    SaferFleetRegistryEnum:
      type: string
      enum:
        - fmcsa
      title: SaferFleetRegistryEnum
      description: Registry/authority that maintains the carrier record
    SaferFleetStatusEnum:
      type: string
      enum:
        - active
        - inactive
      title: SaferFleetStatusEnum
      description: Carrier operational status as reported by the registry
    SaferFleetSafetyRatingEnum:
      type: string
      enum:
        - satisfactory
        - conditional
        - unsatisfactory
      title: SaferFleetSafetyRatingEnum
      description: Safety fitness rating assigned by the registry
  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

````