naftiko: 1.0.0-alpha2 info: label: Toyota Connected Services API — Vehicles description: 'Toyota Connected Services API — Vehicles. 16 operations. Lead operation: List Connected 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: connected-services-vehicles baseUri: https://api.toyota.com/connected/v1 description: Toyota Connected Services API — Vehicles business capability. Self-contained, no shared references. resources: - name: vehicles path: /vehicles operations: - name: listconnectedvehicles method: GET description: List Connected Vehicles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vehicles-vin path: /vehicles/{vin} operations: - name: getconnectedvehicle method: GET description: Get Connected Vehicle outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string description: Vehicle Identification Number required: true - name: updatevehiclealias method: PUT description: Update Vehicle Alias outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: vehicles-vin-climate path: /vehicles/{vin}/climate operations: - name: getclimatestatus method: GET description: Get Climate Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: updateclimatesettings method: PUT description: Update Climate Settings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: vehicles-vin-climate-command path: /vehicles/{vin}/climate/command operations: - name: sendclimatecommand method: POST description: Send Climate Command outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: vehicles-vin-electric path: /vehicles/{vin}/electric operations: - name: getelectricstatus method: GET description: Get Electric Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-electric-refresh path: /vehicles/{vin}/electric/refresh operations: - name: refreshelectricstatus method: POST description: Refresh Electric Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-health path: /vehicles/{vin}/health operations: - name: getvehiclehealthstatus method: GET description: Get Vehicle Health Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-location path: /vehicles/{vin}/location operations: - name: getvehicleposition method: GET description: Get Vehicle Location outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-notifications path: /vehicles/{vin}/notifications operations: - name: getvehiclenotifications method: GET description: Get Vehicle Notifications outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: unreadOnly in: query type: boolean description: Return only unread notifications - name: vehicles-vin-remote-command path: /vehicles/{vin}/remote-command operations: - name: sendremotecommand method: POST description: Send Remote Command outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: vehicles-vin-service-history path: /vehicles/{vin}/service-history operations: - name: getservicehistory method: GET description: Get Service History outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-status path: /vehicles/{vin}/status operations: - name: getvehiclestatus method: GET description: Get Vehicle Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: vehicles-vin-status-refresh path: /vehicles/{vin}/status/refresh operations: - name: refreshvehiclestatus method: POST description: Refresh Vehicle Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: vehicles-vin-trips path: /vehicles/{vin}/trips operations: - name: gettrips method: GET description: Get Trips outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: vin in: path type: string 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 trips to return - name: offset in: query type: integer description: Pagination offset - name: includeRoute in: query type: boolean description: Include GPS route for each trip - name: includeSummary in: query type: boolean description: Include trip summary statistics authentication: type: bearer token: '{{env.TOYOTA_API_KEY}}' exposes: - type: rest namespace: connected-services-vehicles-rest port: 8080 description: REST adapter for Toyota Connected Services API — Vehicles. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vehicles name: vehicles description: REST surface for vehicles. operations: - method: GET name: listconnectedvehicles description: List Connected Vehicles call: connected-services-vehicles.listconnectedvehicles outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin} name: vehicles-vin description: REST surface for vehicles-vin. operations: - method: GET name: getconnectedvehicle description: Get Connected Vehicle call: connected-services-vehicles.getconnectedvehicle with: vin: rest.vin outputParameters: - type: object mapping: $. - method: PUT name: updatevehiclealias description: Update Vehicle Alias call: connected-services-vehicles.updatevehiclealias with: vin: rest.vin body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/climate name: vehicles-vin-climate description: REST surface for vehicles-vin-climate. operations: - method: GET name: getclimatestatus description: Get Climate Status call: connected-services-vehicles.getclimatestatus with: vin: rest.vin outputParameters: - type: object mapping: $. - method: PUT name: updateclimatesettings description: Update Climate Settings call: connected-services-vehicles.updateclimatesettings with: vin: rest.vin body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/climate/command name: vehicles-vin-climate-command description: REST surface for vehicles-vin-climate-command. operations: - method: POST name: sendclimatecommand description: Send Climate Command call: connected-services-vehicles.sendclimatecommand with: vin: rest.vin body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/electric name: vehicles-vin-electric description: REST surface for vehicles-vin-electric. operations: - method: GET name: getelectricstatus description: Get Electric Status call: connected-services-vehicles.getelectricstatus with: vin: rest.vin outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/electric/refresh name: vehicles-vin-electric-refresh description: REST surface for vehicles-vin-electric-refresh. operations: - method: POST name: refreshelectricstatus description: Refresh Electric Status call: connected-services-vehicles.refreshelectricstatus 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: getvehiclehealthstatus description: Get Vehicle Health Status call: connected-services-vehicles.getvehiclehealthstatus 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: getvehicleposition description: Get Vehicle Location call: connected-services-vehicles.getvehicleposition with: vin: rest.vin outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/notifications name: vehicles-vin-notifications description: REST surface for vehicles-vin-notifications. operations: - method: GET name: getvehiclenotifications description: Get Vehicle Notifications call: connected-services-vehicles.getvehiclenotifications with: vin: rest.vin unreadOnly: rest.unreadOnly outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/remote-command name: vehicles-vin-remote-command description: REST surface for vehicles-vin-remote-command. operations: - method: POST name: sendremotecommand description: Send Remote Command call: connected-services-vehicles.sendremotecommand with: vin: rest.vin body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/service-history name: vehicles-vin-service-history description: REST surface for vehicles-vin-service-history. operations: - method: GET name: getservicehistory description: Get Service History call: connected-services-vehicles.getservicehistory with: vin: rest.vin outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/status name: vehicles-vin-status description: REST surface for vehicles-vin-status. operations: - method: GET name: getvehiclestatus description: Get Vehicle Status call: connected-services-vehicles.getvehiclestatus with: vin: rest.vin outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/status/refresh name: vehicles-vin-status-refresh description: REST surface for vehicles-vin-status-refresh. operations: - method: POST name: refreshvehiclestatus description: Refresh Vehicle Status call: connected-services-vehicles.refreshvehiclestatus with: vin: rest.vin body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vehicles/{vin}/trips name: vehicles-vin-trips description: REST surface for vehicles-vin-trips. operations: - method: GET name: gettrips description: Get Trips call: connected-services-vehicles.gettrips with: vin: rest.vin fromDate: rest.fromDate toDate: rest.toDate limit: rest.limit offset: rest.offset includeRoute: rest.includeRoute includeSummary: rest.includeSummary outputParameters: - type: object mapping: $. - type: mcp namespace: connected-services-vehicles-mcp port: 9090 transport: http description: MCP adapter for Toyota Connected Services API — Vehicles. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-connected-vehicles description: List Connected Vehicles hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.listconnectedvehicles outputParameters: - type: object mapping: $. - name: get-connected-vehicle description: Get Connected Vehicle hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getconnectedvehicle with: vin: tools.vin outputParameters: - type: object mapping: $. - name: update-vehicle-alias description: Update Vehicle Alias hints: readOnly: false destructive: false idempotent: true call: connected-services-vehicles.updatevehiclealias with: vin: tools.vin body: tools.body outputParameters: - type: object mapping: $. - name: get-climate-status description: Get Climate Status hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getclimatestatus with: vin: tools.vin outputParameters: - type: object mapping: $. - name: update-climate-settings description: Update Climate Settings hints: readOnly: false destructive: false idempotent: true call: connected-services-vehicles.updateclimatesettings with: vin: tools.vin body: tools.body outputParameters: - type: object mapping: $. - name: send-climate-command description: Send Climate Command hints: readOnly: false destructive: false idempotent: false call: connected-services-vehicles.sendclimatecommand with: vin: tools.vin body: tools.body outputParameters: - type: object mapping: $. - name: get-electric-status description: Get Electric Status hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getelectricstatus with: vin: tools.vin outputParameters: - type: object mapping: $. - name: refresh-electric-status description: Refresh Electric Status hints: readOnly: false destructive: false idempotent: false call: connected-services-vehicles.refreshelectricstatus with: vin: tools.vin outputParameters: - type: object mapping: $. - name: get-vehicle-health-status description: Get Vehicle Health Status hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getvehiclehealthstatus with: vin: tools.vin outputParameters: - type: object mapping: $. - name: get-vehicle-location description: Get Vehicle Location hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getvehicleposition with: vin: tools.vin outputParameters: - type: object mapping: $. - name: get-vehicle-notifications description: Get Vehicle Notifications hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getvehiclenotifications with: vin: tools.vin unreadOnly: tools.unreadOnly outputParameters: - type: object mapping: $. - name: send-remote-command description: Send Remote Command hints: readOnly: false destructive: false idempotent: false call: connected-services-vehicles.sendremotecommand with: vin: tools.vin body: tools.body outputParameters: - type: object mapping: $. - name: get-service-history description: Get Service History hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getservicehistory with: vin: tools.vin outputParameters: - type: object mapping: $. - name: get-vehicle-status description: Get Vehicle Status hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.getvehiclestatus with: vin: tools.vin outputParameters: - type: object mapping: $. - name: refresh-vehicle-status description: Refresh Vehicle Status hints: readOnly: false destructive: false idempotent: false call: connected-services-vehicles.refreshvehiclestatus with: vin: tools.vin body: tools.body outputParameters: - type: object mapping: $. - name: get-trips description: Get Trips hints: readOnly: true destructive: false idempotent: true call: connected-services-vehicles.gettrips with: vin: tools.vin fromDate: tools.fromDate toDate: tools.toDate limit: tools.limit offset: tools.offset includeRoute: tools.includeRoute includeSummary: tools.includeSummary outputParameters: - type: object mapping: $.