Vendure Shop API — Checkout
Vendure Shop API capability for completing checkout: set shipping and billing addresses, select eligible shipping methods, transition order state, add payments. Backed by the Shop GraphQL endpoint.
Vendure Shop API — Checkout is a Naftiko capability published by Vendure, one of 10 capabilities the APIs.io network indexes for this provider. It bundles 7 operations across the POST method rooted at /v1/checkout.
The capability includes 2 read-only operations and 5 state-changing operations. Lead operation: Set the shipping address on the active order. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.
Tagged areas include Vendure, Shop, Checkout, and Payment.
naftiko: 1.0.0-alpha2
info:
label: Vendure Shop API — Checkout
description: >-
Vendure Shop API capability for completing checkout: set shipping and
billing addresses, select eligible shipping methods, transition order
state, add payments. Backed by the Shop GraphQL endpoint.
tags:
- Vendure
- Shop
- Checkout
- Payment
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
VENDURE_SHOP_API_URL: VENDURE_SHOP_API_URL
VENDURE_AUTH_TOKEN: VENDURE_AUTH_TOKEN
capability:
consumes:
- type: http
namespace: shop-checkout
baseUri: '{{env.VENDURE_SHOP_API_URL}}'
description: Vendure Shop GraphQL endpoint for checkout operations.
resources:
- name: shop-graphql
path: /
operations:
- name: setOrderShippingAddress
method: POST
description: Set the shipping address on the active order.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: setOrderBillingAddress
method: POST
description: Set the billing address on the active order.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: setOrderShippingMethod
method: POST
description: Choose a shipping method on the active order.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: eligibleShippingMethods
method: POST
description: List eligible shipping methods for the active order.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: eligiblePaymentMethods
method: POST
description: List eligible payment methods for the active order.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: transitionOrderToState
method: POST
description: Transition the active order to a new state.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
- name: addPaymentToOrder
method: POST
description: Add a payment to the active order using a payment method handler.
outputRawFormat: json
outputParameters: [ { name: result, type: object, value: $. } ]
inputParameters: [ { name: body, in: body, type: object, required: true } ]
authentication:
type: bearer
token: '{{env.VENDURE_AUTH_TOKEN}}'
exposes:
- type: rest
namespace: shop-checkout-rest
port: 8080
description: REST adapter exposing checkout operations.
resources:
- path: /v1/checkout/shipping-address
name: shipping-address
operations:
- method: POST
name: setOrderShippingAddress
call: shop-checkout.setOrderShippingAddress
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/billing-address
name: billing-address
operations:
- method: POST
name: setOrderBillingAddress
call: shop-checkout.setOrderBillingAddress
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/shipping-method
name: shipping-method
operations:
- method: POST
name: setOrderShippingMethod
call: shop-checkout.setOrderShippingMethod
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/eligible-shipping-methods
name: eligible-shipping-methods
operations:
- method: POST
name: eligibleShippingMethods
call: shop-checkout.eligibleShippingMethods
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/eligible-payment-methods
name: eligible-payment-methods
operations:
- method: POST
name: eligiblePaymentMethods
call: shop-checkout.eligiblePaymentMethods
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/transition
name: transition
operations:
- method: POST
name: transitionOrderToState
call: shop-checkout.transitionOrderToState
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- path: /v1/checkout/payment
name: payment
operations:
- method: POST
name: addPaymentToOrder
call: shop-checkout.addPaymentToOrder
with: { body: rest.body }
outputParameters: [ { type: object, mapping: $. } ]
- type: mcp
namespace: shop-checkout-mcp
port: 9090
transport: http
description: MCP adapter — one tool per checkout operation.
tools:
- name: vendure-shop-set-shipping-address
description: Set the shipping address on the active order.
hints: { readOnly: false, destructive: false, idempotent: true }
call: shop-checkout.setOrderShippingAddress
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-set-billing-address
description: Set the billing address on the active order.
hints: { readOnly: false, destructive: false, idempotent: true }
call: shop-checkout.setOrderBillingAddress
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-set-shipping-method
description: Choose a shipping method.
hints: { readOnly: false, destructive: false, idempotent: true }
call: shop-checkout.setOrderShippingMethod
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-eligible-shipping
description: List eligible shipping methods.
hints: { readOnly: true, destructive: false, idempotent: true }
call: shop-checkout.eligibleShippingMethods
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-eligible-payment
description: List eligible payment methods.
hints: { readOnly: true, destructive: false, idempotent: true }
call: shop-checkout.eligiblePaymentMethods
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-transition-order
description: Transition the active order to a new state.
hints: { readOnly: false, destructive: false, idempotent: false }
call: shop-checkout.transitionOrderToState
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]
- name: vendure-shop-add-payment
description: Add a payment to the active order.
hints: { readOnly: false, destructive: false, idempotent: false }
call: shop-checkout.addPaymentToOrder
with: { body: tools.body }
outputParameters: [ { type: object, mapping: $. } ]