Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Knock Bulk operations API

The Bulk operations API from Knock — 12 operation(s) for bulk operations.

Knock Bulk operations API is one of 35 APIs that Knock publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Bulk operations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 2 JSON Schemas.

This API exposes 12 operations across 12 paths, and defines 42 schemas. It is described by OpenAPI 3.0.3, at version 1.0.

Requests are made against a single base URL, https://api.knock.app.

12 operations 12 paths 42 schemas 1 GET11 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
1.0
Server
https://api.knock.app
Authentication
HTTP Bearer
Contact
License
Proprietary
Resource Areas
1

Authentication & Security 1

Knock Bulk operations API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerAuth). By default, every request must be authenticated.

  • BearerAuth — Knock API key as a Bearer token. Use a public key (pk...) for client-side requests or a secret key (sk...) for server-side.

Paths & Operations 12

Across 12 paths, the API surfaces 12 operations — 1 GET, 11 POST. Each is listed below with its method, path, parameters, and response codes.

Bulk operations 12
GET
/v1/bulk_operations/{id}
Get bulk operation
getBulkOperation 1 param → 200
POST
/v1/channels/{channel_id}/messages/bulk/{action}
Bulk update message statuses for channel
bulkUpdateMessagesForChannel 2 params body → 200
POST
/v1/objects/{collection}/bulk/delete
Bulk delete objects
bulkDeleteObjects 1 param body → 200
POST
/v1/objects/{collection}/bulk/subscriptions/add
Bulk add subscriptions
bulkAddSubscriptions 1 param body → 200
POST
/v1/objects/{collection}/bulk/subscriptions/delete
Bulk delete subscriptions
bulkDeleteSubscriptions 1 param body → 200
POST
/v1/objects/{collection}/bulk/set
Bulk set objects
bulkSetObjects 1 param body → 200
POST
/v1/schedules/bulk/create
Create schedules in bulk
bulkCreateSchedules body → 200
POST
/v1/tenants/bulk/delete
Bulk delete tenants
bulkDeleteTenants 1 param → 200
POST
/v1/tenants/bulk/set
Bulk set tenants
bulkSetTenants body → 200
POST
/v1/users/bulk/preferences
Bulk set preferences
bulkSetUserPreferences body → 200
POST
/v1/users/bulk/identify
Bulk identify users
bulkIdentifyUsers body → 200
POST
/v1/users/bulk/delete
Bulk delete users
bulkDeleteUsers body → 200

Schemas 42

The contract defines 42 schemas that model the data the API accepts and returns. The most detailed are BulkOperation (15 properties), InlineIdentifyUserRequest (10 properties), BulkUpdateMessagesForChannelRequest (10 properties), ScheduleRepeatRule (7 properties). Each schema is shown below with its type and property counts.

SlackTokenConnection
object
A Slack connection token.
3 properties
BulkUpsertSubscriptionsRequest
object
A request to upsert subscriptions for many groups of 1 subscribed-to object, N subscriber recipients.
1 property 1 required
TenantRequest
object
A tenant to be set in the system. You can supply any additional properties on the tenant object.
5 properties 1 required
BulkCreateSchedulesRequest
object
A request to bulk create schedules. Accepts a list of schedules to create. Each schedule must have a single recipient. The recipients do not have to be unique.
1 property 1 required
PushChannelDataTokensOnly
object
Push channel data.
1 property 1 required
InlinePreferenceSetRequest
object
Inline set preferences for a recipient, where the key is the preference set id. Preferences that are set inline will be merged into any existing preferences ra…
BulkDeleteUsersRequest
object
A request to delete users in bulk.
1 property 1 required
BulkDeleteSubscriptionsRequest
object
A request to delete subscriptions for many groups of 1 subscribed-to object, N subscriber recipients.
1 property 1 required
PreferenceSetChannels
object
Channel preferences.
InlineIdentifyObjectRequest
object
A custom [Object](/concepts/objects) entity which belongs to a collection.
6 properties 2 required
SlackIncomingWebhookConnection
object
A Slack connection incoming webhook.
1 property 1 required
InlineChannelDataRequest
object
A request to set channel data for a type of channel inline.
PushChannelDataDevicesOnly
object
Push channel data.
1 property 1 required
DiscordChannelData
object
Discord channel data.
1 property 1 required
MsTeamsChannelData
object
Microsoft Teams channel data.
2 properties 1 required
BulkSetTenantsRequest
object
A request to set tenants in bulk.
1 property 1 required
SlackChannelData
object
Slack channel data.
2 properties 1 required
PreferenceSetChannelTypeSetting
object
A set of settings for a channel type. Currently, this can only be a list of conditions to apply.
1 property 1 required
Condition
object
A condition to be evaluated.
3 properties 3 required
BulkIdentifyUsersRequest
object
A request to identify a list of users.
1 property 1 required
AWSSNSPushChannelDataTargetARNsOnly
object
AWS SNS push channel data.
1 property 1 required
PreferenceSetChannelTypes
object
Channel type preferences.
6 properties
PreferenceSetChannelSetting
object
A set of settings for a specific channel. Currently, this can only be a list of conditions to apply.
1 property 1 required
BulkSetUserPreferencesRequest
object
A request to set preferences for a set of users in bulk.
2 properties 2 required
BulkDeleteObjectsRequest
object
Request body for bulk deleting objects.
1 property 1 required
DiscordIncomingWebhookConnection
object
Discord incoming webhook connection.
1 property 1 required
InlineIdentifyUserRequest
object
A set of parameters to inline-identify a user with. Inline identifying the user will ensure that the user is available before the request is executed in Knock.…
10 properties 1 required
AWSSNSPushChannelDataDevicesOnly
object
AWS SNS push channel data.
1 property 1 required
RecipientRequest
Specifies a recipient in a request. This can either be a user identifier (string), an inline user request (object), or an inline object request, which is deter…
BulkUpdateMessagesForChannelRequest
object
Updates message statuses in a specified channel. Use the channelid parameter to target the channel and the status parameter to define what the status should be…
10 properties
ScheduleRepeatRule
object
The repeat rule for the schedule.
7 properties 1 required
OneSignalChannelDataPlayerIdsOnly
object
OneSignal channel data.
1 property 1 required
BulkSetObjectsRequest
object
A request to set objects in bulk.
1 property 1 required
DiscordChannelConnection
object
Discord channel connection.
1 property 1 required
InlineTenantRequest
An request to set a tenant inline.
MsTeamsIncomingWebhookConnection
object
Microsoft Teams incoming webhook connection.
1 property 1 required
BulkOperation
object
A bulk operation entity.
15 properties 9 required
BulkSetObjectRequest
object
A custom [Object](/concepts/objects) entity which belongs to a collection.
5 properties 1 required
PreferenceSetWorkflowCategorySetting
object
Workflow or category preferences within a preference set
PreferenceSetRequest
object
A request to set a preference set for a recipient.
6 properties
MsTeamsTokenConnection
object
Microsoft Teams token connection.
4 properties
RecipientReference
A reference to a recipient, either a user identifier (string) or an object reference (ID, collection).

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

knock-app-bulk-operations-api-openapi.yml Raw ↑

Other APIs Knock publishes across the network.

Knock Outbound Webhooks
Knock Accounts API
Knock API keys API
Knock Audiences API
Knock Branches API
Knock Broadcasts API
Knock Channel data API
Knock Channel Groups API
Knock Channels API
Knock Commits API
Knock Email layouts API
Knock Environments API