Volkswagen · Capability

Volkswagen OKAPI - Open Konfigurator API — Catalog

Volkswagen OKAPI - Open Konfigurator API — Catalog. 5 operations. Lead operation: List Brands By Country. Self-contained Naftiko capability covering one Volkswagen business surface.

Run with Naftiko VolkswagenCatalog

What You Can Do

GET
Listbrandsbycountry — List Brands By Country
/v1/catalog/{countrycode}/brands
GET
Listmodelsbybrand — List Models By Brand
/v1/catalog/{countrycode}/brands/{brandid}/models
GET
Listtypesbymodel — List Types By Model
/v1/catalog/{countrycode}/models/{modelid}/types
GET
Listoptionsbytype — List Options By Type
/v1/catalog/{countrycode}/types/{typeid}/options
GET
Listcountries — List Available Countries
/v1/countries

MCP Tools

list-brands-country

List Brands By Country

read-only idempotent
list-models-brand

List Models By Brand

read-only idempotent
list-types-model

List Types By Model

read-only idempotent
list-options-type

List Options By Type

read-only idempotent
list-available-countries

List Available Countries

read-only idempotent

Capability Spec

okapi-catalog.yaml Raw ↑
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: $.