VTEX · Capability

VTEX Do API — Note

VTEX Do API — Note. 3 operations. Lead operation: VTex Create Note. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexNote

What You Can Do

POST
Newnote — VTex Create Note
/v1/notes
GET
Getnotesbyorderid — VTex Get Notes by orderId
/v1/notes
GET
Getnote — VTex Retrieve Note
/v1/notes/{noteid}

MCP Tools

vtex-create-note

VTex Create Note

vtex-get-notes-orderid

VTex Get Notes by orderId

read-only idempotent
vtex-retrieve-note

VTex Retrieve Note

read-only idempotent

Capability Spec

do-note.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTEX Do API — Note
  description: 'VTEX Do API — Note. 3 operations. Lead operation: VTex Create Note. Self-contained Naftiko capability covering
    one Vtex business surface.'
  tags:
  - Vtex
  - Note
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: do-note
    baseUri: https://{accountName}.{environment}.com.br/api/do
    description: VTEX Do API — Note business capability. Self-contained, no shared references.
    resources:
    - name: notes
      path: /notes
      operations:
      - name: newnote
        method: POST
        description: VTex Create Note
        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: false
      - name: getnotesbyorderid
        method: GET
        description: VTex Get Notes by orderId
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: target.id
          in: query
          type: string
          description: ID of the order.
          required: true
        - name: perPage
          in: query
          type: integer
          description: 'Number of notes per page. Maximum: 30.'
        - name: page
          in: query
          type: integer
          description: Number of the page to be retrieved.
        - 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: notes-noteId
      path: /notes/{noteId}
      operations:
      - name: getnote
        method: GET
        description: VTex Retrieve Note
        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: noteId
          in: path
          type: string
          description: Note's ID.
          required: true
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: do-note-rest
    port: 8080
    description: REST adapter for VTEX Do API — Note. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/notes
      name: notes
      description: REST surface for notes.
      operations:
      - method: POST
        name: newnote
        description: VTex Create Note
        call: do-note.newnote
        with:
          Accept: rest.Accept
          Content-Type: rest.Content-Type
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getnotesbyorderid
        description: VTex Get Notes by orderId
        call: do-note.getnotesbyorderid
        with:
          target.id: rest.target.id
          perPage: rest.perPage
          page: rest.page
          Accept: rest.Accept
          Content-Type: rest.Content-Type
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/notes/{noteid}
      name: notes-noteid
      description: REST surface for notes-noteId.
      operations:
      - method: GET
        name: getnote
        description: VTex Retrieve Note
        call: do-note.getnote
        with:
          Accept: rest.Accept
          Content-Type: rest.Content-Type
          noteId: rest.noteId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: do-note-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTEX Do API — Note. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: vtex-create-note
      description: VTex Create Note
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: do-note.newnote
      with:
        Accept: tools.Accept
        Content-Type: tools.Content-Type
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-notes-orderid
      description: VTex Get Notes by orderId
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: do-note.getnotesbyorderid
      with:
        target.id: tools.target.id
        perPage: tools.perPage
        page: tools.page
        Accept: tools.Accept
        Content-Type: tools.Content-Type
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-retrieve-note
      description: VTex Retrieve Note
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: do-note.getnote
      with:
        Accept: tools.Accept
        Content-Type: tools.Content-Type
        noteId: tools.noteId
      outputParameters:
      - type: object
        mapping: $.