naftiko: 1.0.0-alpha2 info: label: VTex Pick and Pack Last Mile Protocol API — Shipping Updates description: 'VTex Pick and Pack Last Mile Protocol API — Shipping Updates. 9 operations. Lead operation: VTex Cancel service. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Shipping Updates created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: pick-pack-last-mile-protocol-shipping-updates baseUri: https://auth.pickingnpacking.com/{environment} description: VTex Pick and Pack Last Mile Protocol API — Shipping Updates business capability. Self-contained, no shared references. resources: - name: cancel-service path: /cancel-service operations: - name: createservice method: POST description: VTex Cancel service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: cancel-carrierId-serviceId path: /cancel/{carrierId}/{serviceId} operations: - name: postcancelservice method: POST description: VTex Cancel ongoing service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: evidences-carrierId-serviceId path: /evidences/{carrierId}/{serviceId} operations: - name: createevidence method: POST description: VTex Create evidence outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: labels-carrierId-serviceId path: /labels/{carrierId}/{serviceId} operations: - name: createlabels method: POST description: VTex Create label outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: notes-carrierId-serviceId path: /notes/{carrierId}/{serviceId} operations: - name: createnotes method: POST description: VTex Create notes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: on-hold-carrierId-serviceId path: /on-hold/{carrierId}/{serviceId} operations: - name: onholdservice method: POST description: VTex Create on hold service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: pause-service path: /pause-service operations: - name: createservice method: POST description: VTex Pause and resume service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: carrierId-serviceId path: /{carrierId}/{serviceId} operations: - name: getservice method: GET description: VTex Get service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID generated by the carrier. required: true - name: updateservice method: PATCH description: VTex Update service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: carrierId in: path type: string description: Carrier ID. required: true - name: serviceId in: path type: string description: Service ID. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: pick-pack-last-mile-protocol-shipping-updates-rest port: 8080 description: REST adapter for VTex Pick and Pack Last Mile Protocol API — Shipping Updates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/cancel-service name: cancel-service description: REST surface for cancel-service. operations: - method: POST name: createservice description: VTex Cancel service call: pick-pack-last-mile-protocol-shipping-updates.createservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/cancel/{carrierid}/{serviceid} name: cancel-carrierid-serviceid description: REST surface for cancel-carrierId-serviceId. operations: - method: POST name: postcancelservice description: VTex Cancel ongoing service call: pick-pack-last-mile-protocol-shipping-updates.postcancelservice with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/evidences/{carrierid}/{serviceid} name: evidences-carrierid-serviceid description: REST surface for evidences-carrierId-serviceId. operations: - method: POST name: createevidence description: VTex Create evidence call: pick-pack-last-mile-protocol-shipping-updates.createevidence with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/labels/{carrierid}/{serviceid} name: labels-carrierid-serviceid description: REST surface for labels-carrierId-serviceId. operations: - method: POST name: createlabels description: VTex Create label call: pick-pack-last-mile-protocol-shipping-updates.createlabels with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/notes/{carrierid}/{serviceid} name: notes-carrierid-serviceid description: REST surface for notes-carrierId-serviceId. operations: - method: POST name: createnotes description: VTex Create notes call: pick-pack-last-mile-protocol-shipping-updates.createnotes with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/on-hold/{carrierid}/{serviceid} name: on-hold-carrierid-serviceid description: REST surface for on-hold-carrierId-serviceId. operations: - method: POST name: onholdservice description: VTex Create on hold service call: pick-pack-last-mile-protocol-shipping-updates.onholdservice with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pause-service name: pause-service description: REST surface for pause-service. operations: - method: POST name: createservice description: VTex Pause and resume service call: pick-pack-last-mile-protocol-shipping-updates.createservice with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/{carrierid}/{serviceid} name: carrierid-serviceid description: REST surface for carrierId-serviceId. operations: - method: GET name: getservice description: VTex Get service call: pick-pack-last-mile-protocol-shipping-updates.getservice with: carrierId: rest.carrierId serviceId: rest.serviceId outputParameters: - type: object mapping: $. - method: PATCH name: updateservice description: VTex Update service call: pick-pack-last-mile-protocol-shipping-updates.updateservice with: carrierId: rest.carrierId serviceId: rest.serviceId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: pick-pack-last-mile-protocol-shipping-updates-mcp port: 9090 transport: http description: MCP adapter for VTex Pick and Pack Last Mile Protocol API — Shipping Updates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-cancel-service description: VTex Cancel service hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.createservice with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-cancel-ongoing-service description: VTex Cancel ongoing service hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.postcancelservice with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-create-evidence description: VTex Create evidence hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.createevidence with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-create-label description: VTex Create label hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.createlabels with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-create-notes description: VTex Create notes hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.createnotes with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-create-hold-service description: VTex Create on hold service hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.onholdservice with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $. - name: vtex-pause-and-resume-service description: VTex Pause and resume service hints: readOnly: false destructive: false idempotent: false call: pick-pack-last-mile-protocol-shipping-updates.createservice with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-service description: VTex Get service hints: readOnly: true destructive: false idempotent: true call: pick-pack-last-mile-protocol-shipping-updates.getservice with: carrierId: tools.carrierId serviceId: tools.serviceId outputParameters: - type: object mapping: $. - name: vtex-update-service description: VTex Update service hints: readOnly: false destructive: false idempotent: true call: pick-pack-last-mile-protocol-shipping-updates.updateservice with: carrierId: tools.carrierId serviceId: tools.serviceId body: tools.body outputParameters: - type: object mapping: $.