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

# Vehicle info

> Look up full vehicle metadata by IMEI, vehicle ID, or VIN. Returns all available Vincario decode data as label/value pairs.

### Overview

Returns decoded vehicle information for a single vehicle, looked up by IMEI, vehicle ID, or VIN. Exactly **one** of the three query parameters must be supplied.

The response is a flat list of `{ label, value }` pairs sourced directly from the Vincario VIN decode API, so all available fields are returned without a fixed schema. Common fields include make, model, engine specs, body dimensions, and manufacturer details.

This is a **new V2-only endpoint** with no V1 equivalent.

<Note>**Rate limit:** 10 req/s · 60/min · 6,000/hr · 144,000/day</Note>

### Endpoint

`GET /v2/api/vehicles/info`

### Query parameters

Exactly one of the following must be provided:

<ParamField query="imei" type="string">
  Device IMEI.
</ParamField>

<ParamField query="id" type="integer">
  Vehicle ID.
</ParamField>

<ParamField query="vin" type="string">
  Vehicle Identification Number.
</ParamField>

### Response

**200 OK** — `VinDecodeItemDto[]`

A flat list of label/value pairs. The set of labels returned depends on what Vincario has decoded for the vehicle.

| Field | Type   | Description                                                       |
| ----- | ------ | ----------------------------------------------------------------- |
| label | string | Field name (e.g. `"Make"`, `"Model Year"`, `"Engine Power (kW)"`) |
| value | string | Field value (always a string, even for numeric or array values)   |

### Common labels

The set of labels returned depends on what Vincario has decoded for that VIN. Below are labels observed from actual API responses:

| Label                                  | Example value                                                |
| -------------------------------------- | ------------------------------------------------------------ |
| VIN                                    | `"MPBCMFF70RX582825"`                                        |
| Vehicle ID                             | `"1647"`                                                     |
| Make                                   | `"Ford"`                                                     |
| Make ID                                | `"30"`                                                       |
| Model                                  | `"Ranger"`                                                   |
| Model Year                             | `"2024"`                                                     |
| Product Type                           | `"Car"`                                                      |
| Body                                   | `"Pickup"`                                                   |
| Engine Displacement (ccm)              | `"2993"`                                                     |
| Engine Power (kW)                      | `"184"`                                                      |
| Engine Power (HP)                      | `"247"`                                                      |
| Fuel Type - Primary                    | `"Diesel"`                                                   |
| Fuel Type                              | `"Petrol"`                                                   |
| Transmission                           | `"Auto"`                                                     |
| Number of Gears                        | `"10"`                                                       |
| Manufacturer                           | `"Ford Motor Company (Thailand) Limited"`                    |
| Manufacturer Address                   | `"33/19 Moo 6, Bo-win Sub District, Sriracha Dist Chonburl"` |
| Plant Country                          | `"Thailand"`                                                 |
| Make Logo                              | `"https://api.vincario.com/img/make/ford.svg"`               |
| Fuel Consumption Combined (l/100km)    | `"8.4"`                                                      |
| Fuel Consumption Extra Urban (l/100km) | `"7.5"`                                                      |
| Fuel Consumption Urban (l/100km)       | `"10"`                                                       |
| Number of Axles                        | `"2"`                                                        |
| Number of Seats                        | `"5"`                                                        |
| Weight Empty (kg)                      | `"3350"`                                                     |
| Check Digit                            | `"0"`                                                        |
| Sequential Number                      | `"582825"`                                                   |
| Number of Doors                        | `"4"`                                                        |
| Colour                                 | `"Gunmetal"`                                                 |
| Fuel Capacity                          | `"80"`                                                       |
| Battery Capacity                       | `"0"`                                                        |
| Registration State                     | `"New South Wales"`                                          |
| Registration Country                   | `"Australia"`                                                |

<Note>Not all labels will be present for every vehicle — availability depends on what Vincario has on record for that VIN.</Note>

### Example response

```json theme={null}
[
  { "label": "VIN", "value": "MPBCMFF70RX582825" },
  { "label": "Vehicle ID", "value": "1647" },
  { "label": "Make", "value": "Ford" },
  { "label": "Make ID", "value": "30" },
  { "label": "Model", "value": "Ranger" },
  { "label": "Model Year", "value": "2024" },
  { "label": "Product Type", "value": "Car" },
  { "label": "Body", "value": "Pickup" },
  { "label": "Engine Displacement (ccm)", "value": "2993" },
  { "label": "Engine Power (kW)", "value": "184" },
  { "label": "Fuel Type - Primary", "value": "Diesel" },
  { "label": "Transmission", "value": "Auto" },
  { "label": "Fuel Capacity", "value": "80" },
  { "label": "Colour", "value": "Gunmetal" },
  { "label": "Registration State", "value": "New South Wales" },
  { "label": "Registration Country", "value": "Australia" }
]
```

### Error responses

| Status | Meaning                             |
| ------ | ----------------------------------- |
| 401    | Missing or invalid token            |
| 404    | Vehicle not found or not accessible |

```bash theme={null}
curl "https://api.telemax.com.au/v2/api/vehicles/info?imei=353148090123456" \
  -H "Authorization: Bearer <token>"
```


## OpenAPI

````yaml openapi.yaml GET /v2/api/vehicles/info
openapi: 3.1.0
info:
  title: Telemax External API (V2)
  version: '2026-04-14'
  description: >
    Telemax External API — fleet telemetry, vehicle commands, and integrations.


    **Base URL:** `https://api.telemax.com.au`


    **Authentication:** All routes require a `Bearer` JWT unless marked
    `[AllowAnonymous]`.

    Obtain tokens via `POST /v2/api/authentication/token/api-key`.


    **RESTful architecture:** V2 uses standard HTTP methods (GET, POST, PUT,
    DELETE) with

    resource-based routes and consistent pagination via `page` and `pageSize`
    query parameters.


    **API versioning:** All responses will include an `X-API-Version` header
    containing the

    date-based version string (e.g. `2026-04-28`). See the
    [Changelog](/v2/changelog) for

    the deprecation policy and version history.


    For full documentation including error handling, pagination, and known field
    quirks, see [docs.telemax.com.au](https://docs.telemax.com.au).
servers:
  - url: https://api.telemax.com.au
security:
  - BearerAuth: []
paths:
  /v2/api/vehicles/info:
    get:
      summary: Vehicle info (V2)
      description: Look up vehicle metadata by IMEI, vehicle ID, or VIN.
      parameters:
        - name: imei
          in: query
          schema:
            type: string
        - name: id
          in: query
          schema:
            type: integer
        - name: vin
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    label:
                      type: string
                      description: >-
                        Field name (e.g. "Make", "Model Year", "Engine Power
                        (kW)")
                    value:
                      type: string
                      description: >-
                        Field value (always a string, even for numeric or array
                        values)
              example:
                - label: VIN
                  value: MPAUCS40GST011254
                - label: Vehicle ID
                  value: '28193'
                - label: Make
                  value: Isuzu
                - label: Model
                  value: MU-X
                - label: Model Year
                  value: '2025'
                - label: Product Type
                  value: Car
                - label: Body
                  value: Wagon
                - label: Drive
                  value: Rear-wheel drive
                - label: Engine Displacement (ccm)
                  value: '2999'
                - label: Engine Power (kW)
                  value: '140'
                - label: Engine Power (HP)
                  value: '188'
                - label: Fuel Type - Primary
                  value: Diesel
                - label: Engine Code
                  value: 4JJ3-TCX
                - label: Transmission
                  value: Automatic
                - label: Number of Gears
                  value: '6'
                - label: Manufacturer
                  value: Isuzu Motors Company (Thailand) Limited
                - label: Manufacturer Address
                  value: 38 Moo 9 Poojaosamingprai Road, ...
                - label: Plant Country
                  value: Thailand
                - label: Make Logo
                  value: https://api.vincario.com/img/make/isuzu.svg
                - label: Engine Compression Ratio
                  value: '16.3'
                - label: Engine Cylinder Bore (mm)
                  value: '95.4'
                - label: Engine Cylinders
                  value: '4'
                - label: Engine Cylinders Position
                  value: Inline
                - label: Engine Position
                  value: Front, Longitudinal
                - label: Engine RPM
                  value: '3600'
                - label: Engine Stroke (mm)
                  value: '104.9'
                - label: Engine Torque (RPM)
                  value: '450'
                - label: Engine Turbine
                  value: Turbocharger, Intercooler
                - label: Valve Train
                  value: DOHC
                - label: Fuel Capacity (l)
                  value: '80'
                - label: Fuel System
                  value: Diesel Commonrail
                - label: Valves per Cylinder
                  value: '4'
                - label: Number of Axles
                  value: '2'
                - label: Number of Doors
                  value: '5'
                - label: Number of Seats
                  value: '7'
                - label: Power Steering
                  value: Electric Steering
                - label: Steering Type
                  value: Steering rack and pinion
                - label: Wheelbase (mm)
                  value: '2855'
                - label: Width (mm)
                  value: '1870'
                - label: Ride Height (mm)
                  value: '235'
                - label: Track Front (mm)
                  value: '1570'
                - label: Track Rear (mm)
                  value: '1570'
                - label: Weight Empty (kg)
                  value: '2800'
                - label: ABS
                  value: '1'
                - label: Check Digit
                  value: G
                - label: Sequential Number
                  value: '011254'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: >-
            **404 Not Found** — The requested vehicle does not exist or is not
            accessible.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
              example:
                type: RESOURCE
                code: NOT_FOUND
                description: Vehicle was not found.
                requestId: 0HNLTALNU4DDC:00000001
                docUrl: https://docs.telemax.com.au/errors/not-found
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    Unauthorized:
      description: >
        **401 Unauthorized** — JWT is missing, expired, or malformed.

        The JWT bearer middleware rejects the request before it reaches the
        controller.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            type: AUTHENTICATION
            code: INVALID_CREDENTIALS
            description: The provided API key is invalid or does not exist.
            requestId: 0HNLTALNU4DCO:00000004
            docUrl: https://docs.telemax.com.au/errors/invalid-credentials
    TooManyRequests:
      description: >
        **429 Too Many Requests** — Rate limit exceeded. Check the Retry-After
        header for the number of seconds to wait before retrying.

        Use exponential backoff: wait Retry-After seconds, then double the
        interval on each subsequent 429.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            type: RATE_LIMIT
            code: RATE_LIMIT_EXCEEDED
            description: Too many requests. Please slow down.
            requestId: req_6d2f8b4a
            docUrl: https://docs.telemax.com.au/errors/rate-limit-exceeded
    InternalServerError:
      description: >
        **500 Internal Server Error** — An unexpected error occurred. Include
        the requestId when contacting support.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/X-RateLimit-Limit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/X-RateLimit-Remaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/X-RateLimit-Reset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          example:
            type: SERVER_ERROR
            code: INTERNAL_SERVER_ERROR
            description: An unexpected error occurred. Please try again later.
            requestId: req_1e5a3c7d
            docUrl: https://docs.telemax.com.au/errors/internal-server-error
  schemas:
    ApiError:
      type: object
      description: Standard error response returned by all API endpoints.
      properties:
        type:
          type: string
          description: >-
            Error category (e.g. AUTHENTICATION, AUTHORIZATION, RESOURCE,
            VALIDATION_ERROR, RATE_LIMIT, SERVER_ERROR).
          example: AUTHENTICATION
        code:
          type: string
          description: Machine-readable error code within the category.
          example: INVALID_CREDENTIALS
        description:
          type: string
          description: Human-readable explanation of the error and how to resolve it.
          example: The provided API key is invalid or does not exist.
        requestId:
          type: string
          description: Unique request identifier for support correlation.
          example: req_7f3a2b1c
        docUrl:
          type: string
          format: uri
          description: Link to the relevant error documentation page.
          example: https://docs.telemax.com.au/errors/invalid-credentials
      required:
        - type
        - code
        - description
  headers:
    X-RateLimit-Limit:
      description: >-
        Maximum number of requests allowed per minute for this token. **Not yet
        active** — this header will be added once the rate-limit middleware is
        deployed. See the [Changelog](/v2/changelog) for the rollout date.
      schema:
        type: integer
        example: 60
    X-RateLimit-Remaining:
      description: >-
        Number of requests remaining in the current rate limit window. **Not yet
        active** — see `X-RateLimit-Limit`.
      schema:
        type: integer
        example: 47
    X-RateLimit-Reset:
      description: >-
        Unix timestamp (seconds) at which the current rate limit window resets.
        **Not yet active** — see `X-RateLimit-Limit`.
      schema:
        type: integer
        example: 1746000060
    Retry-After:
      description: Number of seconds to wait before retrying after a 429 response.
      schema:
        type: integer
        example: 30
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        JWT Bearer token obtained from `POST
        /v2/api/authentication/token/api-key`.


        **Lifetime:** ~24 hours (86,399 seconds). Cache the token and reuse it.
        Re-authenticate 5 minutes before expiry.


        **Scoping:** API key tokens are scoped to the company the key belongs to
        and may restrict

        access to a vehicle allowlist and/or action set (see token claims).


        **No refresh endpoint** — re-authenticate with your API key when the
        token expires.

````