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

# Tacho Live

> This provides the latest known tachograph status and aggregated time counters for a set of drivers.
It is designed to power real-time operational systems such as Transport Management Systems (TMS) or workforce productivity tools by supplying up-to-date driving, working, and rest times for active drivers. 

This endpoint is not intended for historical reporting or data storage. To access past driver activities and compliance records, use the Tacho Activity endpoint instead.



## OpenAPI

````yaml https://api.connectedfleet.michelin.com/tacho/api-docs post /bvfm/services/public/v1/customer/{customerId}/tacho/live
openapi: 3.0.1
info:
  title: public-api
  description: Public API Gateway
  version: 1.0.1
servers:
  - url: https://api.connectedfleet.michelin.com/tacho
security: []
tags:
  - name: /tacho
    description: Live tracking operations
paths:
  /bvfm/services/public/v1/customer/{customerId}/tacho/live:
    post:
      tags:
        - /tacho
      summary: Tacho Live
      description: >-
        This provides the latest known tachograph status and aggregated time
        counters for a set of drivers.

        It is designed to power real-time operational systems such as Transport
        Management Systems (TMS) or workforce productivity tools by supplying
        up-to-date driving, working, and rest times for active drivers. 


        This endpoint is not intended for historical reporting or data storage.
        To access past driver activities and compliance records, use the Tacho
        Activity endpoint instead.
      operationId: tachoLive
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveRequest'
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveResponse'
        '400':
          description: 400 response, bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: 401 response, not authorized or no valid token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: 403 response, Forbiden don't have access to the feature
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - tacAuthorizer: []
components:
  schemas:
    LiveRequest:
      type: object
      properties:
        driverKeys:
          type: array
          items:
            type: string
          description: >-
            MUST be identical to the full key unique 14 character chars and
            issue number. At least one parameter from this list must be
            provided: driverKeys, registrations, lastUpdatedSince
        registrations:
          type: array
          items:
            type: string
          description: >-
            MUST be identical to the vehicle registration registered with
            Connect.
        skip:
          type: integer
          description: >-
            Number of records to be skipped before the beginning of the result
            set. This acts as an offset from the first record matching the
            request parameters.
        limit:
          type: integer
          description: Limit the number of records to return in the response.
        sort:
          type: object
          description: >-
            The object contains direction and field path to sort. Sets the sort
            order to be either ascending (ASC) or descending (DESC).
          properties:
            driverId:
              type: string
            driverKey:
              type: string
            driverName:
              type: string
            assetId:
              type: string
            assetRegistration:
              type: string
            eventDateTime:
              type: string
            lastUpdateTime:
              type: string
            heading:
              type: string
            latitude:
              type: string
            longitude:
              type: string
            address:
              type: string
            tachoMakeVersion:
              type: string
            activity:
              type: string
            infringementState:
              type: string
            currentActivityTotalTime:
              type: string
            continuousDrivingTime:
              type: string
            dailyDrivingTime:
              type: string
            weeklyDrivingTime:
              type: string
            previousAndCurrentTotalDriveTime:
              type: string
            remainingDrivingTime:
              type: string
            remainingDailyDrivingTime:
              type: string
            remainingWeeklyDrivingTime:
              type: string
            timeLeftUntilNextDailyRest:
              type: string
            nextDailyRestMinDuration:
              type: string
            timeLeftUntilNextWeeklyRest:
              type: string
            nextWeeklyRestMinDuration:
              type: string
            lastDailyRestEnd:
              type: string
            lastWeeklyRestEnd:
              type: string
            remainingDailyExtendedDriveTimePeriods:
              type: string
            remainingDailyShortenedRestTimePeriods:
              type: string
            workingTimeSinceLastBreak:
              type: string
            remainingWorkingTime:
              type: string
            dailyWorkingTime:
              type: string
            remainingDailyWorkingTime:
              type: string
            weeklyWorkingTime:
              type: string
            remainingWeeklyWorkingTime:
              type: string
            dailyBreakTime:
              type: string
            drivingPrediction.activity:
              type: string
            drivingPrediction.duration:
              type: string
            workingPrediction.activity:
              type: string
            workingPrediction.duration:
              type: string
            driverCardExpiryDate:
              type: string
            driverCardNextMandatoryDownloadDate:
              type: string
            timeLeftUntilNextRestPeriod:
              type: string
            nextRestDuration:
              type: string
    LiveResponse:
      type: object
      properties:
        count:
          type: integer
          description: Total number of records found
        data:
          type: array
          description: List of driver's current tacho status and cumulated time
          items:
            $ref: '#/components/schemas/CurrentTachoResultDTO'
      required:
        - count
        - data
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: integer
        errorMessage:
          type: string
      required:
        - errorCode
        - errorMessage
    CurrentTachoResultDTO:
      type: object
      properties:
        driverId:
          type: string
          description: Driver identifier
          nullable: true
        driverKey:
          type: string
          nullable: true
          description: Tacho driver card key
        driverName:
          type: string
          nullable: true
          description: Driver name from tacho card
        assetId:
          type: string
          nullable: true
          description: Identifier (alphanumeric) of a vehicle
        assetRegistration:
          type: string
          nullable: true
          description: Vehicle Registration Number (VRN)
        eventDateTime:
          type: string
          nullable: true
          description: The date and time (UTC) when the last tacho event was received
        lastUpdateTime:
          type: string
          nullable: true
          description: Date and time in UTC when the last tacho driver status was updated
        timersQualityLevel:
          type: string
          nullable: true
          description: Indicates the level of quality of the Live timers
        heading:
          type: integer
          nullable: true
          description: Compass heading of the vehicle in degrees clockwise from north
        latitude:
          type: number
          nullable: true
          description: Asset latitude position
        longitude:
          type: number
          nullable: true
          description: Asset longitude position
        address:
          type: string
          nullable: true
          description: Formatted address for the location
        tachoMakeVersion:
          type: string
          nullable: true
          description: Tachograph make and version
        activity:
          type: string
          nullable: true
          description: RESTING, WORKING, AVAILABLE, DRIVING, DRIVERCARDEJECTED
        infringementState:
          type: integer
          nullable: true
          description: >-
            0 — no time-related warning detected

            1 — continuous driving time pre-warning active (15 min before 4h30)

            2 — continuous driving time warning active (4h30 exceeded)

            3 — daily driving time pre-warning active (daily driving time above
            9 hours or above the maximum allowed daily driving time)

            4 — daily driving time warning active (daily driving time above 9
            hours or above the maximum allowed daily driving time)

            5 — daily/weekly rest pre-warning active

            6 — daily/weekly rest warning active

            7 — weekly driving time pre-warning active

            8 — weekly driving time warning active

            9 — 2 weeks driving time pre-warning active

            10 — 2 weeks driving time warning active

            11 — driver 1 card expiry warning active

            12 — next mandatory driver 1 card download warning active

            13 — Working time warning active (6h)

            14 — Daily working time warning active (10h)

            15 — Weekly working time warning active  (60h)

            16 — Driving without a card inserted

            17 — Driver Card inserted during weekly rest
        currentActivityTotalTime:
          type: integer
          nullable: true
          description: Cumulated current activity total time (mins)
        continuousDrivingTime:
          type: integer
          nullable: true
          description: >-
            Continuous Driving in the current 4.5 h shift. Any value > 4.5h
            means an infringement. (mins)
        dailyDrivingTime:
          type: integer
          nullable: true
          description: Cumulated Driving time since the beginning of the working day (mins)
        weeklyDrivingTime:
          type: integer
          nullable: true
          description: Cumulated driving time since the beginning of the week. (mins)
        previousAndCurrentTotalDriveTime:
          type: integer
          nullable: true
          description: Total drive time of current and previous week (mins)
        remainingDrivingTime:
          type: integer
          nullable: true
          description: >-
            This time is the maximum remaining driving time left to the next
            required break/rest (mins)
        remainingDailyDrivingTime:
          type: integer
          nullable: true
          description: >-
            Maximum remaining driving time left on the current day for a driver
            (mins)
        remainingWeeklyDrivingTime:
          type: integer
          nullable: true
          description: >-
            Maximum remaining driving time left on the current week for a driver
            (mins)
        timeLeftUntilNextDailyRest:
          type: integer
          nullable: true
          description: Time left until the driver can start a new daily rest period (mins)
        nextDailyRestMinDuration:
          type: integer
          nullable: true
          description: >-
            Minimum daily rest the driver needs to do to fulfill an ongoing or
            approaching daily rest period (mins)
        timeLeftUntilNextWeeklyRest:
          type: integer
          nullable: true
          description: Time left until the driver can start a new weekly rest period (mins)
        nextWeeklyRestMinDuration:
          type: integer
          nullable: true
          description: >-
            Minimum weekly rest the driver needs to do to fulfill an ongoing or
            approaching weekly rest period (mins)
        lastDailyRestEnd:
          type: string
          nullable: true
          description: >-
            This date is the end of the last daily rest period of driver 1, as
            computed by the tachograph using driver 1 card data
        lastWeeklyRestEnd:
          type: string
          nullable: true
          description: >-
            This date is the end of the last weekly rest period of driver 1, as
            computed by the tachograph using driver 1 card data
        remainingDailyExtendedDriveTimePeriods:
          type: integer
          nullable: true
          description: >-
            Number of remaining times the driver can have an extended 10 hours
            daily drive time (can be 2, 1, 0)
        remainingDailyShortenedRestTimePeriods:
          type: integer
          nullable: true
          description: >-
            Number of remaining times driver can have a short 9 hours daily rest
            (can be 3, 2, 1, 0)
        workingTimeSinceLastBreak:
          type: integer
          nullable: true
          description: Working time since last break/rest was taken (mins)
        remainingWorkingTime:
          type: integer
          nullable: true
          description: >-
            Remaining working time left to next required break/rest according to
            (mins)
        dailyWorkingTime:
          type: integer
          nullable: true
          description: Cumulated working time since the beginning of the working day (mins)
        remainingDailyWorkingTime:
          type: integer
          nullable: true
          description: Remaining working time left to next daily rest(mins)
        weeklyWorkingTime:
          type: integer
          nullable: true
          description: >-
            Cumulated working time since the beginning of the working week
            (mins)
        remainingWeeklyWorkingTime:
          type: integer
          nullable: true
          description: Remaining working time left for next weekly rest (mins)
        dailyBreakTime:
          type: integer
          nullable: true
          description: Cumulated breaking time of the day (mins)
        drivingPrediction:
          type: array
          nullable: true
          description: List of next possible driving-related activities
          items:
            type: object
            properties:
              activity:
                type: integer
                description: Type of activity
              duration:
                type: integer
                description: Duration of the activity in minutes
            required:
              - activity
              - duration
        workingPrediction:
          type: array
          description: List of next possible working-related activities
          nullable: true
          items:
            type: object
            properties:
              activity:
                type: integer
                description: Type of activity
              duration:
                type: integer
                description: Duration of the activity in minutes
            required:
              - activity
              - duration
        driverCardExpiryDate:
          type: string
          nullable: true
          description: Date of expiry for the driver's card
        driverCardNextMandatoryDownloadDate:
          type: string
          nullable: true
          description: Date of expiry for the driver's card
        timeLeftUntilNextRestPeriod:
          type: integer
          nullable: true
          description: This time is the time left until the next break/rest period (mins)
        nextRestDuration:
          type: integer
          nullable: true
          description: duration of the next break/rest for the driver
        remainingBiweeklyDrivingTime:
          type: integer
          nullable: true
          description: >-
            Maximum remaining driving time left on the current week for a driver
            (mins)
        vehicleFriendlyName:
          type: string
          nullable: true
          description: Vehicle name which can be edited by customer
        shiftStart:
          type: string
          nullable: true
          description: Date and time at which current shift has started
        shiftDueEnd:
          type: string
          nullable: true
          description: >-
            Date and time at which current shift is due to end. Therefore this
            is also the date and time when the next daily rest is supposed to
            start.
        weekDueEnd:
          type: string
          nullable: true
          description: >-
            Date and time at which current week is due to end. Therefore this is
            also the date and time when the next weekly rest is supposed to
            start.
        driverCardInserted:
          type: boolean
          nullable: true
          description: false if card not inserted (ejected), true if card inserted
        vehicleIgnitionOn:
          type: boolean
          nullable: true
          description: false if ignition is OFF, true if ignition is ON
        vehicleSpeed:
          type: number
          nullable: true
          description: Speed of the vehicle in km/h
        engineSpeed:
          type: number
          nullable: true
          description: Engine speed in revolutions per minute (RPM)
        restCompensationPreviousWeek:
          type: integer
          nullable: true
          description: Rest compensation time from previous week, in minutes
        restCompensationSecondPreviousWeek:
          type: integer
          nullable: true
          description: Compensation rest from the 2nd previous week, in minutes
        restCompensationThirdPreviousWeek:
          type: integer
          nullable: true
          description: Compensation rest from the third previous week, in minutes
        remainingTimeOfCurrentRest:
          type: integer
          nullable: true
          description: Remaining time of current rest period in minutes
        durationOfCurrentRest:
          type: integer
          nullable: true
          description: Duration of the current rest period in minutes
        issuingMemberState:
          type: string
          nullable: true
          description: >
            Country code of the EU member state which has delivered the driver
            card


            Possible values as described here : 
            https://en.wikipedia.org/wiki/International_vehicle_registration_code


            Other values :

            UNK: Unknown

            EC: European Community

            EUR: Rest of Europe

            WLD: Rest of the world
        driverFriendlyName:
          type: string
          nullable: true
          description: Driver name which can be edited by customer
        driverCardSlot:
          type: integer
          nullable: true
          description: |
            Card slot the driver card is inserted into the tachograph :
            0: Main slot
            1: Co-driver slot
      required:
        - driverId
        - driverKey
        - driverName
        - assetId
        - assetRegistration
        - eventDateTime
        - lastUpdateTime
        - heading
        - latitude
        - longitude
        - address
        - tachoMakeVersion
        - activity
        - infringementState
        - currentActivityTotalTime
        - continuousDrivingTime
        - dailyDrivingTime
        - weeklyDrivingTime
        - previousAndCurrentTotalDriveTime
        - remainingDrivingTime
        - remainingDailyDrivingTime
        - remainingWeeklyDrivingTime
        - timeLeftUntilNextDailyRest
        - nextDailyRestMinDuration
        - timeLeftUntilNextWeeklyRest
        - nextWeeklyRestMinDuration
        - lastDailyRestEnd
        - lastWeeklyRestEnd
        - remainingDailyExtendedDriveTimePeriods
        - remainingDailyShortenedRestTimePeriods
        - workingTimeSinceLastBreak
        - remainingWorkingTime
        - dailyWorkingTime
        - remainingDailyWorkingTime
        - weeklyWorkingTime
        - remainingWeeklyWorkingTime
        - dailyBreakTime
        - drivingPrediction
        - workingPrediction
        - driverCardExpiryDate
        - driverCardNextMandatoryDownloadDate
        - timeLeftUntilNextRestPeriod
        - nextRestDuration
  securitySchemes:
    tacAuthorizer:
      type: apiKey
      name: Authorization
      description: >-
        Authorization header containing a Bearer token of the form Bearer
        [token], where [token] is a JWT used to authorize the request
      in: header
      x-amazon-apigateway-authtype: Custom authorization scheme using Masternauth for Tacho
      x-amazon-apigateway-authorizer:
        type: token
        identitySource: method.request.header.Authorization
        authorizerCredentials: arn:aws:iam::${aws_account}:role/mn_tac_public_api_invoke_lambda_role
        authorizerUri: >-
          arn:aws:apigateway:${aws_region}:lambda:path/2015-03-31/functions/arn:aws:lambda:${aws_region}:${aws_account}:function:mn_awssvc_api_authorizer_service_public_lambda_${env}/invocations
        authorizerResultTtlInSeconds: 300

````