VTEX · Capability

VTEX ID — Authentication

VTEX ID — Authentication. 5 operations. Lead operation: VTex Generate authentication token. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexAuthentication

What You Can Do

POST
Post — VTex Generate authentication token
/v1/api/vtexid/apptoken/login
POST
Post — Exchange OAuth access token for VTEX credential
/v1/api/vtexid/audience/webstore/provider/oauth/exchange
POST
Post — VTex Check authenticated user
/v1/api/vtexid/credential/validate
POST
Post — VTex Expire user password
/v1/api/vtexid/password/expire
POST
Post — VTex Enable or disable repeated passwords
/v1/api/vtexid/pub/providers/setup/password/webstore/password

MCP Tools

vtex-generate-authentication-token

VTex Generate authentication token

exchange-oauth-access-token-vtex

Exchange OAuth access token for VTEX credential

vtex-check-authenticated-user

VTex Check authenticated user

read-only
vtex-expire-user-password

VTex Expire user password

vtex-enable-disable-repeated-passwords

VTex Enable or disable repeated passwords

Capability Spec

id-authentication.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTEX ID — Authentication
  description: 'VTEX ID — Authentication. 5 operations. Lead operation: VTex Generate authentication token. Self-contained
    Naftiko capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Authentication
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: id-authentication
    baseUri: https://{accountName}.{environment}.com.br
    description: VTEX ID — Authentication business capability. Self-contained, no shared references.
    resources:
    - name: api-vtexid-apptoken-login
      path: /api/vtexid/apptoken/login
      operations:
      - name: post
        method: POST
        description: VTex Generate authentication token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-vtexid-audience-webstore-provider-oauth-exchange
      path: /api/vtexid/audience/webstore/provider/oauth/exchange
      operations:
      - name: post
        method: POST
        description: Exchange OAuth access token for VTEX credential
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-vtexid-credential-validate
      path: /api/vtexid/credential/validate
      operations:
      - name: post
        method: POST
        description: VTex Check authenticated user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-vtexid-password-expire
      path: /api/vtexid/password/expire
      operations:
      - name: post
        method: POST
        description: VTex Expire user password
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: email
          in: query
          type: string
          description: User email.
          required: true
    - name: api-vtexid-pub-providers-setup-password-webstore-password
      path: /api/vtexid/pub/providers/setup/password/webstore/password
      operations:
      - name: post
        method: POST
        description: VTex Enable or disable repeated passwords
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: id-authentication-rest
    port: 8080
    description: REST adapter for VTEX ID — Authentication. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/vtexid/apptoken/login
      name: api-vtexid-apptoken-login
      description: REST surface for api-vtexid-apptoken-login.
      operations:
      - method: POST
        name: post
        description: VTex Generate authentication token
        call: id-authentication.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/vtexid/audience/webstore/provider/oauth/exchange
      name: api-vtexid-audience-webstore-provider-oauth-exchange
      description: REST surface for api-vtexid-audience-webstore-provider-oauth-exchange.
      operations:
      - method: POST
        name: post
        description: Exchange OAuth access token for VTEX credential
        call: id-authentication.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/vtexid/credential/validate
      name: api-vtexid-credential-validate
      description: REST surface for api-vtexid-credential-validate.
      operations:
      - method: POST
        name: post
        description: VTex Check authenticated user
        call: id-authentication.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/vtexid/password/expire
      name: api-vtexid-password-expire
      description: REST surface for api-vtexid-password-expire.
      operations:
      - method: POST
        name: post
        description: VTex Expire user password
        call: id-authentication.post
        with:
          email: rest.email
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/vtexid/pub/providers/setup/password/webstore/password
      name: api-vtexid-pub-providers-setup-password-webstore-password
      description: REST surface for api-vtexid-pub-providers-setup-password-webstore-password.
      operations:
      - method: POST
        name: post
        description: VTex Enable or disable repeated passwords
        call: id-authentication.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: id-authentication-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTEX ID — Authentication. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: vtex-generate-authentication-token
      description: VTex Generate authentication token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: id-authentication.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: exchange-oauth-access-token-vtex
      description: Exchange OAuth access token for VTEX credential
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: id-authentication.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-check-authenticated-user
      description: VTex Check authenticated user
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: id-authentication.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-expire-user-password
      description: VTex Expire user password
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: id-authentication.post
      with:
        email: tools.email
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-enable-disable-repeated-passwords
      description: VTex Enable or disable repeated passwords
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: id-authentication.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.