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: $.