VTEX · Capability

VTex Giftcard Provider Protocol — Gift Cards

VTex Giftcard Provider Protocol — Gift Cards. 3 operations. Lead operation: VTex Create a gift card. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexGift Cards

What You Can Do

POST
Creategiftcard — VTex Create a gift card
/v1/giftcards
POST
Listallgiftcards — VTex List all gift cards
/v1/giftcards/search
GET
Getgiftcardbyid — VTex Get a gift card by ID
/v1/giftcards/{giftcardid}

MCP Tools

vtex-create-gift-card

VTex Create a gift card

vtex-list-all-gift-cards

VTex List all gift cards

read-only
vtex-get-gift-card-id

VTex Get a gift card by ID

read-only idempotent

Capability Spec

gift-card-provider-protocol-gift-cards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Giftcard Provider Protocol — Gift Cards
  description: 'VTex Giftcard Provider Protocol — Gift Cards. 3 operations. Lead operation: VTex Create a gift card. Self-contained
    Naftiko capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Gift Cards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: gift-card-provider-protocol-gift-cards
    baseUri: https://{providerApiEndpoint}
    description: VTex Giftcard Provider Protocol — Gift Cards business capability. Self-contained, no shared references.
    resources:
    - name: giftcards
      path: /giftcards
      operations:
      - name: creategiftcard
        method: POST
        description: VTex Create a gift card
        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: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: giftcards-_search
      path: /giftcards/_search
      operations:
      - name: listallgiftcards
        method: POST
        description: VTex List all gift cards
        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: REST-Range
          in: header
          type: string
          description: Pagination control. This query variable must follow the format _resources={from}-{to}_.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: giftcards-giftCardId
      path: /giftcards/{giftCardId}
      operations:
      - name: getgiftcardbyid
        method: GET
        description: VTex Get a gift card 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: giftCardId
          in: path
          type: string
          description: Gift card identification.
          required: true
    authentication:
      type: apikey
      key: X-PROVIDER-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: gift-card-provider-protocol-gift-cards-rest
    port: 8080
    description: REST adapter for VTex Giftcard Provider Protocol — Gift Cards. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/giftcards
      name: giftcards
      description: REST surface for giftcards.
      operations:
      - method: POST
        name: creategiftcard
        description: VTex Create a gift card
        call: gift-card-provider-protocol-gift-cards.creategiftcard
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/search
      name: giftcards-search
      description: REST surface for giftcards-_search.
      operations:
      - method: POST
        name: listallgiftcards
        description: VTex List all gift cards
        call: gift-card-provider-protocol-gift-cards.listallgiftcards
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          REST-Range: rest.REST-Range
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/{giftcardid}
      name: giftcards-giftcardid
      description: REST surface for giftcards-giftCardId.
      operations:
      - method: GET
        name: getgiftcardbyid
        description: VTex Get a gift card by ID
        call: gift-card-provider-protocol-gift-cards.getgiftcardbyid
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gift-card-provider-protocol-gift-cards-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Giftcard Provider Protocol — Gift Cards. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: vtex-create-gift-card
      description: VTex Create a gift card
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gift-card-provider-protocol-gift-cards.creategiftcard
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-all-gift-cards
      description: VTex List all gift cards
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: gift-card-provider-protocol-gift-cards.listallgiftcards
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        REST-Range: tools.REST-Range
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-gift-card-id
      description: VTex Get a gift card by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-gift-cards.getgiftcardbyid
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
      outputParameters:
      - type: object
        mapping: $.