Tesla Motors · Capability

Tesla Motors Owner API — Vehicles

Tesla Motors Owner API — Vehicles. 11 operations. Lead operation: Tesla List all Vehicles. Self-contained Naftiko capability covering one Tesla Motors business surface.

Run with Naftiko Tesla MotorsVehicles

What You Can Do

GET
Getvehicles — Tesla List all Vehicles
/v1/api/1/vehicles
GET
Getvehicle — Tesla Retrieve a vehicle
/v1/api/1/vehicles/{vehicle-id}
GET
Getvehiclechargestate — Tesla Charge State
/v1/api/1/vehicles/{vehicle-id}/data-request/charge-state
GET
Getvehicleclimatestate — Tesla Climate Settings
/v1/api/1/vehicles/{vehicle-id}/data-request/climate-state
GET
Getvehicledrivestate — Tesla Driving and Position
/v1/api/1/vehicles/{vehicle-id}/data-request/drive-state
GET
Getvehilceguisettings — Tesla GUI Settings
/v1/api/1/vehicles/{vehicle-id}/data-request/gui-settings
GET
Getvehicleconfig — Tesla Vehicle Config
/v1/api/1/vehicles/{vehicle-id}/data-request/vehicle-config
GET
Getvehiclestate — Tesla Vehicle State
/v1/api/1/vehicles/{vehicle-id}/data-request/vehicle-state
GET
Getvehiclemobileenabled — Tesla Mobile Access
/v1/api/1/vehicles/{vehicle-id}/mobile-enabled
GET
Nearbychargers — Tesla Get Nearby Chargers
/v1/api/1/vehicles/{vehicle-id}/nearby-charging-sites
GET
Getvehicledata — Tesla Vehicle Data
/v1/api/1/vehicles/{vehicle-id}/vehicle-data

MCP Tools

tesla-list-all-vehicles

Tesla List all Vehicles

read-only idempotent
tesla-retrieve-vehicle

Tesla Retrieve a vehicle

read-only idempotent
tesla-charge-state

Tesla Charge State

read-only idempotent
tesla-climate-settings

Tesla Climate Settings

read-only idempotent
tesla-driving-and-position

Tesla Driving and Position

read-only idempotent
tesla-gui-settings

Tesla GUI Settings

read-only idempotent
tesla-vehicle-config

Tesla Vehicle Config

read-only idempotent
tesla-vehicle-state

Tesla Vehicle State

read-only idempotent
tesla-mobile-access

Tesla Mobile Access

read-only idempotent
tesla-get-nearby-chargers

Tesla Get Nearby Chargers

read-only idempotent
tesla-vehicle-data

Tesla Vehicle Data

read-only idempotent

Capability Spec

owner-vehicles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Tesla Motors Owner API — Vehicles
  description: 'Tesla Motors Owner API — Vehicles. 11 operations. Lead operation: Tesla List all Vehicles. Self-contained
    Naftiko capability covering one Tesla Motors business surface.'
  tags:
  - Tesla Motors
  - Vehicles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TESLA_MOTORS_API_KEY: TESLA_MOTORS_API_KEY
capability:
  consumes:
  - type: http
    namespace: owner-vehicles
    baseUri: https://owner-api.teslamotors.com
    description: Tesla Motors Owner API — Vehicles business capability. Self-contained, no shared references.
    resources:
    - name: api-1-vehicles
      path: /api/1/vehicles
      operations:
      - name: getvehicles
        method: GET
        description: Tesla List all Vehicles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-1-vehicles-vehicle_id
      path: /api/1/vehicles/{vehicle_id}
      operations:
      - name: getvehicle
        method: GET
        description: Tesla Retrieve a vehicle
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-charge_state
      path: /api/1/vehicles/{vehicle_id}/data_request/charge_state
      operations:
      - name: getvehiclechargestate
        method: GET
        description: Tesla Charge State
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-climate_state
      path: /api/1/vehicles/{vehicle_id}/data_request/climate_state
      operations:
      - name: getvehicleclimatestate
        method: GET
        description: Tesla Climate Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-drive_state
      path: /api/1/vehicles/{vehicle_id}/data_request/drive_state
      operations:
      - name: getvehicledrivestate
        method: GET
        description: Tesla Driving and Position
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-gui_settings
      path: /api/1/vehicles/{vehicle_id}/data_request/gui_settings
      operations:
      - name: getvehilceguisettings
        method: GET
        description: Tesla GUI Settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-vehicle_config
      path: /api/1/vehicles/{vehicle_id}/data_request/vehicle_config
      operations:
      - name: getvehicleconfig
        method: GET
        description: Tesla Vehicle Config
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-data_request-vehicle_state
      path: /api/1/vehicles/{vehicle_id}/data_request/vehicle_state
      operations:
      - name: getvehiclestate
        method: GET
        description: Tesla Vehicle State
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-mobile_enabled
      path: /api/1/vehicles/{vehicle_id}/mobile_enabled
      operations:
      - name: getvehiclemobileenabled
        method: GET
        description: Tesla Mobile Access
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-nearby_charging_sites
      path: /api/1/vehicles/{vehicle_id}/nearby_charging_sites
      operations:
      - name: nearbychargers
        method: GET
        description: Tesla Get Nearby Chargers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
    - name: api-1-vehicles-vehicle_id-vehicle_data
      path: /api/1/vehicles/{vehicle_id}/vehicle_data
      operations:
      - name: getvehicledata
        method: GET
        description: Tesla Vehicle Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: vehicle_id
          in: path
          type: string
          description: The id of the Vehicle.
          required: true
        - name: endpoints
          in: query
          type: string
  exposes:
  - type: rest
    namespace: owner-vehicles-rest
    port: 8080
    description: REST adapter for Tesla Motors Owner API — Vehicles. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/1/vehicles
      name: api-1-vehicles
      description: REST surface for api-1-vehicles.
      operations:
      - method: GET
        name: getvehicles
        description: Tesla List all Vehicles
        call: owner-vehicles.getvehicles
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}
      name: api-1-vehicles-vehicle-id
      description: REST surface for api-1-vehicles-vehicle_id.
      operations:
      - method: GET
        name: getvehicle
        description: Tesla Retrieve a vehicle
        call: owner-vehicles.getvehicle
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/charge-state
      name: api-1-vehicles-vehicle-id-data-request-charge-state
      description: REST surface for api-1-vehicles-vehicle_id-data_request-charge_state.
      operations:
      - method: GET
        name: getvehiclechargestate
        description: Tesla Charge State
        call: owner-vehicles.getvehiclechargestate
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/climate-state
      name: api-1-vehicles-vehicle-id-data-request-climate-state
      description: REST surface for api-1-vehicles-vehicle_id-data_request-climate_state.
      operations:
      - method: GET
        name: getvehicleclimatestate
        description: Tesla Climate Settings
        call: owner-vehicles.getvehicleclimatestate
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/drive-state
      name: api-1-vehicles-vehicle-id-data-request-drive-state
      description: REST surface for api-1-vehicles-vehicle_id-data_request-drive_state.
      operations:
      - method: GET
        name: getvehicledrivestate
        description: Tesla Driving and Position
        call: owner-vehicles.getvehicledrivestate
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/gui-settings
      name: api-1-vehicles-vehicle-id-data-request-gui-settings
      description: REST surface for api-1-vehicles-vehicle_id-data_request-gui_settings.
      operations:
      - method: GET
        name: getvehilceguisettings
        description: Tesla GUI Settings
        call: owner-vehicles.getvehilceguisettings
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/vehicle-config
      name: api-1-vehicles-vehicle-id-data-request-vehicle-config
      description: REST surface for api-1-vehicles-vehicle_id-data_request-vehicle_config.
      operations:
      - method: GET
        name: getvehicleconfig
        description: Tesla Vehicle Config
        call: owner-vehicles.getvehicleconfig
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/data-request/vehicle-state
      name: api-1-vehicles-vehicle-id-data-request-vehicle-state
      description: REST surface for api-1-vehicles-vehicle_id-data_request-vehicle_state.
      operations:
      - method: GET
        name: getvehiclestate
        description: Tesla Vehicle State
        call: owner-vehicles.getvehiclestate
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/mobile-enabled
      name: api-1-vehicles-vehicle-id-mobile-enabled
      description: REST surface for api-1-vehicles-vehicle_id-mobile_enabled.
      operations:
      - method: GET
        name: getvehiclemobileenabled
        description: Tesla Mobile Access
        call: owner-vehicles.getvehiclemobileenabled
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/nearby-charging-sites
      name: api-1-vehicles-vehicle-id-nearby-charging-sites
      description: REST surface for api-1-vehicles-vehicle_id-nearby_charging_sites.
      operations:
      - method: GET
        name: nearbychargers
        description: Tesla Get Nearby Chargers
        call: owner-vehicles.nearbychargers
        with:
          vehicle_id: rest.vehicle_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/1/vehicles/{vehicle-id}/vehicle-data
      name: api-1-vehicles-vehicle-id-vehicle-data
      description: REST surface for api-1-vehicles-vehicle_id-vehicle_data.
      operations:
      - method: GET
        name: getvehicledata
        description: Tesla Vehicle Data
        call: owner-vehicles.getvehicledata
        with:
          vehicle_id: rest.vehicle_id
          endpoints: rest.endpoints
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: owner-vehicles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Tesla Motors Owner API — Vehicles. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: tesla-list-all-vehicles
      description: Tesla List all Vehicles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicles
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-retrieve-vehicle
      description: Tesla Retrieve a vehicle
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicle
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-charge-state
      description: Tesla Charge State
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehiclechargestate
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-climate-settings
      description: Tesla Climate Settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicleclimatestate
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-driving-and-position
      description: Tesla Driving and Position
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicledrivestate
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-gui-settings
      description: Tesla GUI Settings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehilceguisettings
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-vehicle-config
      description: Tesla Vehicle Config
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicleconfig
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-vehicle-state
      description: Tesla Vehicle State
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehiclestate
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-mobile-access
      description: Tesla Mobile Access
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehiclemobileenabled
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-get-nearby-chargers
      description: Tesla Get Nearby Chargers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.nearbychargers
      with:
        vehicle_id: tools.vehicle_id
      outputParameters:
      - type: object
        mapping: $.
    - name: tesla-vehicle-data
      description: Tesla Vehicle Data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: owner-vehicles.getvehicledata
      with:
        vehicle_id: tools.vehicle_id
        endpoints: tools.endpoints
      outputParameters:
      - type: object
        mapping: $.