naftiko: 1.0.0-alpha2 info: label: Grubhub Merchant Schedules API — Schedules description: 'Grubhub Merchant Schedules API — Schedules. 6 operations. Lead operation: Get catering schedule. Self-contained Naftiko capability covering one Grubhub business surface.' tags: - Grubhub - Schedules created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GRUBHUB_API_KEY: GRUBHUB_API_KEY capability: consumes: - type: http namespace: merchant-schedules-schedules baseUri: https://api-third-party-gtm.grubhub.com description: Grubhub Merchant Schedules API — Schedules business capability. Self-contained, no shared references. resources: - name: pos-v1-merchant-merchant_id-schedules-catering path: /pos/v1/merchant/{merchant_id}/schedules/catering operations: - name: getcateringschedule method: GET description: Get catering schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecateringschedule method: PUT description: Update catering schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pos-v1-merchant-merchant_id-schedules-delivery path: /pos/v1/merchant/{merchant_id}/schedules/delivery operations: - name: getdeliveryschedule method: GET description: Get delivery schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatedeliveryschedule method: PUT description: Update delivery schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: pos-v1-merchant-merchant_id-schedules-pickup path: /pos/v1/merchant/{merchant_id}/schedules/pickup operations: - name: getpickupschedule method: GET description: Get pickup schedule outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatepickupschedule method: PUT description: Update pickup schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.GRUBHUB_API_KEY}}' placement: header exposes: - type: rest namespace: merchant-schedules-schedules-rest port: 8080 description: REST adapter for Grubhub Merchant Schedules API — Schedules. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/pos/v1/merchant/{merchant-id}/schedules/catering name: pos-v1-merchant-merchant-id-schedules-catering description: REST surface for pos-v1-merchant-merchant_id-schedules-catering. operations: - method: GET name: getcateringschedule description: Get catering schedule call: merchant-schedules-schedules.getcateringschedule outputParameters: - type: object mapping: $. - method: PUT name: updatecateringschedule description: Update catering schedule call: merchant-schedules-schedules.updatecateringschedule with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pos/v1/merchant/{merchant-id}/schedules/delivery name: pos-v1-merchant-merchant-id-schedules-delivery description: REST surface for pos-v1-merchant-merchant_id-schedules-delivery. operations: - method: GET name: getdeliveryschedule description: Get delivery schedule call: merchant-schedules-schedules.getdeliveryschedule outputParameters: - type: object mapping: $. - method: PUT name: updatedeliveryschedule description: Update delivery schedule call: merchant-schedules-schedules.updatedeliveryschedule with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/pos/v1/merchant/{merchant-id}/schedules/pickup name: pos-v1-merchant-merchant-id-schedules-pickup description: REST surface for pos-v1-merchant-merchant_id-schedules-pickup. operations: - method: GET name: getpickupschedule description: Get pickup schedule call: merchant-schedules-schedules.getpickupschedule outputParameters: - type: object mapping: $. - method: PUT name: updatepickupschedule description: Update pickup schedule call: merchant-schedules-schedules.updatepickupschedule with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: merchant-schedules-schedules-mcp port: 9090 transport: http description: MCP adapter for Grubhub Merchant Schedules API — Schedules. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-catering-schedule description: Get catering schedule hints: readOnly: true destructive: false idempotent: true call: merchant-schedules-schedules.getcateringschedule outputParameters: - type: object mapping: $. - name: update-catering-schedule description: Update catering schedule hints: readOnly: false destructive: false idempotent: true call: merchant-schedules-schedules.updatecateringschedule with: body: tools.body outputParameters: - type: object mapping: $. - name: get-delivery-schedule description: Get delivery schedule hints: readOnly: true destructive: false idempotent: true call: merchant-schedules-schedules.getdeliveryschedule outputParameters: - type: object mapping: $. - name: update-delivery-schedule description: Update delivery schedule hints: readOnly: false destructive: false idempotent: true call: merchant-schedules-schedules.updatedeliveryschedule with: body: tools.body outputParameters: - type: object mapping: $. - name: get-pickup-schedule description: Get pickup schedule hints: readOnly: true destructive: false idempotent: true call: merchant-schedules-schedules.getpickupschedule outputParameters: - type: object mapping: $. - name: update-pickup-schedule description: Update pickup schedule hints: readOnly: false destructive: false idempotent: true call: merchant-schedules-schedules.updatepickupschedule with: body: tools.body outputParameters: - type: object mapping: $.