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

# List Devices

> List all devices in the connected account.



## OpenAPI

````yaml GET /devices
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:
  /devices:
    parameters: []
    get:
      tags:
        - Devices
      summary: List Devices
      description: List all devices in the connected account.
      operationId: listDevices
      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: modifiedAfter
          in: query
          required: false
          schema:
            type: string
            format: date-time
            example: '2021-01-06T03:24:53.000Z'
          description: Only include records that were last modified after a provided date.
        - name: modifiedBefore
          in: query
          required: false
          schema:
            type: string
            format: date-time
            example: '2021-01-06T03:24:53.000Z'
          description: Only include records that were last modified before a provided date.
        - 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: deleted
          in: query
          required: false
          schema:
            type: boolean
          description: >-
            Show "soft-deleted" records that have been deleted from the
            provider. Defaults to false.
        - schema:
            type: string
            enum:
              - 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: Device
                      type: object
                      x-model-category: entity
                      additionalProperties: false
                      properties:
                        id:
                          title: DeviceId
                          type: string
                          format: ulid
                          example: dvc_61D9ZWFGHVJ858NBF2Q7DV9MNC
                        sourceId:
                          title: SourceId
                          type: string
                          example: '123456789'
                          description: >-
                            The ID used to represent the entity in the source
                            system.
                        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).
                        type:
                          description: The type of device
                          title: Device Type
                          type: string
                          enum:
                            - tracker
                            - camera
                          example: tracker
                        vehicle:
                          description: >-
                            The ID of the vehicle that the device is associated
                            with
                          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
                        description:
                          type: string
                          description: The description or model of the device
                          example: CM31
                        serialNumber:
                          type: string
                          description: The serial number of the device
                          example: '1234567890'
                        lastConnectedAt:
                          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'
                        createdAt:
                          title: SourceCreatedAt
                          type: string
                          format: date-time
                          description: >-
                            The date and time the record was created in the
                            provider's system. This timestamp comes directly
                            from the source system and represents when the data
                            was originally created there. Note: not all
                            providers expose this.
                        updatedAt:
                          title: SourceUpdatedAt
                          type: string
                          format: date-time
                          description: >-
                            The date and time the record was updated in the
                            provider's system. This timestamp comes directly
                            from the source system and represents when the data
                            was last updated there. Note: not all providers
                            expose this.
                        metadata:
                          title: CoreEntityMetadata
                          type: object
                          description: Internal metadata about the record.
                          required:
                            - addedAt
                            - modifiedAt
                          properties:
                            addedAt:
                              title: AddedAt
                              type: string
                              format: date-time
                              description: >-
                                The date and time the record was ingested into
                                Terminal. Note: this is not the date and time
                                the record was created in the provider's system.
                            modifiedAt:
                              title: ModifiedAt
                              type: string
                              format: date-time
                              description: >-
                                The date and time the record was last updated in
                                Terminal. Note: this is not the date and time
                                the record was updated in the provider's system.
                            deletedAt:
                              title: DeletedAt
                              type: string
                              format: date-time
                              description: >-
                                The date and time the record was deleted from
                                Terminal. Note: this is not the date and time
                                the record was deleted in the provider's system.
                            visibility:
                              type: string
                              enum:
                                - visible
                                - hidden_by_exclude_list
                                - hidden_by_include_list
                                - hidden_by_status
                                - deleted
                              example: visible
                              description: >-
                                Visibility status of a resource. Read more about
                                hidden records
                                [here](https://docs.withterminal.com/guides/filtering).
                        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
                      required:
                        - id
                        - sourceId
                        - provider
                        - type
                        - metadata
                      x-description: Type of device installed in a vehicle.
                  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
        '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
        '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

````