VTEX · Capability

VTex Logistics API — Reservations

VTex Logistics API — Reservations. 6 operations. Lead operation: VTex Create reservation. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexReservations

What You Can Do

POST
Createreservation — VTex Create reservation
/v1/api/logistics/pvt/inventory/reservations
GET
Reservationbyid — VTex List reservation by ID
/v1/api/logistics/pvt/inventory/reservations/{reservationid}
POST
Acknowledgmentreservation — VTex Acknowledgment reservation
/v1/api/logistics/pvt/inventory/reservations/{reservationid}/acknowledge
POST
Cancelreservation — VTex Cancel reservation
/v1/api/logistics/pvt/inventory/reservations/{reservationid}/cancel
POST
Confirmreservation — VTex Confirm reservation
/v1/api/logistics/pvt/inventory/reservations/{reservationid}/confirm
GET
Reservationbywarehouseandsku — VTex List reservation by warehouse and SKU
/v1/api/logistics/pvt/inventory/reservations/{warehouseid}/{skuid}

MCP Tools

vtex-create-reservation

VTex Create reservation

vtex-list-reservation-id

VTex List reservation by ID

read-only idempotent
vtex-acknowledgment-reservation

VTex Acknowledgment reservation

vtex-cancel-reservation

VTex Cancel reservation

vtex-confirm-reservation

VTex Confirm reservation

vtex-list-reservation-warehouse-and

VTex List reservation by warehouse and SKU

read-only idempotent

Capability Spec

logistics-reservations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Logistics API — Reservations
  description: 'VTex Logistics API — Reservations. 6 operations. Lead operation: VTex Create reservation. Self-contained Naftiko
    capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Reservations
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: logistics-reservations
    baseUri: https://{accountName}.{environment}.com.br
    description: VTex Logistics API — Reservations business capability. Self-contained, no shared references.
    resources:
    - name: api-logistics-pvt-inventory-reservations
      path: /api/logistics/pvt/inventory/reservations
      operations:
      - name: createreservation
        method: POST
        description: VTex Create reservation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-logistics-pvt-inventory-reservations-reservationId
      path: /api/logistics/pvt/inventory/reservations/{reservationId}
      operations:
      - name: reservationbyid
        method: GET
        description: VTex List reservation by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: reservationId
          in: path
          type: string
          required: true
    - name: api-logistics-pvt-inventory-reservations-reservationId-acknowledge
      path: /api/logistics/pvt/inventory/reservations/{reservationId}/acknowledge
      operations:
      - name: acknowledgmentreservation
        method: POST
        description: VTex Acknowledgment reservation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: reservationId
          in: path
          type: string
          required: true
    - name: api-logistics-pvt-inventory-reservations-reservationId-cancel
      path: /api/logistics/pvt/inventory/reservations/{reservationId}/cancel
      operations:
      - name: cancelreservation
        method: POST
        description: VTex Cancel reservation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: reservationId
          in: path
          type: string
          required: true
    - name: api-logistics-pvt-inventory-reservations-reservationId-confirm
      path: /api/logistics/pvt/inventory/reservations/{reservationId}/confirm
      operations:
      - name: confirmreservation
        method: POST
        description: VTex Confirm reservation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: reservationId
          in: path
          type: string
          required: true
    - name: api-logistics-pvt-inventory-reservations-warehouseId-skuId
      path: /api/logistics/pvt/inventory/reservations/{warehouseId}/{skuId}
      operations:
      - name: reservationbywarehouseandsku
        method: GET
        description: VTex List reservation by warehouse and SKU
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Content-Type
          in: header
          type: string
          description: Type of the content being sent.
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: warehouseId
          in: path
          type: string
          required: true
        - name: skuId
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: logistics-reservations-rest
    port: 8080
    description: REST adapter for VTex Logistics API — Reservations. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/logistics/pvt/inventory/reservations
      name: api-logistics-pvt-inventory-reservations
      description: REST surface for api-logistics-pvt-inventory-reservations.
      operations:
      - method: POST
        name: createreservation
        description: VTex Create reservation
        call: logistics-reservations.createreservation
        with:
          Accept: rest.Accept
          Content-Type: rest.Content-Type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/logistics/pvt/inventory/reservations/{reservationid}
      name: api-logistics-pvt-inventory-reservations-reservationid
      description: REST surface for api-logistics-pvt-inventory-reservations-reservationId.
      operations:
      - method: GET
        name: reservationbyid
        description: VTex List reservation by ID
        call: logistics-reservations.reservationbyid
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          reservationId: rest.reservationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/logistics/pvt/inventory/reservations/{reservationid}/acknowledge
      name: api-logistics-pvt-inventory-reservations-reservationid-acknowledge
      description: REST surface for api-logistics-pvt-inventory-reservations-reservationId-acknowledge.
      operations:
      - method: POST
        name: acknowledgmentreservation
        description: VTex Acknowledgment reservation
        call: logistics-reservations.acknowledgmentreservation
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          reservationId: rest.reservationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/logistics/pvt/inventory/reservations/{reservationid}/cancel
      name: api-logistics-pvt-inventory-reservations-reservationid-cancel
      description: REST surface for api-logistics-pvt-inventory-reservations-reservationId-cancel.
      operations:
      - method: POST
        name: cancelreservation
        description: VTex Cancel reservation
        call: logistics-reservations.cancelreservation
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          reservationId: rest.reservationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/logistics/pvt/inventory/reservations/{reservationid}/confirm
      name: api-logistics-pvt-inventory-reservations-reservationid-confirm
      description: REST surface for api-logistics-pvt-inventory-reservations-reservationId-confirm.
      operations:
      - method: POST
        name: confirmreservation
        description: VTex Confirm reservation
        call: logistics-reservations.confirmreservation
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          reservationId: rest.reservationId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/logistics/pvt/inventory/reservations/{warehouseid}/{skuid}
      name: api-logistics-pvt-inventory-reservations-warehouseid-skuid
      description: REST surface for api-logistics-pvt-inventory-reservations-warehouseId-skuId.
      operations:
      - method: GET
        name: reservationbywarehouseandsku
        description: VTex List reservation by warehouse and SKU
        call: logistics-reservations.reservationbywarehouseandsku
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          warehouseId: rest.warehouseId
          skuId: rest.skuId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: logistics-reservations-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Logistics API — Reservations. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: vtex-create-reservation
      description: VTex Create reservation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: logistics-reservations.createreservation
      with:
        Accept: tools.Accept
        Content-Type: tools.Content-Type
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-reservation-id
      description: VTex List reservation by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: logistics-reservations.reservationbyid
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        reservationId: tools.reservationId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-acknowledgment-reservation
      description: VTex Acknowledgment reservation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: logistics-reservations.acknowledgmentreservation
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        reservationId: tools.reservationId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-cancel-reservation
      description: VTex Cancel reservation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: logistics-reservations.cancelreservation
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        reservationId: tools.reservationId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-confirm-reservation
      description: VTex Confirm reservation
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: logistics-reservations.confirmreservation
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        reservationId: tools.reservationId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-reservation-warehouse-and
      description: VTex List reservation by warehouse and SKU
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: logistics-reservations.reservationbywarehouseandsku
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        warehouseId: tools.warehouseId
        skuId: tools.skuId
      outputParameters:
      - type: object
        mapping: $.