Smartcar · Capability

Smartcar Vehicles API — Vehicle Data

Smartcar Vehicles API — Vehicle Data. 10 operations. Lead operation: Get Vehicle. Self-contained Naftiko capability covering one Smartcar business surface.

Run with Naftiko SmartcarVehicle Data

What You Can Do

GET
Getvehicle — Get Vehicle
/v1/vehicles/{id}
POST
Batchrequests — Batch Vehicle Data Requests
/v1/vehicles/{id}/batch
GET
Getbatterylevel — Get Battery Level
/v1/vehicles/{id}/battery
GET
Getdiagnosticcodes — Get Diagnostic Trouble Codes
/v1/vehicles/{id}/diagnostics/dtcs
GET
Getengineoil — Get Engine Oil Life
/v1/vehicles/{id}/engine/oil
GET
Getfueltank — Get Fuel Tank
/v1/vehicles/{id}/fuel
GET
Getlocation — Get Location
/v1/vehicles/{id}/location
GET
Getodometer — Get Odometer
/v1/vehicles/{id}/odometer
GET
Getpermissions — Get Vehicle Permissions
/v1/vehicles/{id}/permissions
GET
Getsignals — Get Vehicle Signals
/v1/vehicles/{id}/signals

MCP Tools

get-vehicle

Get Vehicle

read-only idempotent
batch-vehicle-data-requests

Batch Vehicle Data Requests

get-battery-level

Get Battery Level

read-only idempotent
get-diagnostic-trouble-codes

Get Diagnostic Trouble Codes

read-only idempotent
get-engine-oil-life

Get Engine Oil Life

read-only idempotent
get-fuel-tank

Get Fuel Tank

read-only idempotent
get-location

Get Location

read-only idempotent
get-odometer

Get Odometer

read-only idempotent
get-vehicle-permissions

Get Vehicle Permissions

read-only idempotent
get-vehicle-signals

Get Vehicle Signals

read-only idempotent

Capability Spec

vehicles-vehicle-data.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Smartcar Vehicles API — Vehicle Data
  description: 'Smartcar Vehicles API — Vehicle Data. 10 operations. Lead operation: Get Vehicle. Self-contained Naftiko capability
    covering one Smartcar business surface.'
  tags:
  - Smartcar
  - Vehicle Data
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SMARTCAR_API_KEY: SMARTCAR_API_KEY
capability:
  consumes:
  - type: http
    namespace: vehicles-vehicle-data
    baseUri: https://vehicle.api.smartcar.com/v2.0
    description: Smartcar Vehicles API — Vehicle Data business capability. Self-contained, no shared references.
    resources:
    - name: vehicles-id
      path: /vehicles/{id}
      operations:
      - name: getvehicle
        method: GET
        description: Get Vehicle
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Vehicle ID
          required: true
    - name: vehicles-id-batch
      path: /vehicles/{id}/batch
      operations:
      - name: batchrequests
        method: POST
        description: Batch Vehicle Data Requests
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: vehicles-id-battery
      path: /vehicles/{id}/battery
      operations:
      - name: getbatterylevel
        method: GET
        description: Get Battery Level
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-diagnostics-dtcs
      path: /vehicles/{id}/diagnostics/dtcs
      operations:
      - name: getdiagnosticcodes
        method: GET
        description: Get Diagnostic Trouble Codes
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-engine-oil
      path: /vehicles/{id}/engine/oil
      operations:
      - name: getengineoil
        method: GET
        description: Get Engine Oil Life
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-fuel
      path: /vehicles/{id}/fuel
      operations:
      - name: getfueltank
        method: GET
        description: Get Fuel Tank
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-location
      path: /vehicles/{id}/location
      operations:
      - name: getlocation
        method: GET
        description: Get Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-odometer
      path: /vehicles/{id}/odometer
      operations:
      - name: getodometer
        method: GET
        description: Get Odometer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-permissions
      path: /vehicles/{id}/permissions
      operations:
      - name: getpermissions
        method: GET
        description: Get Vehicle Permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: vehicles-id-signals
      path: /vehicles/{id}/signals
      operations:
      - name: getsignals
        method: GET
        description: Get Vehicle Signals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Vehicle ID
          required: true
    authentication:
      type: bearer
      token: '{{env.SMARTCAR_API_KEY}}'
  exposes:
  - type: rest
    namespace: vehicles-vehicle-data-rest
    port: 8080
    description: REST adapter for Smartcar Vehicles API — Vehicle Data. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/vehicles/{id}
      name: vehicles-id
      description: REST surface for vehicles-id.
      operations:
      - method: GET
        name: getvehicle
        description: Get Vehicle
        call: vehicles-vehicle-data.getvehicle
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/batch
      name: vehicles-id-batch
      description: REST surface for vehicles-id-batch.
      operations:
      - method: POST
        name: batchrequests
        description: Batch Vehicle Data Requests
        call: vehicles-vehicle-data.batchrequests
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/battery
      name: vehicles-id-battery
      description: REST surface for vehicles-id-battery.
      operations:
      - method: GET
        name: getbatterylevel
        description: Get Battery Level
        call: vehicles-vehicle-data.getbatterylevel
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/diagnostics/dtcs
      name: vehicles-id-diagnostics-dtcs
      description: REST surface for vehicles-id-diagnostics-dtcs.
      operations:
      - method: GET
        name: getdiagnosticcodes
        description: Get Diagnostic Trouble Codes
        call: vehicles-vehicle-data.getdiagnosticcodes
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/engine/oil
      name: vehicles-id-engine-oil
      description: REST surface for vehicles-id-engine-oil.
      operations:
      - method: GET
        name: getengineoil
        description: Get Engine Oil Life
        call: vehicles-vehicle-data.getengineoil
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/fuel
      name: vehicles-id-fuel
      description: REST surface for vehicles-id-fuel.
      operations:
      - method: GET
        name: getfueltank
        description: Get Fuel Tank
        call: vehicles-vehicle-data.getfueltank
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/location
      name: vehicles-id-location
      description: REST surface for vehicles-id-location.
      operations:
      - method: GET
        name: getlocation
        description: Get Location
        call: vehicles-vehicle-data.getlocation
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/odometer
      name: vehicles-id-odometer
      description: REST surface for vehicles-id-odometer.
      operations:
      - method: GET
        name: getodometer
        description: Get Odometer
        call: vehicles-vehicle-data.getodometer
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/permissions
      name: vehicles-id-permissions
      description: REST surface for vehicles-id-permissions.
      operations:
      - method: GET
        name: getpermissions
        description: Get Vehicle Permissions
        call: vehicles-vehicle-data.getpermissions
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/vehicles/{id}/signals
      name: vehicles-id-signals
      description: REST surface for vehicles-id-signals.
      operations:
      - method: GET
        name: getsignals
        description: Get Vehicle Signals
        call: vehicles-vehicle-data.getsignals
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: vehicles-vehicle-data-mcp
    port: 9090
    transport: http
    description: MCP adapter for Smartcar Vehicles API — Vehicle Data. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-vehicle
      description: Get Vehicle
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getvehicle
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: batch-vehicle-data-requests
      description: Batch Vehicle Data Requests
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: vehicles-vehicle-data.batchrequests
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-battery-level
      description: Get Battery Level
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getbatterylevel
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-diagnostic-trouble-codes
      description: Get Diagnostic Trouble Codes
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getdiagnosticcodes
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-engine-oil-life
      description: Get Engine Oil Life
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getengineoil
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-fuel-tank
      description: Get Fuel Tank
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getfueltank
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-location
      description: Get Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getlocation
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-odometer
      description: Get Odometer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getodometer
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-permissions
      description: Get Vehicle Permissions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getpermissions
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-vehicle-signals
      description: Get Vehicle Signals
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: vehicles-vehicle-data.getsignals
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.