naftiko: 1.0.0-alpha2 info: label: Instacart Connect Fulfillment API — Delivery description: 'Instacart Connect Fulfillment API — Delivery. 6 operations. Lead operation: Find stores offering delivery. Self-contained Naftiko capability covering one Instacart business surface.' tags: - Instacart - Delivery created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: INSTACART_API_KEY: INSTACART_API_KEY capability: consumes: - type: http namespace: connect-fulfillment-delivery baseUri: https://connect.instacart.com description: Instacart Connect Fulfillment API — Delivery business capability. Self-contained, no shared references. resources: - name: v2-fulfillment-stores-delivery path: /v2/fulfillment/stores/delivery operations: - name: finddeliverystores method: POST description: Find stores offering delivery outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v2-fulfillment-users-user_id-orders-delivery path: /v2/fulfillment/users/{user_id}/orders/delivery operations: - name: createdeliveryorder method: POST description: Create a delivery order outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v2-fulfillment-users-user_id-orders-order_id path: /v2/fulfillment/users/{user_id}/orders/{order_id} operations: - name: getorder method: GET description: Get an order outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-fulfillment-users-user_id-orders-order_id-cancel path: /v2/fulfillment/users/{user_id}/orders/{order_id}/cancel operations: - name: cancelorder method: POST description: Cancel an order outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-fulfillment-users-user_id-service_options-delivery path: /v2/fulfillment/users/{user_id}/service_options/delivery operations: - name: previewdeliverytimeslots method: POST description: Preview time slots for delivery outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v2-fulfillment-users-user_id-service_options-delivery-hold path: /v2/fulfillment/users/{user_id}/service_options/delivery/hold operations: - name: reservedeliverytimeslot method: POST description: Reserve a previewed delivery time slot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.INSTACART_API_KEY}}' exposes: - type: rest namespace: connect-fulfillment-delivery-rest port: 8080 description: REST adapter for Instacart Connect Fulfillment API — Delivery. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/fulfillment/stores/delivery name: v2-fulfillment-stores-delivery description: REST surface for v2-fulfillment-stores-delivery. operations: - method: POST name: finddeliverystores description: Find stores offering delivery call: connect-fulfillment-delivery.finddeliverystores with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/fulfillment/users/{user-id}/orders/delivery name: v2-fulfillment-users-user-id-orders-delivery description: REST surface for v2-fulfillment-users-user_id-orders-delivery. operations: - method: POST name: createdeliveryorder description: Create a delivery order call: connect-fulfillment-delivery.createdeliveryorder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/fulfillment/users/{user-id}/orders/{order-id} name: v2-fulfillment-users-user-id-orders-order-id description: REST surface for v2-fulfillment-users-user_id-orders-order_id. operations: - method: GET name: getorder description: Get an order call: connect-fulfillment-delivery.getorder outputParameters: - type: object mapping: $. - path: /v1/v2/fulfillment/users/{user-id}/orders/{order-id}/cancel name: v2-fulfillment-users-user-id-orders-order-id-cancel description: REST surface for v2-fulfillment-users-user_id-orders-order_id-cancel. operations: - method: POST name: cancelorder description: Cancel an order call: connect-fulfillment-delivery.cancelorder outputParameters: - type: object mapping: $. - path: /v1/v2/fulfillment/users/{user-id}/service-options/delivery name: v2-fulfillment-users-user-id-service-options-delivery description: REST surface for v2-fulfillment-users-user_id-service_options-delivery. operations: - method: POST name: previewdeliverytimeslots description: Preview time slots for delivery call: connect-fulfillment-delivery.previewdeliverytimeslots with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/fulfillment/users/{user-id}/service-options/delivery/hold name: v2-fulfillment-users-user-id-service-options-delivery-hold description: REST surface for v2-fulfillment-users-user_id-service_options-delivery-hold. operations: - method: POST name: reservedeliverytimeslot description: Reserve a previewed delivery time slot call: connect-fulfillment-delivery.reservedeliverytimeslot with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: connect-fulfillment-delivery-mcp port: 9090 transport: http description: MCP adapter for Instacart Connect Fulfillment API — Delivery. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: find-stores-offering-delivery description: Find stores offering delivery hints: readOnly: true destructive: false idempotent: false call: connect-fulfillment-delivery.finddeliverystores with: body: tools.body outputParameters: - type: object mapping: $. - name: create-delivery-order description: Create a delivery order hints: readOnly: false destructive: false idempotent: false call: connect-fulfillment-delivery.createdeliveryorder with: body: tools.body outputParameters: - type: object mapping: $. - name: get-order description: Get an order hints: readOnly: true destructive: false idempotent: true call: connect-fulfillment-delivery.getorder outputParameters: - type: object mapping: $. - name: cancel-order description: Cancel an order hints: readOnly: false destructive: false idempotent: false call: connect-fulfillment-delivery.cancelorder outputParameters: - type: object mapping: $. - name: preview-time-slots-delivery description: Preview time slots for delivery hints: readOnly: false destructive: false idempotent: false call: connect-fulfillment-delivery.previewdeliverytimeslots with: body: tools.body outputParameters: - type: object mapping: $. - name: reserve-previewed-delivery-time-slot description: Reserve a previewed delivery time slot hints: readOnly: false destructive: false idempotent: false call: connect-fulfillment-delivery.reservedeliverytimeslot with: body: tools.body outputParameters: - type: object mapping: $.