Knock · Capability
Knock API — Schedules
Knock API — Schedules. 6 operations. Lead operation: List object schedules. Self-contained Naftiko capability covering one Knock business surface.
What You Can Do
GET
Listobjectschedules
— List object schedules
/v1/v1/objects/{collection}/{id}/schedules
DELETE
Deleteschedules
— Delete schedules
/v1/v1/schedules
GET
Listschedules
— List schedules
/v1/v1/schedules
POST
Createschedules
— Create schedules
/v1/v1/schedules
PUT
Updateschedules
— Update schedules
/v1/v1/schedules
GET
Listuserschedules
— List user schedules
/v1/v1/users/{user-id}/schedules
MCP Tools
list-object-schedules
List object schedules
read-only
idempotent
delete-schedules
Delete schedules
idempotent
list-schedules
List schedules
read-only
idempotent
create-schedules
Create schedules
update-schedules
Update schedules
idempotent
list-user-schedules
List user schedules
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Knock API — Schedules
description: 'Knock API — Schedules. 6 operations. Lead operation: List object schedules. Self-contained Naftiko capability
covering one Knock business surface.'
tags:
- Knock
- Schedules
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
KNOCK_API_KEY: KNOCK_API_KEY
capability:
consumes:
- type: http
namespace: knock-schedules
baseUri: https://api.knock.app
description: Knock API — Schedules business capability. Self-contained, no shared references.
resources:
- name: v1-objects-collection-id-schedules
path: /v1/objects/{collection}/{id}/schedules
operations:
- name: listobjectschedules
method: GET
description: List object schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The ID of the object to list schedules for.
required: true
- name: collection
in: path
type: string
description: The collection of the object to list schedules for.
required: true
- name: tenant
in: query
type: string
description: Filter schedules by tenant id.
- name: workflow
in: query
type: string
description: Filter schedules by workflow id.
- name: after
in: query
type: string
description: The cursor to fetch entries after.
- name: before
in: query
type: string
description: The cursor to fetch entries before.
- name: page_size
in: query
type: integer
description: The number of items per page (defaults to 50).
- name: v1-schedules
path: /v1/schedules
operations:
- name: deleteschedules
method: DELETE
description: Delete schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listschedules
method: GET
description: List schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: workflow
in: query
type: string
description: Filter by workflow key.
required: true
- name: recipients[]
in: query
type: array
description: Filter by recipient references.
- name: tenant
in: query
type: string
description: Filter by tenant ID.
- name: after
in: query
type: string
description: The cursor to fetch entries after.
- name: before
in: query
type: string
description: The cursor to fetch entries before.
- name: page_size
in: query
type: integer
description: The number of items per page (defaults to 50).
- name: createschedules
method: POST
description: Create schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: updateschedules
method: PUT
description: Update schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-users-user_id-schedules
path: /v1/users/{user_id}/schedules
operations:
- name: listuserschedules
method: GET
description: List user schedules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: user_id
in: path
type: string
description: The user ID to list schedules for.
required: true
- name: workflow
in: query
type: string
description: The workflow key to filter schedules for.
- name: tenant
in: query
type: string
description: The tenant ID to filter schedules for.
- name: after
in: query
type: string
description: The cursor to fetch entries after.
- name: before
in: query
type: string
description: The cursor to fetch entries before.
- name: page_size
in: query
type: integer
description: The number of items per page (defaults to 50).
authentication:
type: bearer
token: '{{env.KNOCK_API_KEY}}'
exposes:
- type: rest
namespace: knock-schedules-rest
port: 8080
description: REST adapter for Knock API — Schedules. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/objects/{collection}/{id}/schedules
name: v1-objects-collection-id-schedules
description: REST surface for v1-objects-collection-id-schedules.
operations:
- method: GET
name: listobjectschedules
description: List object schedules
call: knock-schedules.listobjectschedules
with:
id: rest.id
collection: rest.collection
tenant: rest.tenant
workflow: rest.workflow
after: rest.after
before: rest.before
page_size: rest.page_size
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/schedules
name: v1-schedules
description: REST surface for v1-schedules.
operations:
- method: DELETE
name: deleteschedules
description: Delete schedules
call: knock-schedules.deleteschedules
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listschedules
description: List schedules
call: knock-schedules.listschedules
with:
workflow: rest.workflow
recipients[]: rest.recipients[]
tenant: rest.tenant
after: rest.after
before: rest.before
page_size: rest.page_size
outputParameters:
- type: object
mapping: $.
- method: POST
name: createschedules
description: Create schedules
call: knock-schedules.createschedules
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateschedules
description: Update schedules
call: knock-schedules.updateschedules
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/users/{user-id}/schedules
name: v1-users-user-id-schedules
description: REST surface for v1-users-user_id-schedules.
operations:
- method: GET
name: listuserschedules
description: List user schedules
call: knock-schedules.listuserschedules
with:
user_id: rest.user_id
workflow: rest.workflow
tenant: rest.tenant
after: rest.after
before: rest.before
page_size: rest.page_size
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: knock-schedules-mcp
port: 9090
transport: http
description: MCP adapter for Knock API — Schedules. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-object-schedules
description: List object schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: knock-schedules.listobjectschedules
with:
id: tools.id
collection: tools.collection
tenant: tools.tenant
workflow: tools.workflow
after: tools.after
before: tools.before
page_size: tools.page_size
outputParameters:
- type: object
mapping: $.
- name: delete-schedules
description: Delete schedules
hints:
readOnly: false
destructive: true
idempotent: true
call: knock-schedules.deleteschedules
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-schedules
description: List schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: knock-schedules.listschedules
with:
workflow: tools.workflow
recipients[]: tools.recipients[]
tenant: tools.tenant
after: tools.after
before: tools.before
page_size: tools.page_size
outputParameters:
- type: object
mapping: $.
- name: create-schedules
description: Create schedules
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-schedules.createschedules
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-schedules
description: Update schedules
hints:
readOnly: false
destructive: false
idempotent: true
call: knock-schedules.updateschedules
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-user-schedules
description: List user schedules
hints:
readOnly: true
destructive: false
idempotent: true
call: knock-schedules.listuserschedules
with:
user_id: tools.user_id
workflow: tools.workflow
tenant: tools.tenant
after: tools.after
before: tools.before
page_size: tools.page_size
outputParameters:
- type: object
mapping: $.