VTEX · Capability

VTex Profile System - PII data architecture — Addresses

VTex Profile System - PII data architecture — Addresses. 9 operations. Lead operation: VTex Create client address. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexAddresses

What You Can Do

POST
Createclientaddress — VTex Create client address
/v1/api/storage/profile-system/profiles/{profileid}/addresses
GET
Getclientaddresses — VTex Get client addresses
/v1/api/storage/profile-system/profiles/{profileid}/addresses
GET
Getunmaskedclientaddresses — VTex Get unmasked client addresses
/v1/api/storage/profile-system/profiles/{profileid}/addresses/unmask
GET
Getaddress — VTex Get address
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}
PATCH
Updateclientaddress — VTex Update client address
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}
DELETE
Deleteaddress — VTex Delete address
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}
GET
Getunmaskedaddress — VTex Get unmasked address
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/unmask
GET
Getaddressbyversion — VTex Get address by version
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/versions/{addressversionid}
GET
Getunmaskedaddressbyversion — VTex Get unmasked address by version
/v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/versions/{addressversionid}/unmask

MCP Tools

vtex-create-client-address

VTex Create client address

vtex-get-client-addresses

VTex Get client addresses

read-only idempotent
vtex-get-unmasked-client-addresses

VTex Get unmasked client addresses

read-only idempotent
vtex-get-address

VTex Get address

read-only idempotent
vtex-update-client-address

VTex Update client address

idempotent
vtex-delete-address

VTex Delete address

idempotent
vtex-get-unmasked-address

VTex Get unmasked address

read-only idempotent
vtex-get-address-version

VTex Get address by version

read-only idempotent
vtex-get-unmasked-address-version

VTex Get unmasked address by version

read-only idempotent

Capability Spec

profile-system-addresses.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Profile System - PII data architecture — Addresses
  description: 'VTex Profile System - PII data architecture — Addresses. 9 operations. Lead operation: VTex Create client
    address. Self-contained Naftiko capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Addresses
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: profile-system-addresses
    baseUri: https://{accountName}.{environment}.com.br
    description: VTex Profile System - PII data architecture — Addresses business capability. Self-contained, no shared references.
    resources:
    - name: api-storage-profile-system-profiles-profileId-addresses
      path: /api/storage/profile-system/profiles/{profileId}/addresses
      operations:
      - name: createclientaddress
        method: POST
        description: VTex Create client address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: getclientaddresses
        method: GET
        description: VTex Get client addresses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-profile-system-profiles-profileId-addresses-unmask
      path: /api/storage/profile-system/profiles/{profileId}/addresses/unmask
      operations:
      - name: getunmaskedclientaddresses
        method: GET
        description: VTex Get unmasked client addresses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-profile-system-profiles-profileId-addresses-addressId
      path: /api/storage/profile-system/profiles/{profileId}/addresses/{addressId}
      operations:
      - name: getaddress
        method: GET
        description: VTex Get address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateclientaddress
        method: PATCH
        description: VTex Update client address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteaddress
        method: DELETE
        description: VTex Delete address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-profile-system-profiles-profileId-addresses-addressId-unmask
      path: /api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/unmask
      operations:
      - name: getunmaskedaddress
        method: GET
        description: VTex Get unmasked address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-profile-system-profiles-profileId-addresses-addressId-versions-addre
      path: /api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/versions/{addressVersionId}
      operations:
      - name: getaddressbyversion
        method: GET
        description: VTex Get address by version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-storage-profile-system-profiles-profileId-addresses-addressId-versions-addre
      path: /api/storage/profile-system/profiles/{profileId}/addresses/{addressId}/versions/{addressVersionId}/unmask
      operations:
      - name: getunmaskedaddressbyversion
        method: GET
        description: VTex Get unmasked address by version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: profile-system-addresses-rest
    port: 8080
    description: REST adapter for VTex Profile System - PII data architecture — Addresses. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses
      name: api-storage-profile-system-profiles-profileid-addresses
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses.
      operations:
      - method: POST
        name: createclientaddress
        description: VTex Create client address
        call: profile-system-addresses.createclientaddress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getclientaddresses
        description: VTex Get client addresses
        call: profile-system-addresses.getclientaddresses
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses/unmask
      name: api-storage-profile-system-profiles-profileid-addresses-unmask
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses-unmask.
      operations:
      - method: GET
        name: getunmaskedclientaddresses
        description: VTex Get unmasked client addresses
        call: profile-system-addresses.getunmaskedclientaddresses
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}
      name: api-storage-profile-system-profiles-profileid-addresses-addressid
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses-addressId.
      operations:
      - method: GET
        name: getaddress
        description: VTex Get address
        call: profile-system-addresses.getaddress
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateclientaddress
        description: VTex Update client address
        call: profile-system-addresses.updateclientaddress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteaddress
        description: VTex Delete address
        call: profile-system-addresses.deleteaddress
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/unmask
      name: api-storage-profile-system-profiles-profileid-addresses-addressid-unmask
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses-addressId-unmask.
      operations:
      - method: GET
        name: getunmaskedaddress
        description: VTex Get unmasked address
        call: profile-system-addresses.getunmaskedaddress
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/versions/{addressversionid}
      name: api-storage-profile-system-profiles-profileid-addresses-addressid-versions-addre
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses-addressId-versions-addre.
      operations:
      - method: GET
        name: getaddressbyversion
        description: VTex Get address by version
        call: profile-system-addresses.getaddressbyversion
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/storage/profile-system/profiles/{profileid}/addresses/{addressid}/versions/{addressversionid}/unmask
      name: api-storage-profile-system-profiles-profileid-addresses-addressid-versions-addre
      description: REST surface for api-storage-profile-system-profiles-profileId-addresses-addressId-versions-addre.
      operations:
      - method: GET
        name: getunmaskedaddressbyversion
        description: VTex Get unmasked address by version
        call: profile-system-addresses.getunmaskedaddressbyversion
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: profile-system-addresses-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Profile System - PII data architecture — Addresses. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: vtex-create-client-address
      description: VTex Create client address
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: profile-system-addresses.createclientaddress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-client-addresses
      description: VTex Get client addresses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getclientaddresses
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-unmasked-client-addresses
      description: VTex Get unmasked client addresses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getunmaskedclientaddresses
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-address
      description: VTex Get address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getaddress
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-update-client-address
      description: VTex Update client address
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: profile-system-addresses.updateclientaddress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-delete-address
      description: VTex Delete address
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: profile-system-addresses.deleteaddress
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-unmasked-address
      description: VTex Get unmasked address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getunmaskedaddress
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-address-version
      description: VTex Get address by version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getaddressbyversion
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-get-unmasked-address-version
      description: VTex Get unmasked address by version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: profile-system-addresses.getunmaskedaddressbyversion
      outputParameters:
      - type: object
        mapping: $.