naftiko: 1.0.0-alpha2 info: label: Calendly Scheduling API — Availability description: 'Calendly Scheduling API — Availability. 4 operations. Lead operation: List event type available times. Self-contained Naftiko capability covering one Calendly business surface.' tags: - Calendly - Availability created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CALENDLY_API_KEY: CALENDLY_API_KEY capability: consumes: - type: http namespace: scheduling-availability baseUri: https://api.calendly.com description: Calendly Scheduling API — Availability business capability. Self-contained, no shared references. resources: - name: event_type_available_times path: /event_type_available_times operations: - name: listeventtypeavailabletimes method: GET description: List event type available times outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: event_type in: query type: string description: The URI of the event type to check availability for. required: true - name: start_time in: query type: string description: The start of the time range to check, in UTC format. required: true - name: end_time in: query type: string description: The end of the time range to check, in UTC format. required: true - name: user_availability_schedules path: /user_availability_schedules operations: - name: listuseravailabilityschedules method: GET description: List user availability schedules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: query type: string description: The URI of the user whose availability schedules to retrieve. required: true - name: user_availability_schedules-uuid path: /user_availability_schedules/{uuid} operations: - name: getuseravailabilityschedule method: GET description: Get user availability schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uuid in: path type: string description: The UUID of the availability schedule. required: true - name: user_busy_times path: /user_busy_times operations: - name: listuserbusytimes method: GET description: List user busy times outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: query type: string description: The URI of the user whose busy times to retrieve. required: true - name: start_time in: query type: string description: The start of the time range to check, in UTC format. required: true - name: end_time in: query type: string description: The end of the time range to check, in UTC format. required: true authentication: type: bearer token: '{{env.CALENDLY_API_KEY}}' exposes: - type: rest namespace: scheduling-availability-rest port: 8080 description: REST adapter for Calendly Scheduling API — Availability. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/event-type-available-times name: event-type-available-times description: REST surface for event_type_available_times. operations: - method: GET name: listeventtypeavailabletimes description: List event type available times call: scheduling-availability.listeventtypeavailabletimes with: event_type: rest.event_type start_time: rest.start_time end_time: rest.end_time outputParameters: - type: object mapping: $. - path: /v1/user-availability-schedules name: user-availability-schedules description: REST surface for user_availability_schedules. operations: - method: GET name: listuseravailabilityschedules description: List user availability schedules call: scheduling-availability.listuseravailabilityschedules with: user: rest.user outputParameters: - type: object mapping: $. - path: /v1/user-availability-schedules/{uuid} name: user-availability-schedules-uuid description: REST surface for user_availability_schedules-uuid. operations: - method: GET name: getuseravailabilityschedule description: Get user availability schedule call: scheduling-availability.getuseravailabilityschedule with: uuid: rest.uuid outputParameters: - type: object mapping: $. - path: /v1/user-busy-times name: user-busy-times description: REST surface for user_busy_times. operations: - method: GET name: listuserbusytimes description: List user busy times call: scheduling-availability.listuserbusytimes with: user: rest.user start_time: rest.start_time end_time: rest.end_time outputParameters: - type: object mapping: $. - type: mcp namespace: scheduling-availability-mcp port: 9090 transport: http description: MCP adapter for Calendly Scheduling API — Availability. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-event-type-available-times description: List event type available times hints: readOnly: true destructive: false idempotent: true call: scheduling-availability.listeventtypeavailabletimes with: event_type: tools.event_type start_time: tools.start_time end_time: tools.end_time outputParameters: - type: object mapping: $. - name: list-user-availability-schedules description: List user availability schedules hints: readOnly: true destructive: false idempotent: true call: scheduling-availability.listuseravailabilityschedules with: user: tools.user outputParameters: - type: object mapping: $. - name: get-user-availability-schedule description: Get user availability schedule hints: readOnly: true destructive: false idempotent: true call: scheduling-availability.getuseravailabilityschedule with: uuid: tools.uuid outputParameters: - type: object mapping: $. - name: list-user-busy-times description: List user busy times hints: readOnly: true destructive: false idempotent: true call: scheduling-availability.listuserbusytimes with: user: tools.user start_time: tools.start_time end_time: tools.end_time outputParameters: - type: object mapping: $.