naftiko: 1.0.0-alpha2 info: label: VTEX Tracking API — Delivery Services description: 'VTEX Tracking API — Delivery Services. 7 operations. Lead operation: VTex Remove Packing List. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - Delivery Services created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: tracking-delivery-services baseUri: https://api.vtextracking.com/receiver description: VTEX Tracking API — Delivery Services business capability. Self-contained, no shared references. resources: - name: services path: /services operations: - name: put method: PUT description: VTex Remove Packing List 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: body in: body type: object description: Request body (JSON). required: false - name: post method: POST description: VTex Post Delivery Service 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: body in: body type: object description: Request body (JSON). required: true - name: get method: GET description: VTex Get Delivery Services List 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: status in: query type: string description: Current status of the delivery service. The status parameters are not case sensitive, you can write them with upper or lower case. This field includes the follo - name: dateInit in: query type: string description: Initial date of registration of the requested service. The date format is `yyyy-mm-dd`. - name: dateEnd in: query type: string description: End date of registration of the requested service. The date format is `yyyy-mm-dd`. - name: pageSize in: query type: integer description: Number of items shown per consultation page. The default is 25 - name: page in: query type: integer description: The consultation's desired page - name: services-invoice path: /services/invoice operations: - name: get method: GET description: VTex Get Delivery Service by Invoice 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: invoice in: query type: string description: Invoice code - name: services-routes path: /services/routes operations: - name: postdeliveryservicewithrouteasync method: POST description: VTex Post Delivery Service With Route Scheduling 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: body in: body type: object description: Request body (JSON). required: true - name: get method: GET description: VTex Get Delivery Services List by Route 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: status in: query type: string description: 'Current status of the delivery service. Includes the following statuses as possible values: Ativo, Roteirizado, Realizado, EmAndamento, NaoRealizado' - name: dateInit in: query type: string description: Initial date of registration of the requested service. The date format is `yyyy-mm-dd`. - name: dateEnd in: query type: string description: End date of registration of the requested service. The date format is `yyyy-mm-dd`. - name: pageSize in: query type: integer description: Number of items shown per consultation page. The default is 25 - name: page in: query type: integer description: The desired page for the consultation - name: services-idDeliveryService path: /services/{idDeliveryService} operations: - name: get method: GET description: VTex Get Delivery Service by ID 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: idDeliveryService in: path type: integer description: The delivery service's unique identifier required: true authentication: type: bearer token: '{{env.VTEX_API_KEY}}' exposes: - type: rest namespace: tracking-delivery-services-rest port: 8080 description: REST adapter for VTEX Tracking API — Delivery Services. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/services name: services description: REST surface for services. operations: - method: PUT name: put description: VTex Remove Packing List call: tracking-delivery-services.put with: Content-Type: rest.Content-Type Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: POST name: post description: VTex Post Delivery Service call: tracking-delivery-services.post with: Content-Type: rest.Content-Type Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: VTex Get Delivery Services List call: tracking-delivery-services.get with: Content-Type: rest.Content-Type Accept: rest.Accept status: rest.status dateInit: rest.dateInit dateEnd: rest.dateEnd pageSize: rest.pageSize page: rest.page outputParameters: - type: object mapping: $. - path: /v1/services/invoice name: services-invoice description: REST surface for services-invoice. operations: - method: GET name: get description: VTex Get Delivery Service by Invoice call: tracking-delivery-services.get with: Content-Type: rest.Content-Type Accept: rest.Accept invoice: rest.invoice outputParameters: - type: object mapping: $. - path: /v1/services/routes name: services-routes description: REST surface for services-routes. operations: - method: POST name: postdeliveryservicewithrouteasync description: VTex Post Delivery Service With Route Scheduling call: tracking-delivery-services.postdeliveryservicewithrouteasync with: Content-Type: rest.Content-Type Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: VTex Get Delivery Services List by Route call: tracking-delivery-services.get with: Content-Type: rest.Content-Type Accept: rest.Accept status: rest.status dateInit: rest.dateInit dateEnd: rest.dateEnd pageSize: rest.pageSize page: rest.page outputParameters: - type: object mapping: $. - path: /v1/services/{iddeliveryservice} name: services-iddeliveryservice description: REST surface for services-idDeliveryService. operations: - method: GET name: get description: VTex Get Delivery Service by ID call: tracking-delivery-services.get with: Content-Type: rest.Content-Type Accept: rest.Accept idDeliveryService: rest.idDeliveryService outputParameters: - type: object mapping: $. - type: mcp namespace: tracking-delivery-services-mcp port: 9090 transport: http description: MCP adapter for VTEX Tracking API — Delivery Services. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-remove-packing-list description: VTex Remove Packing List hints: readOnly: false destructive: false idempotent: true call: tracking-delivery-services.put with: Content-Type: tools.Content-Type Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: vtex-post-delivery-service description: VTex Post Delivery Service hints: readOnly: false destructive: false idempotent: false call: tracking-delivery-services.post with: Content-Type: tools.Content-Type Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-delivery-services-list description: VTex Get Delivery Services List hints: readOnly: true destructive: false idempotent: true call: tracking-delivery-services.get with: Content-Type: tools.Content-Type Accept: tools.Accept status: tools.status dateInit: tools.dateInit dateEnd: tools.dateEnd pageSize: tools.pageSize page: tools.page outputParameters: - type: object mapping: $. - name: vtex-get-delivery-service-invoice description: VTex Get Delivery Service by Invoice hints: readOnly: true destructive: false idempotent: true call: tracking-delivery-services.get with: Content-Type: tools.Content-Type Accept: tools.Accept invoice: tools.invoice outputParameters: - type: object mapping: $. - name: vtex-post-delivery-service-route description: VTex Post Delivery Service With Route Scheduling hints: readOnly: false destructive: false idempotent: false call: tracking-delivery-services.postdeliveryservicewithrouteasync with: Content-Type: tools.Content-Type Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-delivery-services-list-2 description: VTex Get Delivery Services List by Route hints: readOnly: true destructive: false idempotent: true call: tracking-delivery-services.get with: Content-Type: tools.Content-Type Accept: tools.Accept status: tools.status dateInit: tools.dateInit dateEnd: tools.dateEnd pageSize: tools.pageSize page: tools.page outputParameters: - type: object mapping: $. - name: vtex-get-delivery-service-id description: VTex Get Delivery Service by ID hints: readOnly: true destructive: false idempotent: true call: tracking-delivery-services.get with: Content-Type: tools.Content-Type Accept: tools.Accept idDeliveryService: tools.idDeliveryService outputParameters: - type: object mapping: $.