Knock · Capability
Knock API — Bulk operations
Knock API — Bulk operations. 12 operations. Lead operation: Get bulk operation. Self-contained Naftiko capability covering one Knock business surface.
What You Can Do
GET
Getbulkoperation
— Get bulk operation
/v1/v1/bulk-operations/{id}
POST
Bulkupdatemessagesforchannel
— Bulk update message statuses for channel
/v1/v1/channels/{channel-id}/messages/bulk/{action}
POST
Bulkdeleteobjects
— Bulk delete objects
/v1/v1/objects/{collection}/bulk/delete
POST
Bulksetobjects
— Bulk set objects
/v1/v1/objects/{collection}/bulk/set
POST
Bulkaddsubscriptions
— Bulk add subscriptions
/v1/v1/objects/{collection}/bulk/subscriptions/add
POST
Bulkdeletesubscriptions
— Bulk delete subscriptions
/v1/v1/objects/{collection}/bulk/subscriptions/delete
POST
Bulkcreateschedules
— Create schedules in bulk
/v1/v1/schedules/bulk/create
POST
Bulkdeletetenants
— Bulk delete tenants
/v1/v1/tenants/bulk/delete
POST
Bulksettenants
— Bulk set tenants
/v1/v1/tenants/bulk/set
POST
Bulkdeleteusers
— Bulk delete users
/v1/v1/users/bulk/delete
POST
Bulkidentifyusers
— Bulk identify users
/v1/v1/users/bulk/identify
POST
Bulksetuserpreferences
— Bulk set preferences
/v1/v1/users/bulk/preferences
MCP Tools
get-bulk-operation
Get bulk operation
read-only
idempotent
bulk-update-message-statuses-channel
Bulk update message statuses for channel
bulk-delete-objects
Bulk delete objects
bulk-set-objects
Bulk set objects
bulk-add-subscriptions
Bulk add subscriptions
bulk-delete-subscriptions
Bulk delete subscriptions
create-schedules-bulk
Create schedules in bulk
bulk-delete-tenants
Bulk delete tenants
bulk-set-tenants
Bulk set tenants
bulk-delete-users
Bulk delete users
bulk-identify-users
Bulk identify users
bulk-set-preferences
Bulk set preferences
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Knock API — Bulk operations
description: 'Knock API — Bulk operations. 12 operations. Lead operation: Get bulk operation. Self-contained Naftiko capability
covering one Knock business surface.'
tags:
- Knock
- Bulk operations
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
KNOCK_API_KEY: KNOCK_API_KEY
capability:
consumes:
- type: http
namespace: knock-bulk-operations
baseUri: https://api.knock.app
description: Knock API — Bulk operations business capability. Self-contained, no shared references.
resources:
- name: v1-bulk_operations-id
path: /v1/bulk_operations/{id}
operations:
- name: getbulkoperation
method: GET
description: Get bulk operation
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: The ID of the bulk operation to retrieve.
required: true
- name: v1-channels-channel_id-messages-bulk-action
path: /v1/channels/{channel_id}/messages/bulk/{action}
operations:
- name: bulkupdatemessagesforchannel
method: POST
description: Bulk update message statuses for channel
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: channel_id
in: path
type: string
description: The ID of the channel to update messages for.
required: true
- name: action
in: path
type: string
description: The target status to be applied to the messages.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-objects-collection-bulk-delete
path: /v1/objects/{collection}/bulk/delete
operations:
- name: bulkdeleteobjects
method: POST
description: Bulk delete objects
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: collection
in: path
type: string
description: The collection this object belongs to.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-objects-collection-bulk-set
path: /v1/objects/{collection}/bulk/set
operations:
- name: bulksetobjects
method: POST
description: Bulk set objects
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: collection
in: path
type: string
description: The collection this object belongs to.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-objects-collection-bulk-subscriptions-add
path: /v1/objects/{collection}/bulk/subscriptions/add
operations:
- name: bulkaddsubscriptions
method: POST
description: Bulk add subscriptions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: collection
in: path
type: string
description: The collection this object belongs to.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-objects-collection-bulk-subscriptions-delete
path: /v1/objects/{collection}/bulk/subscriptions/delete
operations:
- name: bulkdeletesubscriptions
method: POST
description: Bulk delete subscriptions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: collection
in: path
type: string
description: The collection this object belongs to.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-schedules-bulk-create
path: /v1/schedules/bulk/create
operations:
- name: bulkcreateschedules
method: POST
description: Create schedules in bulk
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-tenants-bulk-delete
path: /v1/tenants/bulk/delete
operations:
- name: bulkdeletetenants
method: POST
description: Bulk delete tenants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: tenant_ids[]
in: query
type: array
description: The IDs of the tenants to delete.
required: true
- name: v1-tenants-bulk-set
path: /v1/tenants/bulk/set
operations:
- name: bulksettenants
method: POST
description: Bulk set tenants
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-users-bulk-delete
path: /v1/users/bulk/delete
operations:
- name: bulkdeleteusers
method: POST
description: Bulk delete users
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-users-bulk-identify
path: /v1/users/bulk/identify
operations:
- name: bulkidentifyusers
method: POST
description: Bulk identify users
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v1-users-bulk-preferences
path: /v1/users/bulk/preferences
operations:
- name: bulksetuserpreferences
method: POST
description: Bulk set preferences
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: bearer
token: '{{env.KNOCK_API_KEY}}'
exposes:
- type: rest
namespace: knock-bulk-operations-rest
port: 8080
description: REST adapter for Knock API — Bulk operations. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/bulk-operations/{id}
name: v1-bulk-operations-id
description: REST surface for v1-bulk_operations-id.
operations:
- method: GET
name: getbulkoperation
description: Get bulk operation
call: knock-bulk-operations.getbulkoperation
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/channels/{channel-id}/messages/bulk/{action}
name: v1-channels-channel-id-messages-bulk-action
description: REST surface for v1-channels-channel_id-messages-bulk-action.
operations:
- method: POST
name: bulkupdatemessagesforchannel
description: Bulk update message statuses for channel
call: knock-bulk-operations.bulkupdatemessagesforchannel
with:
channel_id: rest.channel_id
action: rest.action
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/objects/{collection}/bulk/delete
name: v1-objects-collection-bulk-delete
description: REST surface for v1-objects-collection-bulk-delete.
operations:
- method: POST
name: bulkdeleteobjects
description: Bulk delete objects
call: knock-bulk-operations.bulkdeleteobjects
with:
collection: rest.collection
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/objects/{collection}/bulk/set
name: v1-objects-collection-bulk-set
description: REST surface for v1-objects-collection-bulk-set.
operations:
- method: POST
name: bulksetobjects
description: Bulk set objects
call: knock-bulk-operations.bulksetobjects
with:
collection: rest.collection
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/objects/{collection}/bulk/subscriptions/add
name: v1-objects-collection-bulk-subscriptions-add
description: REST surface for v1-objects-collection-bulk-subscriptions-add.
operations:
- method: POST
name: bulkaddsubscriptions
description: Bulk add subscriptions
call: knock-bulk-operations.bulkaddsubscriptions
with:
collection: rest.collection
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/objects/{collection}/bulk/subscriptions/delete
name: v1-objects-collection-bulk-subscriptions-delete
description: REST surface for v1-objects-collection-bulk-subscriptions-delete.
operations:
- method: POST
name: bulkdeletesubscriptions
description: Bulk delete subscriptions
call: knock-bulk-operations.bulkdeletesubscriptions
with:
collection: rest.collection
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/schedules/bulk/create
name: v1-schedules-bulk-create
description: REST surface for v1-schedules-bulk-create.
operations:
- method: POST
name: bulkcreateschedules
description: Create schedules in bulk
call: knock-bulk-operations.bulkcreateschedules
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/tenants/bulk/delete
name: v1-tenants-bulk-delete
description: REST surface for v1-tenants-bulk-delete.
operations:
- method: POST
name: bulkdeletetenants
description: Bulk delete tenants
call: knock-bulk-operations.bulkdeletetenants
with:
tenant_ids[]: rest.tenant_ids[]
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/tenants/bulk/set
name: v1-tenants-bulk-set
description: REST surface for v1-tenants-bulk-set.
operations:
- method: POST
name: bulksettenants
description: Bulk set tenants
call: knock-bulk-operations.bulksettenants
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/users/bulk/delete
name: v1-users-bulk-delete
description: REST surface for v1-users-bulk-delete.
operations:
- method: POST
name: bulkdeleteusers
description: Bulk delete users
call: knock-bulk-operations.bulkdeleteusers
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/users/bulk/identify
name: v1-users-bulk-identify
description: REST surface for v1-users-bulk-identify.
operations:
- method: POST
name: bulkidentifyusers
description: Bulk identify users
call: knock-bulk-operations.bulkidentifyusers
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/users/bulk/preferences
name: v1-users-bulk-preferences
description: REST surface for v1-users-bulk-preferences.
operations:
- method: POST
name: bulksetuserpreferences
description: Bulk set preferences
call: knock-bulk-operations.bulksetuserpreferences
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: knock-bulk-operations-mcp
port: 9090
transport: http
description: MCP adapter for Knock API — Bulk operations. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: get-bulk-operation
description: Get bulk operation
hints:
readOnly: true
destructive: false
idempotent: true
call: knock-bulk-operations.getbulkoperation
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: bulk-update-message-statuses-channel
description: Bulk update message statuses for channel
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkupdatemessagesforchannel
with:
channel_id: tools.channel_id
action: tools.action
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-delete-objects
description: Bulk delete objects
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkdeleteobjects
with:
collection: tools.collection
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-set-objects
description: Bulk set objects
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulksetobjects
with:
collection: tools.collection
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-add-subscriptions
description: Bulk add subscriptions
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkaddsubscriptions
with:
collection: tools.collection
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-delete-subscriptions
description: Bulk delete subscriptions
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkdeletesubscriptions
with:
collection: tools.collection
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: create-schedules-bulk
description: Create schedules in bulk
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkcreateschedules
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-delete-tenants
description: Bulk delete tenants
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkdeletetenants
with:
tenant_ids[]: tools.tenant_ids[]
outputParameters:
- type: object
mapping: $.
- name: bulk-set-tenants
description: Bulk set tenants
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulksettenants
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-delete-users
description: Bulk delete users
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkdeleteusers
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-identify-users
description: Bulk identify users
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulkidentifyusers
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: bulk-set-preferences
description: Bulk set preferences
hints:
readOnly: false
destructive: false
idempotent: false
call: knock-bulk-operations.bulksetuserpreferences
with:
body: tools.body
outputParameters:
- type: object
mapping: $.