Cal.com · Capability
Cal.diy API v2 — Schedules
Cal.diy API v2 — Schedules. 6 operations. Lead operation: Create a schedule. Self-contained Naftiko capability covering one Cal Com business surface.
What You Can Do
POST
Schedulescontroller20240611createschedule
— Create a schedule
/v1/v2/schedules
GET
Schedulescontroller20240611getschedules
— Get all schedules
/v1/v2/schedules
GET
Schedulescontroller20240611getdefaultschedule
— Get default schedule
/v1/v2/schedules/default
GET
Schedulescontroller20240611getschedule
— Get a schedule
/v1/v2/schedules/{scheduleid}
PATCH
Schedulescontroller20240611updateschedule
— Update a schedule
/v1/v2/schedules/{scheduleid}
DELETE
Schedulescontroller20240611deleteschedule
— Delete a schedule
/v1/v2/schedules/{scheduleid}
MCP Tools
create-schedule
Create a schedule
get-all-schedules
Get all schedules
read-only
idempotent
get-default-schedule
Get default schedule
read-only
idempotent
get-schedule
Get a schedule
read-only
idempotent
update-schedule
Update a schedule
idempotent
delete-schedule
Delete a schedule
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Cal.diy API v2 — Schedules
description: 'Cal.diy API v2 — Schedules. 6 operations. Lead operation: Create a schedule. Self-contained Naftiko capability
covering one Cal Com business surface.'
tags:
- Cal Com
- Schedules
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
CAL_COM_API_KEY: CAL_COM_API_KEY
capability:
consumes:
- type: http
namespace: cal-com-schedules
baseUri: ''
description: Cal.diy API v2 — Schedules business capability. Self-contained, no shared references.
resources:
- name: v2-schedules
path: /v2/schedules
operations:
- name: schedulescontroller20240611createschedule
method: POST
description: Create a schedule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: schedulescontroller20240611getschedules
method: GET
description: Get all schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: v2-schedules-default
path: /v2/schedules/default
operations:
- name: schedulescontroller20240611getdefaultschedule
method: GET
description: Get default schedule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: v2-schedules-scheduleId
path: /v2/schedules/{scheduleId}
operations:
- name: schedulescontroller20240611getschedule
method: GET
description: Get a schedule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: scheduleId
in: path
type: number
required: true
- name: schedulescontroller20240611updateschedule
method: PATCH
description: Update a schedule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: scheduleId
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: schedulescontroller20240611deleteschedule
method: DELETE
description: Delete a schedule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Authorization
in: header
type: string
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_ or managed user access
token
required: true
- name: cal-api-version
in: header
type: string
description: Must be set to 2024-06-11. If not set to this value, the endpoint will default to an older version.
required: true
- name: scheduleId
in: path
type: number
required: true
exposes:
- type: rest
namespace: cal-com-schedules-rest
port: 8080
description: REST adapter for Cal.diy API v2 — Schedules. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v2/schedules
name: v2-schedules
description: REST surface for v2-schedules.
operations:
- method: POST
name: schedulescontroller20240611createschedule
description: Create a schedule
call: cal-com-schedules.schedulescontroller20240611createschedule
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: schedulescontroller20240611getschedules
description: Get all schedules
call: cal-com-schedules.schedulescontroller20240611getschedules
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/schedules/default
name: v2-schedules-default
description: REST surface for v2-schedules-default.
operations:
- method: GET
name: schedulescontroller20240611getdefaultschedule
description: Get default schedule
call: cal-com-schedules.schedulescontroller20240611getdefaultschedule
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/schedules/{scheduleid}
name: v2-schedules-scheduleid
description: REST surface for v2-schedules-scheduleId.
operations:
- method: GET
name: schedulescontroller20240611getschedule
description: Get a schedule
call: cal-com-schedules.schedulescontroller20240611getschedule
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
scheduleId: rest.scheduleId
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: schedulescontroller20240611updateschedule
description: Update a schedule
call: cal-com-schedules.schedulescontroller20240611updateschedule
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
scheduleId: rest.scheduleId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: schedulescontroller20240611deleteschedule
description: Delete a schedule
call: cal-com-schedules.schedulescontroller20240611deleteschedule
with:
Authorization: rest.Authorization
cal-api-version: rest.cal-api-version
scheduleId: rest.scheduleId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: cal-com-schedules-mcp
port: 9090
transport: http
description: MCP adapter for Cal.diy API v2 — Schedules. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-schedule
description: Create a schedule
hints:
readOnly: false
destructive: false
idempotent: false
call: cal-com-schedules.schedulescontroller20240611createschedule
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-all-schedules
description: Get all schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: cal-com-schedules.schedulescontroller20240611getschedules
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
outputParameters:
- type: object
mapping: $.
- name: get-default-schedule
description: Get default schedule
hints:
readOnly: true
destructive: false
idempotent: true
call: cal-com-schedules.schedulescontroller20240611getdefaultschedule
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
outputParameters:
- type: object
mapping: $.
- name: get-schedule
description: Get a schedule
hints:
readOnly: true
destructive: false
idempotent: true
call: cal-com-schedules.schedulescontroller20240611getschedule
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
scheduleId: tools.scheduleId
outputParameters:
- type: object
mapping: $.
- name: update-schedule
description: Update a schedule
hints:
readOnly: false
destructive: false
idempotent: true
call: cal-com-schedules.schedulescontroller20240611updateschedule
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
scheduleId: tools.scheduleId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-schedule
description: Delete a schedule
hints:
readOnly: false
destructive: true
idempotent: true
call: cal-com-schedules.schedulescontroller20240611deleteschedule
with:
Authorization: tools.Authorization
cal-api-version: tools.cal-api-version
scheduleId: tools.scheduleId
outputParameters:
- type: object
mapping: $.