naftiko: 1.0.0-alpha2 info: label: Vendure Admin API — Channels & Sellers description: >- Vendure Admin API capability for multi-channel and multi-seller configuration: channels, sellers, stock locations, currency, default channel. tags: - Vendure - Admin - Channels - Sellers - Multi-Tenant created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: VENDURE_ADMIN_API_URL: VENDURE_ADMIN_API_URL VENDURE_ADMIN_TOKEN: VENDURE_ADMIN_TOKEN capability: consumes: - type: http namespace: admin-channels baseUri: '{{env.VENDURE_ADMIN_API_URL}}' description: Vendure Admin GraphQL endpoint for channel and seller operations. resources: - name: admin-graphql path: / operations: - { name: queryChannels, method: POST, description: List channels., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: queryChannel, method: POST, description: Get a channel., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: createChannel, method: POST, description: Create a channel., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: updateChannel, method: POST, description: Update a channel., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: querySellers, method: POST, description: List sellers., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: createSeller, method: POST, description: Create a seller., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: queryStockLocations, method: POST, description: List stock locations., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } - { name: createStockLocation, method: POST, description: Create a stock location., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] } authentication: type: bearer token: '{{env.VENDURE_ADMIN_TOKEN}}' exposes: - type: rest namespace: admin-channels-rest port: 8080 description: REST adapter exposing Admin channel operations. resources: - { path: /v1/admin/channels/query, name: channels, operations: [ { method: POST, name: queryChannels, call: admin-channels.queryChannels, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/channel/query, name: channel, operations: [ { method: POST, name: queryChannel, call: admin-channels.queryChannel, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/channel/create, name: channel-create, operations: [ { method: POST, name: createChannel, call: admin-channels.createChannel, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/channel/update, name: channel-update, operations: [ { method: POST, name: updateChannel, call: admin-channels.updateChannel, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/sellers/query, name: sellers, operations: [ { method: POST, name: querySellers, call: admin-channels.querySellers, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/seller/create, name: seller-create, operations: [ { method: POST, name: createSeller, call: admin-channels.createSeller, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/stock-locations/query, name: stock-locations, operations: [ { method: POST, name: queryStockLocations, call: admin-channels.queryStockLocations, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - { path: /v1/admin/stock-location/create, name: stock-location-create, operations: [ { method: POST, name: createStockLocation, call: admin-channels.createStockLocation, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] } - type: mcp namespace: admin-channels-mcp port: 9090 transport: http description: MCP adapter — one tool per Admin channel/seller operation. tools: - { name: vendure-admin-list-channels, description: List channels., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-channels.queryChannels, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-get-channel, description: Get a channel., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-channels.queryChannel, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-create-channel, description: Create a channel., hints: { readOnly: false, destructive: false, idempotent: false }, call: admin-channels.createChannel, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-update-channel, description: Update a channel., hints: { readOnly: false, destructive: false, idempotent: true }, call: admin-channels.updateChannel, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-list-sellers, description: List sellers., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-channels.querySellers, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-create-seller, description: Create a seller., hints: { readOnly: false, destructive: false, idempotent: false }, call: admin-channels.createSeller, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-list-stock-locations, description: List stock locations., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-channels.queryStockLocations, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] } - { name: vendure-admin-create-stock-location, description: Create a stock location., hints: { readOnly: false, destructive: false, idempotent: false }, call: admin-channels.createStockLocation, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }