VTEX · Capability
VTex Subscriptions API (v3) — Reports
VTex Subscriptions API (v3) — Reports. 3 operations. Lead operation: VTex List report templates. Self-contained Naftiko capability covering one Vtex business surface.
What You Can Do
GET
Get
— VTex List report templates
/v1/api/rns/pvt/reports
POST
Post
— VTex Generate report
/v1/api/rns/pvt/reports/{reportname}/documents
GET
Get
— VTex Get report document details
/v1/api/rns/pvt/reports/{reportname}/documents/{documentid}
MCP Tools
vtex-list-report-templates
VTex List report templates
read-only
idempotent
vtex-generate-report
VTex Generate report
vtex-get-report-document-details
VTex Get report document details
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: VTex Subscriptions API (v3) — Reports
description: 'VTex Subscriptions API (v3) — Reports. 3 operations. Lead operation: VTex List report templates. Self-contained
Naftiko capability covering one Vtex business surface.'
tags:
- Vtex
- Reports
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
VTEX_API_KEY: VTEX_API_KEY
capability:
consumes:
- type: http
namespace: subscriptions-reports
baseUri: https://{accountName}.{environment}.com.br
description: VTex Subscriptions API (v3) — Reports business capability. Self-contained, no shared references.
resources:
- name: api-rns-pvt-reports
path: /api/rns/pvt/reports
operations:
- name: get
method: GET
description: VTex List report templates
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: api-rns-pvt-reports-reportName-documents
path: /api/rns/pvt/reports/{reportName}/documents
operations:
- name: post
method: POST
description: VTex Generate report
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: reportName
in: path
type: string
description: 'Name of the type of report in wish to generate. The following values are accepted: '
required: true
- name: email
in: query
type: string
description: The report is sent to the email in this field.
- name: beginDate
in: query
type: string
description: Start date of the report with the format `yyyy-mm-dd`. This field is required for any type of report.
- name: endDate
in: query
type: string
description: End date of the report with the format `yyyy-mm-dd`. This field is required for any type of report.
- 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: api-rns-pvt-reports-reportName-documents-documentId
path: /api/rns/pvt/reports/{reportName}/documents/{documentId}
operations:
- name: get
method: GET
description: VTex Get report document details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: reportName
in: path
type: string
description: Name of the report
required: true
- name: documentId
in: path
type: string
description: Id from the desired report document
required: true
- 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
authentication:
type: apikey
key: X-VTEX-API-AppKey
value: '{{env.VTEX_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: subscriptions-reports-rest
port: 8080
description: REST adapter for VTex Subscriptions API (v3) — Reports. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/api/rns/pvt/reports
name: api-rns-pvt-reports
description: REST surface for api-rns-pvt-reports.
operations:
- method: GET
name: get
description: VTex List report templates
call: subscriptions-reports.get
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/api/rns/pvt/reports/{reportname}/documents
name: api-rns-pvt-reports-reportname-documents
description: REST surface for api-rns-pvt-reports-reportName-documents.
operations:
- method: POST
name: post
description: VTex Generate report
call: subscriptions-reports.post
with:
reportName: rest.reportName
email: rest.email
beginDate: rest.beginDate
endDate: rest.endDate
Content-Type: rest.Content-Type
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- path: /v1/api/rns/pvt/reports/{reportname}/documents/{documentid}
name: api-rns-pvt-reports-reportname-documents-documentid
description: REST surface for api-rns-pvt-reports-reportName-documents-documentId.
operations:
- method: GET
name: get
description: VTex Get report document details
call: subscriptions-reports.get
with:
reportName: rest.reportName
documentId: rest.documentId
Content-Type: rest.Content-Type
Accept: rest.Accept
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: subscriptions-reports-mcp
port: 9090
transport: http
description: MCP adapter for VTex Subscriptions API (v3) — Reports. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: vtex-list-report-templates
description: VTex List report templates
hints:
readOnly: true
destructive: false
idempotent: true
call: subscriptions-reports.get
with:
Content-Type: tools.Content-Type
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: vtex-generate-report
description: VTex Generate report
hints:
readOnly: false
destructive: false
idempotent: false
call: subscriptions-reports.post
with:
reportName: tools.reportName
email: tools.email
beginDate: tools.beginDate
endDate: tools.endDate
Content-Type: tools.Content-Type
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.
- name: vtex-get-report-document-details
description: VTex Get report document details
hints:
readOnly: true
destructive: false
idempotent: true
call: subscriptions-reports.get
with:
reportName: tools.reportName
documentId: tools.documentId
Content-Type: tools.Content-Type
Accept: tools.Accept
outputParameters:
- type: object
mapping: $.