VTEX · Capability

VTex Giftcard Provider Protocol — Transactions

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

Run with Naftiko VtexTransactions

What You Can Do

POST
Creategiftcardtransaction — VTex Create a gift card transaction
/v1/giftcards/{giftcardid}/transactions
GET
Listallgiftcardtransactions — VTex List all gift card transactions
/v1/giftcards/{giftcardid}/transactions
POST
Creategiftcardtransactionsettlement — VTex Settle a gift card transaction
/v1/giftcards/{giftcardid}/transactions/{tid}/settlements
GET
Listallgiftcardtransactionssettlements — VTex List all gift card transactions settlements
/v1/giftcards/{giftcardid}/transactions/{tid}/settlements
GET
Getgiftcardtransactionbyid — VTex Get a gift card transaction by ID
/v1/giftcards/{giftcardid}/transactions/{transactionid}
GET
Getgiftcardtransactionauthorization — VTex Get a gift card transaction authorization
/v1/giftcards/{giftcardid}/transactions/{transactionid}/authorization
POST
Creategiftcardtransactioncancellation — VTex Cancel a gift card transaction
/v1/giftcards/{giftcardid}/transactions/{transactionid}/cancellations
GET
Listallgiftcardtransactionscancellations — VTex List all gift card transactions cancellations
/v1/giftcards/{giftcardid}/transactions/{transactionid}/cancellations

MCP Tools

vtex-create-gift-card-transaction

VTex Create a gift card transaction

vtex-list-all-gift-card

VTex List all gift card transactions

read-only idempotent
vtex-settle-gift-card-transaction

VTex Settle a gift card transaction

vtex-list-all-gift-card-2

VTex List all gift card transactions settlements

read-only idempotent
vtex-get-gift-card-transaction

VTex Get a gift card transaction by ID

read-only idempotent
vtex-get-gift-card-transaction-2

VTex Get a gift card transaction authorization

read-only idempotent
vtex-cancel-gift-card-transaction

VTex Cancel a gift card transaction

vtex-list-all-gift-card-3

VTex List all gift card transactions cancellations

read-only idempotent

Capability Spec

gift-card-provider-protocol-transactions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Giftcard Provider Protocol — Transactions
  description: 'VTex Giftcard Provider Protocol — Transactions. 8 operations. Lead operation: VTex Create a gift card transaction.
    Self-contained Naftiko capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Transactions
  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-transactions
    baseUri: https://{providerApiEndpoint}
    description: VTex Giftcard Provider Protocol — Transactions business capability. Self-contained, no shared references.
    resources:
    - name: giftcards-giftCardId-transactions
      path: /giftcards/{giftCardId}/transactions
      operations:
      - name: creategiftcardtransaction
        method: POST
        description: VTex Create a gift card transaction
        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
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listallgiftcardtransactions
        method: GET
        description: VTex List all gift card transactions
        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
    - name: giftcards-giftCardId-transactions-tId-settlements
      path: /giftcards/{giftCardId}/transactions/{tId}/settlements
      operations:
      - name: creategiftcardtransactionsettlement
        method: POST
        description: VTex Settle a gift card transaction
        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
        - name: tId
          in: path
          type: string
          description: Transaction ID generated by the provider. It is different from the `transactionId` generated by VTEX.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listallgiftcardtransactionssettlements
        method: GET
        description: VTex List all gift card transactions settlements
        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
        - name: tId
          in: path
          type: string
          description: Transaction ID generated by the provider. It is different from the `transactionId` generated by VTEX.
          required: true
    - name: giftcards-giftCardId-transactions-transactionId
      path: /giftcards/{giftCardId}/transactions/{transactionId}
      operations:
      - name: getgiftcardtransactionbyid
        method: GET
        description: VTex Get a gift card transaction 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
        - name: transactionId
          in: path
          type: string
          description: Transaction identification.
          required: true
    - name: giftcards-giftCardId-transactions-transactionId-authorization
      path: /giftcards/{giftCardId}/transactions/{transactionId}/authorization
      operations:
      - name: getgiftcardtransactionauthorization
        method: GET
        description: VTex Get a gift card transaction authorization
        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
        - name: transactionId
          in: path
          type: string
          description: Transaction identification.
          required: true
    - name: giftcards-giftCardId-transactions-transactionId-cancellations
      path: /giftcards/{giftCardId}/transactions/{transactionId}/cancellations
      operations:
      - name: creategiftcardtransactioncancellation
        method: POST
        description: VTex Cancel a gift card transaction
        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
        - name: transactionId
          in: path
          type: string
          description: Transaction identification.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listallgiftcardtransactionscancellations
        method: GET
        description: VTex List all gift card transactions cancellations
        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
        - name: transactionId
          in: path
          type: string
          description: Transaction 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-transactions-rest
    port: 8080
    description: REST adapter for VTex Giftcard Provider Protocol — Transactions. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/giftcards/{giftcardid}/transactions
      name: giftcards-giftcardid-transactions
      description: REST surface for giftcards-giftCardId-transactions.
      operations:
      - method: POST
        name: creategiftcardtransaction
        description: VTex Create a gift card transaction
        call: gift-card-provider-protocol-transactions.creategiftcardtransaction
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listallgiftcardtransactions
        description: VTex List all gift card transactions
        call: gift-card-provider-protocol-transactions.listallgiftcardtransactions
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/{giftcardid}/transactions/{tid}/settlements
      name: giftcards-giftcardid-transactions-tid-settlements
      description: REST surface for giftcards-giftCardId-transactions-tId-settlements.
      operations:
      - method: POST
        name: creategiftcardtransactionsettlement
        description: VTex Settle a gift card transaction
        call: gift-card-provider-protocol-transactions.creategiftcardtransactionsettlement
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          tId: rest.tId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listallgiftcardtransactionssettlements
        description: VTex List all gift card transactions settlements
        call: gift-card-provider-protocol-transactions.listallgiftcardtransactionssettlements
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          tId: rest.tId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/{giftcardid}/transactions/{transactionid}
      name: giftcards-giftcardid-transactions-transactionid
      description: REST surface for giftcards-giftCardId-transactions-transactionId.
      operations:
      - method: GET
        name: getgiftcardtransactionbyid
        description: VTex Get a gift card transaction by ID
        call: gift-card-provider-protocol-transactions.getgiftcardtransactionbyid
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          transactionId: rest.transactionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/{giftcardid}/transactions/{transactionid}/authorization
      name: giftcards-giftcardid-transactions-transactionid-authorization
      description: REST surface for giftcards-giftCardId-transactions-transactionId-authorization.
      operations:
      - method: GET
        name: getgiftcardtransactionauthorization
        description: VTex Get a gift card transaction authorization
        call: gift-card-provider-protocol-transactions.getgiftcardtransactionauthorization
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          transactionId: rest.transactionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/giftcards/{giftcardid}/transactions/{transactionid}/cancellations
      name: giftcards-giftcardid-transactions-transactionid-cancellations
      description: REST surface for giftcards-giftCardId-transactions-transactionId-cancellations.
      operations:
      - method: POST
        name: creategiftcardtransactioncancellation
        description: VTex Cancel a gift card transaction
        call: gift-card-provider-protocol-transactions.creategiftcardtransactioncancellation
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          transactionId: rest.transactionId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listallgiftcardtransactionscancellations
        description: VTex List all gift card transactions cancellations
        call: gift-card-provider-protocol-transactions.listallgiftcardtransactionscancellations
        with:
          Content-Type: rest.Content-Type
          Accept: rest.Accept
          giftCardId: rest.giftCardId
          transactionId: rest.transactionId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gift-card-provider-protocol-transactions-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Giftcard Provider Protocol — Transactions. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: vtex-create-gift-card-transaction
      description: VTex Create a gift card transaction
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gift-card-provider-protocol-transactions.creategiftcardtransaction
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-all-gift-card
      description: VTex List all gift card transactions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-transactions.listallgiftcardtransactions
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-settle-gift-card-transaction
      description: VTex Settle a gift card transaction
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gift-card-provider-protocol-transactions.creategiftcardtransactionsettlement
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        tId: tools.tId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-all-gift-card-2
      description: VTex List all gift card transactions settlements
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-transactions.listallgiftcardtransactionssettlements
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        tId: tools.tId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-gift-card-transaction
      description: VTex Get a gift card transaction by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-transactions.getgiftcardtransactionbyid
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        transactionId: tools.transactionId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-gift-card-transaction-2
      description: VTex Get a gift card transaction authorization
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-transactions.getgiftcardtransactionauthorization
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        transactionId: tools.transactionId
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-cancel-gift-card-transaction
      description: VTex Cancel a gift card transaction
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gift-card-provider-protocol-transactions.creategiftcardtransactioncancellation
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        transactionId: tools.transactionId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-list-all-gift-card-3
      description: VTex List all gift card transactions cancellations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gift-card-provider-protocol-transactions.listallgiftcardtransactionscancellations
      with:
        Content-Type: tools.Content-Type
        Accept: tools.Accept
        giftCardId: tools.giftCardId
        transactionId: tools.transactionId
      outputParameters:
      - type: object
        mapping: $.