naftiko: 1.0.0-alpha2 info: label: VTex Checkout API — Custom Data description: 'VTex Checkout API — Custom Data. 3 operations. Lead operation: VTex Set multiple custom field values. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Custom Data created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: checkout-custom-data baseUri: https://{accountName}.{environment}.com.br description: VTex Checkout API — Custom Data business capability. Self-contained, no shared references. resources: - name: api-checkout-pub-orderForm-orderFormId-customData-appId path: /api/checkout/pub/orderForm/{orderFormId}/customData/{appId} operations: - name: setmultiplecustomfieldvalues method: PUT description: VTex Set multiple custom field values outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderFormId in: path type: string description: ID of the orderForm that will receive the new custom field values. required: true - name: appId in: path type: string description: ID of the app created with the configuration API. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-checkout-pub-orderForm-orderFormId-customData-appId-appFieldName path: /api/checkout/pub/orderForm/{orderFormId}/customData/{appId}/{appFieldName} operations: - name: setsinglecustomfieldvalue method: PUT description: VTex Set single custom field value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderFormId in: path type: string description: The ID of the orderForm whose custom field's value you want to change. required: true - name: appId in: path type: string description: ID of the app created through the Update orderForm Configuration endpoint. required: true - name: appFieldName in: path type: string description: Name of the app's field created through the Update orderForm Configuration endpoint. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: removesinglecustomfieldvalue method: DELETE description: VTex Remove single custom field value outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orderFormId in: path type: string description: The ID of the orderForm from which you want to remove the custom field value. required: true - name: appId in: path type: string description: ID of the app created through the Update orderForm Configuration endpoint. required: true - name: appFieldName in: path type: string description: Name of the app's field created through the Update orderForm Configuration endpoint and which will be deleted. required: true authentication: type: apikey key: X-VTEX-API-AppKey value: '{{env.VTEX_API_KEY}}' placement: header exposes: - type: rest namespace: checkout-custom-data-rest port: 8080 description: REST adapter for VTex Checkout API — Custom Data. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/checkout/pub/orderform/{orderformid}/customdata/{appid} name: api-checkout-pub-orderform-orderformid-customdata-appid description: REST surface for api-checkout-pub-orderForm-orderFormId-customData-appId. operations: - method: PUT name: setmultiplecustomfieldvalues description: VTex Set multiple custom field values call: checkout-custom-data.setmultiplecustomfieldvalues with: orderFormId: rest.orderFormId appId: rest.appId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/checkout/pub/orderform/{orderformid}/customdata/{appid}/{appfieldname} name: api-checkout-pub-orderform-orderformid-customdata-appid-appfieldname description: REST surface for api-checkout-pub-orderForm-orderFormId-customData-appId-appFieldName. operations: - method: PUT name: setsinglecustomfieldvalue description: VTex Set single custom field value call: checkout-custom-data.setsinglecustomfieldvalue with: orderFormId: rest.orderFormId appId: rest.appId appFieldName: rest.appFieldName body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removesinglecustomfieldvalue description: VTex Remove single custom field value call: checkout-custom-data.removesinglecustomfieldvalue with: orderFormId: rest.orderFormId appId: rest.appId appFieldName: rest.appFieldName outputParameters: - type: object mapping: $. - type: mcp namespace: checkout-custom-data-mcp port: 9090 transport: http description: MCP adapter for VTex Checkout API — Custom Data. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-set-multiple-custom-field description: VTex Set multiple custom field values hints: readOnly: false destructive: false idempotent: true call: checkout-custom-data.setmultiplecustomfieldvalues with: orderFormId: tools.orderFormId appId: tools.appId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-set-single-custom-field description: VTex Set single custom field value hints: readOnly: false destructive: false idempotent: true call: checkout-custom-data.setsinglecustomfieldvalue with: orderFormId: tools.orderFormId appId: tools.appId appFieldName: tools.appFieldName body: tools.body outputParameters: - type: object mapping: $. - name: vtex-remove-single-custom-field description: VTex Remove single custom field value hints: readOnly: false destructive: true idempotent: true call: checkout-custom-data.removesinglecustomfieldvalue with: orderFormId: tools.orderFormId appId: tools.appId appFieldName: tools.appFieldName outputParameters: - type: object mapping: $.