naftiko: 1.0.0-alpha2 info: label: Volkswagen OKAPI - Open Konfigurator API — Catalog description: 'Volkswagen OKAPI - Open Konfigurator API — Catalog. 5 operations. Lead operation: List Brands By Country. Self-contained Naftiko capability covering one Volkswagen business surface.' tags: - Volkswagen - Catalog created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VOLKSWAGEN_API_KEY: VOLKSWAGEN_API_KEY capability: consumes: - type: http namespace: okapi-catalog baseUri: https://productdata.volkswagenag.com/v3 description: Volkswagen OKAPI - Open Konfigurator API — Catalog business capability. Self-contained, no shared references. resources: - name: catalog-countryCode-brands path: /catalog/{countryCode}/brands operations: - name: listbrandsbycountry method: GET description: List Brands By Country outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog-countryCode-brands-brandId-models path: /catalog/{countryCode}/brands/{brandId}/models operations: - name: listmodelsbybrand method: GET description: List Models By Brand outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog-countryCode-models-modelId-types path: /catalog/{countryCode}/models/{modelId}/types operations: - name: listtypesbymodel method: GET description: List Types By Model outputRawFormat: json outputParameters: - name: result type: object value: $. - name: catalog-countryCode-types-typeId-options path: /catalog/{countryCode}/types/{typeId}/options operations: - name: listoptionsbytype method: GET description: List Options By Type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: countries path: /countries operations: - name: listcountries method: GET description: List Available Countries outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.VOLKSWAGEN_API_KEY}}' exposes: - type: rest namespace: okapi-catalog-rest port: 8080 description: REST adapter for Volkswagen OKAPI - Open Konfigurator API — Catalog. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/catalog/{countrycode}/brands name: catalog-countrycode-brands description: REST surface for catalog-countryCode-brands. operations: - method: GET name: listbrandsbycountry description: List Brands By Country call: okapi-catalog.listbrandsbycountry outputParameters: - type: object mapping: $. - path: /v1/catalog/{countrycode}/brands/{brandid}/models name: catalog-countrycode-brands-brandid-models description: REST surface for catalog-countryCode-brands-brandId-models. operations: - method: GET name: listmodelsbybrand description: List Models By Brand call: okapi-catalog.listmodelsbybrand outputParameters: - type: object mapping: $. - path: /v1/catalog/{countrycode}/models/{modelid}/types name: catalog-countrycode-models-modelid-types description: REST surface for catalog-countryCode-models-modelId-types. operations: - method: GET name: listtypesbymodel description: List Types By Model call: okapi-catalog.listtypesbymodel outputParameters: - type: object mapping: $. - path: /v1/catalog/{countrycode}/types/{typeid}/options name: catalog-countrycode-types-typeid-options description: REST surface for catalog-countryCode-types-typeId-options. operations: - method: GET name: listoptionsbytype description: List Options By Type call: okapi-catalog.listoptionsbytype outputParameters: - type: object mapping: $. - path: /v1/countries name: countries description: REST surface for countries. operations: - method: GET name: listcountries description: List Available Countries call: okapi-catalog.listcountries outputParameters: - type: object mapping: $. - type: mcp namespace: okapi-catalog-mcp port: 9090 transport: http description: MCP adapter for Volkswagen OKAPI - Open Konfigurator API — Catalog. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-brands-country description: List Brands By Country hints: readOnly: true destructive: false idempotent: true call: okapi-catalog.listbrandsbycountry outputParameters: - type: object mapping: $. - name: list-models-brand description: List Models By Brand hints: readOnly: true destructive: false idempotent: true call: okapi-catalog.listmodelsbybrand outputParameters: - type: object mapping: $. - name: list-types-model description: List Types By Model hints: readOnly: true destructive: false idempotent: true call: okapi-catalog.listtypesbymodel outputParameters: - type: object mapping: $. - name: list-options-type description: List Options By Type hints: readOnly: true destructive: false idempotent: true call: okapi-catalog.listoptionsbytype outputParameters: - type: object mapping: $. - name: list-available-countries description: List Available Countries hints: readOnly: true destructive: false idempotent: true call: okapi-catalog.listcountries outputParameters: - type: object mapping: $.