Toyota · Capability

Toyota Telematics API — Vehicles

Toyota Telematics API — Vehicles. 9 operations. Lead operation: List Fleet Vehicles. Self-contained Naftiko capability covering one Toyota business surface.

Run with Naftiko ToyotaVehicles

What You Can Do

GET
Listfleetvehicles — List Fleet Vehicles
/v1/fleet/{fleetid}/vehicles
POST
Enrollvehicle — Enroll Vehicle
/v1/fleet/{fleetid}/vehicles/enroll
GET
Listvehicles — List Vehicles
/v1/vehicles
GET
Getvehicle — Get Vehicle
/v1/vehicles/{vin}
GET
Getvehiclehealth — Get Vehicle Health
/v1/vehicles/{vin}/health
GET
Getvehiclelocation — Get Vehicle Location
/v1/vehicles/{vin}/location
GET
Getvehiclesubscriptions — Get Vehicle Subscriptions
/v1/vehicles/{vin}/subscriptions
GET
Getvehicletelemetry — Get Vehicle Telemetry
/v1/vehicles/{vin}/telemetry
GET
Getvehicletrips — Get Vehicle Trips
/v1/vehicles/{vin}/trips

MCP Tools

list-fleet-vehicles

List Fleet Vehicles

read-only idempotent
enroll-vehicle

Enroll Vehicle

list-vehicles

List Vehicles

read-only idempotent
get-vehicle

Get Vehicle

read-only idempotent
get-vehicle-health

Get Vehicle Health

read-only idempotent
get-vehicle-location

Get Vehicle Location

read-only idempotent
get-vehicle-subscriptions

Get Vehicle Subscriptions

read-only idempotent
get-vehicle-telemetry

Get Vehicle Telemetry

read-only idempotent
get-vehicle-trips

Get Vehicle Trips

read-only idempotent

Capability Spec

telematics-vehicles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Toyota Telematics API — Vehicles
  description: 'Toyota Telematics API — Vehicles. 9 operations. Lead operation: List Fleet Vehicles. Self-contained Naftiko
    capability covering one Toyota business surface.'
  tags:
  - Toyota
  - Vehicles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TOYOTA_API_KEY: TOYOTA_API_KEY
capability:
  consumes:
  - type: http
    namespace: telematics-vehicles
    baseUri: https://api.eig.toyota.com/telematics/v1
    description: Toyota Telematics API — Vehicles business capability. Self-contained, no shared references.
    resources:
    - name: fleet-fleetId-vehicles
      path: /fleet/{fleetId}/vehicles
      operations:
      - name: listfleetvehicles
        method: GET
        description: List Fleet Vehicles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fleetId
          in: path
          type: string
          description: Fleet identifier
          required: true
        - name: status
          in: query
          type: string
          description: Filter by status
        - name: page
          in: query
          type: integer
        - name: limit
          in: query
          type: integer
    - name: fleet-fleetId-vehicles-enroll
      path: /fleet/{fleetId}/vehicles/enroll
      operations:
      - name: enrollvehicle
        method: POST
        description: Enroll Vehicle
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fleetId
          in: path
          type: string
          description: Fleet identifier
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: vehicles
      path: /vehicles
      operations:
      - name: listvehicles
        method: GET
        description: List Vehicles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fleetId
          in: query
          type: string
          description: Filter vehicles by fleet identifier
        - name: status
          in: query
          type: string
          description: Filter by telematics enrollment status
        - name: page
          in: query
          type: integer
        - name: limit
          in: query
          type: integer
    - name: vehicles-vin
      path: /vehicles/{vin}
      operations:
      - name: getvehicle
        method: GET
        description: Get Vehicle
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: 17-character Vehicle Identification Number (VIN)
          required: true
    - name: vehicles-vin-health
      path: /vehicles/{vin}/health
      operations:
      - name: getvehiclehealth
        method: GET
        description: Get Vehicle Health
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: Vehicle Identification Number
          required: true
    - name: vehicles-vin-location
      path: /vehicles/{vin}/location
      operations:
      - name: getvehiclelocation
        method: GET
        description: Get Vehicle Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: Vehicle Identification Number
          required: true
    - name: vehicles-vin-subscriptions
      path: /vehicles/{vin}/subscriptions
      operations:
      - name: getvehiclesubscriptions
        method: GET
        description: Get Vehicle Subscriptions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: Vehicle Identification Number
          required: true
    - name: vehicles-vin-telemetry
      path: /vehicles/{vin}/telemetry
      operations:
      - name: getvehicletelemetry
        method: GET
        description: Get Vehicle Telemetry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: Vehicle Identification Number
          required: true
    - name: vehicles-vin-trips
      path: /vehicles/{vin}/trips
      operations:
      - name: getvehicletrips
        method: GET
        description: Get Vehicle Trips
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vin
          in: path
          type: string
          description: Vehicle Identification Number
          required: true
        - name: fromDate
          in: query
          type: string
          description: Start date for trip history
          required: true
        - name: toDate
          in: query
          type: string
          description: End date for trip history
          required: true
        - name: limit
          in: query
          type: integer
          description: Maximum number of trips to return
        - name: offset
          in: query
          type: integer
          description: Pagination offset
        - name: includeRoute
          in: query
          type: boolean
          description: Include GPS route coordinates for each trip
    authentication:
      type: bearer
      token: '{{env.TOYOTA_API_KEY}}'
  exposes:
  - type: rest
    namespace: telematics-vehicles-rest
    port: 8080
    description: REST adapter for Toyota Telematics API — Vehicles. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/fleet/{fleetid}/vehicles
      name: fleet-fleetid-vehicles
      description: REST surface for fleet-fleetId-vehicles.
      operations:
      - method: GET
        name: listfleetvehicles
        description: List Fleet Vehicles
        call: telematics-vehicles.listfleetvehicles
        with:
          fleetId: rest.fleetId
          status: rest.status
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/fleet/{fleetid}/vehicles/enroll
      name: fleet-fleetid-vehicles-enroll
      description: REST surface for fleet-fleetId-vehicles-enroll.
      operations:
      - method: POST
        name: enrollvehicle
        description: Enroll Vehicle
        call: telematics-vehicles.enrollvehicle
        with:
          fleetId: rest.fleetId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles
      name: vehicles
      description: REST surface for vehicles.
      operations:
      - method: GET
        name: listvehicles
        description: List Vehicles
        call: telematics-vehicles.listvehicles
        with:
          fleetId: rest.fleetId
          status: rest.status
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}
      name: vehicles-vin
      description: REST surface for vehicles-vin.
      operations:
      - method: GET
        name: getvehicle
        description: Get Vehicle
        call: telematics-vehicles.getvehicle
        with:
          vin: rest.vin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}/health
      name: vehicles-vin-health
      description: REST surface for vehicles-vin-health.
      operations:
      - method: GET
        name: getvehiclehealth
        description: Get Vehicle Health
        call: telematics-vehicles.getvehiclehealth
        with:
          vin: rest.vin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}/location
      name: vehicles-vin-location
      description: REST surface for vehicles-vin-location.
      operations:
      - method: GET
        name: getvehiclelocation
        description: Get Vehicle Location
        call: telematics-vehicles.getvehiclelocation
        with:
          vin: rest.vin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}/subscriptions
      name: vehicles-vin-subscriptions
      description: REST surface for vehicles-vin-subscriptions.
      operations:
      - method: GET
        name: getvehiclesubscriptions
        description: Get Vehicle Subscriptions
        call: telematics-vehicles.getvehiclesubscriptions
        with:
          vin: rest.vin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}/telemetry
      name: vehicles-vin-telemetry
      description: REST surface for vehicles-vin-telemetry.
      operations:
      - method: GET
        name: getvehicletelemetry
        description: Get Vehicle Telemetry
        call: telematics-vehicles.getvehicletelemetry
        with:
          vin: rest.vin
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{vin}/trips
      name: vehicles-vin-trips
      description: REST surface for vehicles-vin-trips.
      operations:
      - method: GET
        name: getvehicletrips
        description: Get Vehicle Trips
        call: telematics-vehicles.getvehicletrips
        with:
          vin: rest.vin
          fromDate: rest.fromDate
          toDate: rest.toDate
          limit: rest.limit
          offset: rest.offset
          includeRoute: rest.includeRoute
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: telematics-vehicles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Toyota Telematics API — Vehicles. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-fleet-vehicles
      description: List Fleet Vehicles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.listfleetvehicles
      with:
        fleetId: tools.fleetId
        status: tools.status
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: enroll-vehicle
      description: Enroll Vehicle
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: telematics-vehicles.enrollvehicle
      with:
        fleetId: tools.fleetId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-vehicles
      description: List Vehicles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.listvehicles
      with:
        fleetId: tools.fleetId
        status: tools.status
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle
      description: Get Vehicle
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehicle
      with:
        vin: tools.vin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-health
      description: Get Vehicle Health
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehiclehealth
      with:
        vin: tools.vin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-location
      description: Get Vehicle Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehiclelocation
      with:
        vin: tools.vin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-subscriptions
      description: Get Vehicle Subscriptions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehiclesubscriptions
      with:
        vin: tools.vin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-telemetry
      description: Get Vehicle Telemetry
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehicletelemetry
      with:
        vin: tools.vin
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-trips
      description: Get Vehicle Trips
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: telematics-vehicles.getvehicletrips
      with:
        vin: tools.vin
        fromDate: tools.fromDate
        toDate: tools.toDate
        limit: tools.limit
        offset: tools.offset
        includeRoute: tools.includeRoute
      outputParameters:
      - type: object
        mapping: $.