naftiko: 1.0.0-alpha2 info: label: Walgreens Vaccine Scheduling API — Appointments description: 'Walgreens Vaccine Scheduling API — Appointments. 3 operations. Lead operation: Confirm Vaccine Appointment. Self-contained Naftiko capability covering one Walgreens business surface.' tags: - Walgreens - Appointments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WALGREENS_API_KEY: WALGREENS_API_KEY capability: consumes: - type: http namespace: vaccine-scheduling-appointments baseUri: https://services.walgreens.com description: Walgreens Vaccine Scheduling API — Appointments business capability. Self-contained, no shared references. resources: - name: api-vaccine-scheduling-confirm-v1 path: /api/vaccine/scheduling/confirm/v1 operations: - name: confirmvaccineappointment method: PATCH description: Confirm Vaccine Appointment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-vaccine-scheduling-hold-v1 path: /api/vaccine/scheduling/hold/v1 operations: - name: holdvaccineappointment method: POST description: Hold Vaccine Appointment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-vaccine-scheduling-timeslots-v1 path: /api/vaccine/scheduling/timeslots/v1 operations: - name: getvaccinetimeslots method: POST description: Get Vaccine Timeslots 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: apiKey value: '{{env.WALGREENS_API_KEY}}' placement: query exposes: - type: rest namespace: vaccine-scheduling-appointments-rest port: 8080 description: REST adapter for Walgreens Vaccine Scheduling API — Appointments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/vaccine/scheduling/confirm/v1 name: api-vaccine-scheduling-confirm-v1 description: REST surface for api-vaccine-scheduling-confirm-v1. operations: - method: PATCH name: confirmvaccineappointment description: Confirm Vaccine Appointment call: vaccine-scheduling-appointments.confirmvaccineappointment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/vaccine/scheduling/hold/v1 name: api-vaccine-scheduling-hold-v1 description: REST surface for api-vaccine-scheduling-hold-v1. operations: - method: POST name: holdvaccineappointment description: Hold Vaccine Appointment call: vaccine-scheduling-appointments.holdvaccineappointment with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/vaccine/scheduling/timeslots/v1 name: api-vaccine-scheduling-timeslots-v1 description: REST surface for api-vaccine-scheduling-timeslots-v1. operations: - method: POST name: getvaccinetimeslots description: Get Vaccine Timeslots call: vaccine-scheduling-appointments.getvaccinetimeslots with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: vaccine-scheduling-appointments-mcp port: 9090 transport: http description: MCP adapter for Walgreens Vaccine Scheduling API — Appointments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: confirm-vaccine-appointment description: Confirm Vaccine Appointment hints: readOnly: false destructive: false idempotent: true call: vaccine-scheduling-appointments.confirmvaccineappointment with: body: tools.body outputParameters: - type: object mapping: $. - name: hold-vaccine-appointment description: Hold Vaccine Appointment hints: readOnly: false destructive: false idempotent: false call: vaccine-scheduling-appointments.holdvaccineappointment with: body: tools.body outputParameters: - type: object mapping: $. - name: get-vaccine-timeslots description: Get Vaccine Timeslots hints: readOnly: true destructive: false idempotent: false call: vaccine-scheduling-appointments.getvaccinetimeslots with: body: tools.body outputParameters: - type: object mapping: $.