naftiko: 1.0.0-alpha2 info: label: VTex Subscriptions API (v3) — Plans description: 'VTex Subscriptions API (v3) — Plans. 2 operations. Lead operation: VTex List plans. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Plans created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: subscriptions-plans baseUri: https://{accountName}.{environment}.com.br description: VTex Subscriptions API (v3) — Plans business capability. Self-contained, no shared references. resources: - name: api-rns-pvt-plans path: /api/rns/pvt/plans operations: - name: get method: GET description: VTex List plans outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: periodicity in: query type: string description: Filter plans by available periodicity - name: interval in: query type: string description: Filter plans by available interval - name: page in: query type: integer description: Page used for pagination - name: size in: query type: integer description: Page size used for pagination - 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-plans-id path: /api/rns/pvt/plans/{id} operations: - name: get method: GET description: VTex Get plan details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Id from the desired plan 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-plans-rest port: 8080 description: REST adapter for VTex Subscriptions API (v3) — Plans. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/rns/pvt/plans name: api-rns-pvt-plans description: REST surface for api-rns-pvt-plans. operations: - method: GET name: get description: VTex List plans call: subscriptions-plans.get with: periodicity: rest.periodicity interval: rest.interval page: rest.page size: rest.size Content-Type: rest.Content-Type Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/api/rns/pvt/plans/{id} name: api-rns-pvt-plans-id description: REST surface for api-rns-pvt-plans-id. operations: - method: GET name: get description: VTex Get plan details call: subscriptions-plans.get with: id: rest.id Content-Type: rest.Content-Type Accept: rest.Accept outputParameters: - type: object mapping: $. - type: mcp namespace: subscriptions-plans-mcp port: 9090 transport: http description: MCP adapter for VTex Subscriptions API (v3) — Plans. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-list-plans description: VTex List plans hints: readOnly: true destructive: false idempotent: true call: subscriptions-plans.get with: periodicity: tools.periodicity interval: tools.interval page: tools.page size: tools.size Content-Type: tools.Content-Type Accept: tools.Accept outputParameters: - type: object mapping: $. - name: vtex-get-plan-details description: VTex Get plan details hints: readOnly: true destructive: false idempotent: true call: subscriptions-plans.get with: id: tools.id Content-Type: tools.Content-Type Accept: tools.Accept outputParameters: - type: object mapping: $.