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

# Latest Vehicle Locations

> List the latest location of the vehicles in the connected account.

This endpoint will call the provider's API in real time to get the latest location of the vehicle.
*Please note: this endpoint will exclude vehicles that have no last known location.*


## OpenAPI

````yaml GET /vehicles/locations
openapi: 3.1.0
info:
  title: Terminal Telematics API
  description: >-
    Terminal is a unified API that makes it easy to integrate with the leading
    telematics service providers.
  version: '0.0'
  contact:
    name: Terminal
    email: connect@withterminal.com
    url: https://www.withterminal.com
servers:
  - url: https://api.withterminal.com/tsp/v1
    description: Production
  - url: https://api.sandbox.withterminal.com/tsp/v1
    description: Sandbox
security:
  - Authorization: []
tags:
  - name: Authentication
  - name: Connections
  - name: Data Management
  - name: Drivers
  - name: Groups
  - name: Hours of Service
  - name: IFTA
  - name: Issues
  - name: Link
  - name: Providers
  - name: Safety
  - name: Trailers
  - name: Vehicles
  - name: Vehicle Utilization
  - name: Webhook Events
paths:
  /vehicles/locations:
    parameters: []
    get:
      tags:
        - Vehicles
      summary: Latest Vehicle Locations
      description: >-
        List the latest location of the vehicles in the connected account.

        This endpoint will call the provider's API in real time to get the
        latest location of the vehicle. 

        _Please note: this endpoint will exclude vehicles that have no last
        known location._
      operationId: listLatestVehicleLocations
      parameters:
        - name: X-Application-Id
          in: header
          required: false
          description: >-
            Scopes the request to a Terminal application in the caller's
            organization. Required for multi-application organizations when
            using a user session or OAuth access token. API keys are already
            bound to a single application.
          schema:
            type: string
        - name: Connection-Token
          in: header
          required: true
          schema:
            type: string
            example: con_tkn_22vUhkC6tgre4kwaYfUkCDA1rzn6eyb4
            pattern: ^con_tkn_\S+$
          description: >-
            The token returned when a user authenticated their account. This
            authorizes access to a specific account.
        - name: cursor
          in: query
          schema:
            type: string
            format: cursor
            example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
          description: Pagination cursor to start requests from
        - name: limit
          in: query
          required: false
          schema:
            type: integer
          description: The maximum number of results to return in a page.
        - name: raw
          in: query
          required: false
          schema:
            type: boolean
          description: >-
            Include raw responses used to normalize model. Used for debugging or
            accessing unique properties that are not unified.
        - name: vehicleIds
          in: query
          required: false
          schema:
            type: string
            pattern: ^vcl_[0-9A-HJKMNP-TV-Z]{26}(\s*,\s*vcl_[0-9A-HJKMNP-TV-Z]{26})*$
          description: >-
            Comma separated list of vehicle IDs to filter for. Can filter up to
            50 vehicles at a time. Each ID must use the `vcl_` prefix.
        - name: driverIds
          in: query
          required: false
          schema:
            type: string
            pattern: ^drv_[0-9A-HJKMNP-TV-Z]{26}(\s*,\s*drv_[0-9A-HJKMNP-TV-Z]{26})*$
          description: >-
            Comma separated list of driver IDs to filter for. Can filter up to
            50 drivers at a time. Each ID must use the `drv_` prefix.
        - schema:
            type: string
            enum:
              - vehicle
              - driver
              - vehicle,driver
              - driver,vehicle
          in: query
          name: expand
          description: Expand resources in the returned response
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      title: Latest Vehicle Location
                      x-model-category: real-time
                      allOf:
                        - title: Base Vehicle Location
                          type: object
                          properties:
                            provider:
                              title: Provider Code
                              type: string
                              example: geotab
                              description: >-
                                Every provider has a unique code to identify it
                                across Terminal's system. You can find each
                                provider's code under [provider
                                details](/providers).
                            vehicle:
                              description: >-
                                The ID of the vehicle that the location is
                                tracking.
                              example: vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC
                              oneOf:
                                - title: VehicleId
                                  description: >-
                                    Unique identifier for the vehicle in
                                    Terminal.
                                  type: string
                                  format: ulid
                                  pattern: ^vcl_[0-9A-HJKMNP-TV-Z]{26}$
                                  example: vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC
                                - title: Expanded Vehicle
                                  type: object
                                  properties:
                                    id:
                                      title: VehicleId
                                      description: >-
                                        Unique identifier for the vehicle in
                                        Terminal.
                                      type: string
                                      format: ulid
                                      pattern: ^vcl_[0-9A-HJKMNP-TV-Z]{26}$
                                      example: vcl_01D8ZQFGHVJ858NBF2Q7DV9MNC
                                  required:
                                    - id
                            driver:
                              example: drv_01D8ZQFGHVJ858NBF2Q7DV9MNC
                              oneOf:
                                - title: DriverId
                                  description: >-
                                    Unique identifier for the driver in
                                    Terminal.
                                  type: string
                                  format: ulid
                                  pattern: ^drv_[0-9A-HJKMNP-TV-Z]{26}$
                                  example: drv_01D8ZQFGHVJ858NBF2Q7DV9MNC
                                - title: Expanded Driver
                                  type: object
                                  properties:
                                    id:
                                      title: DriverId
                                      description: >-
                                        Unique identifier for the driver in
                                        Terminal.
                                      type: string
                                      format: ulid
                                      pattern: ^drv_[0-9A-HJKMNP-TV-Z]{26}$
                                      example: drv_01D8ZQFGHVJ858NBF2Q7DV9MNC
                                  required:
                                    - id
                              description: >-
                                Entities in Terminal are expandable. Using the
                                `expand` query parameter you can choose to
                                ingest just an ID or the full entity details.
                            locatedAt:
                              title: ISODateTime
                              type: string
                              format: date-time
                              example: '2021-01-06T03:24:53.000Z'
                              description: >-
                                [ISO 8601](https://www.w3.org/TR/NOTE-datetime)
                                date
                            location:
                              title: Coordinates
                              type: object
                              properties:
                                longitude:
                                  type: number
                                  example: -122.4194155
                                latitude:
                                  type: number
                                  example: 37.7749295
                              required:
                                - longitude
                                - latitude
                            address:
                              type: object
                              description: >-
                                Reverse geocoded address details for locations
                                when available at the source.
                              properties:
                                formatted:
                                  type: string
                                  example: 1.5 miles from Austin, TX
                            heading:
                              title: Heading In Degrees
                              type: number
                              description: Heading in degrees
                              example: 25
                            speed:
                              title: Speed In KPH
                              type: number
                              description: Speed in KPH rounded to 2 decimal places.
                              example: 95.33
                          required:
                            - provider
                            - vehicle
                            - locatedAt
                            - location
                        - type: object
                          properties:
                            odometer:
                              title: Distance In Kilometers
                              type: number
                              description: Distance in kilometers
                              example: 100
                            fuel:
                              title: Fuel Tanks Percentage
                              type: object
                              description: Fuel percentage
                              properties:
                                primaryPercentage:
                                  description: >-
                                    The percentage value of how much fuel is
                                    left in the primary tank.
                                  title: Fuel Percentage
                                  type: number
                                  example: 50
                                  minimum: 0
                                  maximum: 100
                                secondaryPercentage:
                                  description: >-
                                    The percentage value of how much fuel is
                                    left in the secondary tank.
                                  title: Fuel Percentage
                                  type: number
                                  example: 50
                                  minimum: 0
                                  maximum: 100
                              required:
                                - primaryPercentage
                            engineState:
                              description: The current state of the vehicle's engine
                              type: string
                              enum:
                                - 'on'
                                - 'off'
                                - idle
                            engineRuntime:
                              description: Total engine runtime duration
                              title: DurationInMS
                              type: integer
                              example: 0
                            raw:
                              title: RawDataList
                              type: array
                              example: []
                              items:
                                title: RawData
                                type: object
                                properties:
                                  provider:
                                    type: string
                                  schema:
                                    type: string
                                  extractedAt:
                                    type: string
                                  data:
                                    type: object
                                required:
                                  - provider
                                  - schema
                                  - extractedAt
                                  - data
                      x-description: >-
                        The latest record of a vehicle's location according to
                        the provider.
                  next:
                    title: Pagination Cursor
                    type: string
                    example: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw
                    description: Cursor used for pagination.
                    format: cursor
                required:
                  - results
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - bad_request
                  message:
                    type: string
                    example: Invalid request body
                  detail:
                    type: array
                    items:
                      title: ErrorPathDetail
                      type: object
                      properties:
                        message:
                          type: string
                          example: '''vehicleId'' property must be a valid ulid'
                        path:
                          type: string
                          example: '{requestQuery}.vehicleId'
                        suggestion:
                          type: string
                          example: >-
                            Please ensure you submit a valid 'vehicleId'
                            property
                        context:
                          type: object
                      required:
                        - message
                        - path
                required:
                  - code
                  - message
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - unauthorized
                  message:
                    type: string
                    example: Unauthorized Request
                  detail:
                    type: string
                    example: Please ensure you have a valid API key
                required:
                  - code
                  - message
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - forbidden
                  message:
                    type: string
                    example: Forbidden Request
                  detail:
                    type: string
                    example: >-
                      Please ensure the connection token matches the resource
                      you are attempting to access.
                required:
                  - code
                  - message
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - unprocessable_entity
                      - connection_disconnected
                      - insufficient_permissions
                      - invalid_credentials
                    example: connection_disconnected
                  message:
                    type: string
                    example: Connection must be connected to perform this action
                  detail:
                    type: array
                    items:
                      title: ErrorPathDetail
                      type: object
                      properties:
                        message:
                          type: string
                          example: '''vehicleId'' property must be a valid ulid'
                        path:
                          type: string
                          example: '{requestQuery}.vehicleId'
                        suggestion:
                          type: string
                          example: >-
                            Please ensure you submit a valid 'vehicleId'
                            property
                        context:
                          type: object
                      required:
                        - message
                        - path
                    example: []
                required:
                  - code
                  - message
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                properties:
                  code:
                    enum:
                      - too_many_requests
                  retryAfter:
                    description: The number of seconds to wait before retrying the request
                    type: integer
                    example: 60
                  message:
                    type: string
                    example: Too Many Requests
                  detail:
                    type: string
                    example: You have exceeded your rate limit. Please try again later.
                required:
                  - code
                  - message
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - internal_server_error
                  message:
                    type: string
                    example: Internal Server Error
                  detail:
                    type: string
                    example: Something went wrong
                required:
                  - code
                  - message
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - not_implemented
                  message:
                    type: string
                    example: Not Implemented
                  detail:
                    type: string
                    example: This endpoint is not yet implemented
                required:
                  - code
                  - message
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - bad_gateway
                  message:
                    type: string
                    example: Provider Unavailable
                  detail:
                    type: string
                    example: Error response received from provider with status 500
                required:
                  - code
                  - message
        '503':
          description: Provider Unavailable Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - provider_unavailable
                  message:
                    type: string
                    example: Provider is not currently available
                required:
                  - code
                  - message
        '504':
          description: Gateway Timeout Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    enum:
                      - gateway_timeout
                  message:
                    type: string
                    example: Gateway Timeout
                required:
                  - code
                  - message
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````