Home
Knock
Knock
Knock is notifications infrastructure as a service — a product and customer messaging platform you use to power transactional, lifecycle, broadcast, and in-product messaging across email, SMS, push, in-app, in-app guides, chat (Slack / Discord / Teams / WhatsApp), and outbound webhooks. Knock exposes two REST surfaces — a runtime API (api.knock.app) for triggering workflows and managing recipients/messages, and a Management API (control.knock.app) for resource CRUD — together with official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP and mobile (Swift, Kotlin, Flutter, React Native, Expo); a CLI; a remote MCP server; an agent toolkit for OpenAI / AI SDK / Langchain / Mastra; outbound webhooks; AI agent workflow steps; SlackKit and TeamsKit; and a git-style environment / branch / commit model for safe promotion of notification resources.
14 APIs
13 Capabilities
31 Features
Notifications Messaging Infrastructure Workflows Cross-Channel Email SMS Push In-App Chat Slack Webhooks MCP AI Agents Developer Platform
Knock publishes 14 APIs on the APIs.io network, including Workflows API, Users API, Messages API, and 11 more. Tagged areas include Notifications, Messaging, Infrastructure, Workflows, and Cross-Channel.
The Knock catalog on APIs.io includes 13 machine-runnable capabilities , 1 event-driven AsyncAPI specification, 1 JSON-LD context, and 1 Spectral governance ruleset.
Knock’s developer surface includes developer portal, documentation, getting-started guide, signup flow, authentication, changelog, pricing, and 61 more developer resources.
Trigger and cancel notification workflows and inspect workflow recipient runs. Workflows are Knock's core programmable model — orchestrating channel steps (email, SMS, push, in-...
Identify, list, update, delete, and merge users plus manage their channel data, preferences, in-app feeds, guides, subscriptions, messages, and schedules. The primary recipient ...
Read, list, and update Knock messages — the per-recipient delivery records produced by workflow runs. Includes activity, delivery log, and event timelines plus mark-as-seen/read...
Create and manage non-user Objects in Knock and their channel data, preferences, subscriptions, and messages. Objects model accounts, projects, devices, or any non-human notific...
Manage Tenants — the top-level accounts or workspaces in your product. Tenants power tenant-scoped branding, preferences, and message-targeting.
Create, list, update, and delete workflow Schedules. Schedules fire workflows at one-off or recurring times for specific recipients with timezone and repeat-rule support.
Manage static Audiences and their members. Audiences power lifecycle messaging — when a user joins an audience, configured workflows fire automatically.
Inspect channels and run bulk message-status updates scoped to a channel. Channels represent configured provider integrations (Resend, SendGrid, Twilio, APNS, Slack, etc.).
OAuth provider endpoints supporting SlackKit, MS Teams Kit, and other inbound provider integrations — authorize, revoke, and inspect connections to chat providers on behalf of u...
Inspect integrations configured for the current environment. Used by SlackKit and TeamsKit clients to discover the destinations available for a recipient.
Track and inspect long-running bulk operations. Many Knock endpoints (bulk identify users, bulk delete, bulk channel-status updates) return a bulk-operation handle; this surface...
Internal notify endpoints used by the Knock event-driven trigger surface. Used to send notifications when workflows fire from source events, schedules, audiences, or programmati...
Knock Management API (mAPI) — the resource-management surface at control.knock.app. Programmatic CRUD over Workflows, Channels, Email Layouts, Partials, Templates, Translations,...
Outbound webhooks fire message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and environment-change (workflow / email_layout ...
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
Knock Audiences API — Audiences. 3 operations. Lead operation: addaudiencemembers. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Bulk Operations API — Bulk-Operations. 1 operations. Lead operation: getbulkoperation. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Channels API — Channels. 1 operations. Lead operation: bulkupdatemessagesforchannel. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Integrations API — Integrations. 2 operations. Lead operation: processcensusrpcrequest. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Management API (mAPI) — Management. 65 operations. Lead operation: validateworkflow. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Messages API — Messages. 24 operations. Lead operation: batchmarkmessagesasunarchived. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Notify API — Notify. 2 operations. Lead operation: cancelworkflow (2). Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Objects API — Objects. 26 operations. Lead operation: updateobjectpreferenceworkflows. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Providers API — Providers. 7 operations. Lead operation: slackproviderrevokeaccess. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Schedules API — Schedules. 5 operations. Lead operation: createschedules. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Tenants API — Tenants. 6 operations. Lead operation: settenant. Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Users API — Users. 35 operations. Lead operation: markuserguideasseen (2). Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Knock Workflows API — Workflows. 4 operations. Lead operation: triggerworkflow (2). Self-contained Naftiko capability covering one Knock business surface.
Run with Naftiko
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
Cross-channel notification workflows — email, SMS, push, in-app, in-app guides, chat (Slack/Discord/Teams/WhatsApp), and outbound webhooks from one trigger
Workflow function steps — batch, delay, branch, experiment, throttle, fetch (HTTP), AI agent, trigger-workflow, update-user / update-tenant / update-object / update-data / update-audience
Drag-and-drop workflow builder used collaboratively by engineering, product, and growth
Broadcasts — one-time messages to audience-targeted groups from the Knock dashboard
Guides — in-app lifecycle messaging using your own components and design system
Recipients model — Users, non-user Objects, and Tenants with channel data and properties
Preferences — per-channel, per-workflow, per-category preference sets enforced automatically on every run and broadcast
Audiences — static and dynamic user segments that automatically drive lifecycle workflow triggers
Schedules — one-off and recurring (timezone-aware) workflow firing
Subscriptions — many-to-many fan-out from Objects to recipient lists
Conditions — dynamic control flow on trigger data, recipient properties, and prior step status
Templates — drag-and-drop editor + Liquid; partials, branding, translations (i18n), email layouts
Real-time in-app feed API plus pre-built React, JavaScript, iOS, Android, Flutter, React Native, Expo, and Vue/Nuxt SDKs
Outbound webhook events for full message lifecycle and environment change tracking
Customer-facing webhook channel (let your customers configure their own webhook destinations)
Idempotent requests via Idempotency-Key
Cursor-based pagination
Tiered per-endpoint rate limits (1, 5, 60, 200, 1000 req/sec) scoped per environment or per signed user
Enhanced security mode with signed user tokens (JWT)
Environments + Branches + Commits — git-style resource workflow with promotion across dev/staging/prod
Knock CLI for local-first resource management against the Management API
Knock MCP server (remote) at mcp.knock.app/mcp — OAuth 2.1 + PKCE; tool groups for resources, commits, debug, data, and docs
Knock Agent Toolkit — AI SDK, OpenAI function-calling, Langchain, Mastra, and local MCP server bindings
AI agent function step inside workflows for prompt-driven enrichment and personalization
Knock skills — procedural knowledge packages for AI agents working with Knock
SlackKit and TeamsKit — drop-in OAuth + channel-data UX for connecting customer Slack/Teams workspaces
Data warehouse / Segment / Datadog observability streams
Source events — trigger workflows from CDPs (Segment, Rudderstack) or reverse-ETL (Hightouch, Census)
Multi-tenancy with per-tenant branding and locked preferences (Enterprise)
SAML 2.0 SSO, SCIM directory sync, HIPAA / BAA on Enterprise
Official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP, plus mobile (Swift, Kotlin, Flutter, React Native, Expo) and Management-API SDKs (Node, Python, Go)
Knock fires outbound webhook events for message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and for environment changes (wo...
ASYNCAPI
0 classes · 11 properties
JSON-LD
8 rules ·
3 errors
3 warnings
2 info
SPECTRAL
Sources
aid: knock-app
url: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/apis.yml
apis:
- aid: knock-app:knock-workflows-api
name: Knock Workflows API
tags:
- Workflows
- Notifications
- Messaging
- Triggers
humanURL: https://docs.knock.app/api-reference/workflows
properties:
- url: https://docs.knock.app/api-reference/workflows
type: Documentation
- url: https://docs.knock.app/send-notifications/triggering-workflows/api
type: Documentation
- url: openapi/knock-workflows-api-openapi.yml
type: OpenAPI
- url: json-schema/knock-workflow-trigger-schema.json
type: JSONSchema
- url: examples/knock-trigger-workflow-example.json
type: Examples
- url: capabilities/workflows.yaml
type: NaftikoCapability
description: Trigger and cancel notification workflows and inspect workflow recipient runs. Workflows are
Knock's core programmable model — orchestrating channel steps (email, SMS, push, in-app, chat, webhook)
and function steps (batch, delay, branch, throttle, fetch, AI agent, trigger-workflow) with conditions and
preferences across recipients.
- aid: knock-app:knock-users-api
name: Knock Users API
tags:
- Users
- Recipients
- Preferences
- In-App Feed
- Guides
humanURL: https://docs.knock.app/api-reference/users
properties:
- url: https://docs.knock.app/api-reference/users
type: Documentation
- url: openapi/knock-users-api-openapi.yml
type: OpenAPI
- url: examples/knock-identify-user-example.json
type: Examples
- url: capabilities/users.yaml
type: NaftikoCapability
description: Identify, list, update, delete, and merge users plus manage their channel data, preferences,
in-app feeds, guides, subscriptions, messages, and schedules. The primary recipient surface for Knock.
- aid: knock-app:knock-messages-api
name: Knock Messages API
tags:
- Messages
- Engagement
- Delivery
humanURL: https://docs.knock.app/api-reference/messages
properties:
- url: https://docs.knock.app/api-reference/messages
type: Documentation
- url: openapi/knock-messages-api-openapi.yml
type: OpenAPI
- url: json-schema/knock-message-schema.json
type: JSONSchema
- url: capabilities/messages.yaml
type: NaftikoCapability
description: Read, list, and update Knock messages — the per-recipient delivery records produced by workflow
runs. Includes activity, delivery log, and event timelines plus mark-as-seen/read/interacted/archived single
and batch endpoints.
- aid: knock-app:knock-objects-api
name: Knock Objects API
tags:
- Objects
- Non-User Recipients
humanURL: https://docs.knock.app/api-reference/objects
properties:
- url: https://docs.knock.app/api-reference/objects
type: Documentation
- url: openapi/knock-objects-api-openapi.yml
type: OpenAPI
- url: capabilities/objects.yaml
type: NaftikoCapability
description: Create and manage non-user Objects in Knock and their channel data, preferences, subscriptions,
and messages. Objects model accounts, projects, devices, or any non-human notification target.
- aid: knock-app:knock-tenants-api
name: Knock Tenants API
tags:
- Tenants
- Multi-Tenancy
- Branding
humanURL: https://docs.knock.app/api-reference/tenants
properties:
- url: https://docs.knock.app/api-reference/tenants
type: Documentation
- url: openapi/knock-tenants-api-openapi.yml
type: OpenAPI
- url: capabilities/tenants.yaml
type: NaftikoCapability
description: Manage Tenants — the top-level accounts or workspaces in your product. Tenants power
tenant-scoped branding, preferences, and message-targeting.
- aid: knock-app:knock-schedules-api
name: Knock Schedules API
tags:
- Schedules
- Recurring
- Cron
humanURL: https://docs.knock.app/api-reference/schedules
properties:
- url: https://docs.knock.app/api-reference/schedules
type: Documentation
- url: https://docs.knock.app/concepts/schedules
type: Documentation
- url: openapi/knock-schedules-api-openapi.yml
type: OpenAPI
- url: examples/knock-create-schedule-example.json
type: Examples
- url: capabilities/schedules.yaml
type: NaftikoCapability
description: Create, list, update, and delete workflow Schedules. Schedules fire workflows at one-off or
recurring times for specific recipients with timezone and repeat-rule support.
- aid: knock-app:knock-audiences-api
name: Knock Audiences API
tags:
- Audiences
- Segments
- Lifecycle
humanURL: https://docs.knock.app/api-reference/audiences
properties:
- url: https://docs.knock.app/api-reference/audiences
type: Documentation
- url: openapi/knock-audiences-api-openapi.yml
type: OpenAPI
- url: capabilities/audiences.yaml
type: NaftikoCapability
description: Manage static Audiences and their members. Audiences power lifecycle messaging — when a user
joins an audience, configured workflows fire automatically.
- aid: knock-app:knock-channels-api
name: Knock Channels API
tags:
- Channels
- Providers
- Bulk
humanURL: https://docs.knock.app/api-reference/channels
properties:
- url: https://docs.knock.app/api-reference/channels
type: Documentation
- url: openapi/knock-channels-api-openapi.yml
type: OpenAPI
- url: capabilities/channels.yaml
type: NaftikoCapability
description: Inspect channels and run bulk message-status updates scoped to a channel. Channels represent
configured provider integrations (Resend, SendGrid, Twilio, APNS, Slack, etc.).
- aid: knock-app:knock-providers-api
name: Knock Providers API
tags:
- Providers
- OAuth
- SlackKit
- TeamsKit
humanURL: https://docs.knock.app/api-reference/providers
properties:
- url: https://docs.knock.app/api-reference/providers
type: Documentation
- url: openapi/knock-providers-api-openapi.yml
type: OpenAPI
- url: capabilities/providers.yaml
type: NaftikoCapability
description: OAuth provider endpoints supporting SlackKit, MS Teams Kit, and other inbound provider
integrations — authorize, revoke, and inspect connections to chat providers on behalf of users or tenants.
- aid: knock-app:knock-integrations-api
name: Knock Integrations API
tags:
- Integrations
- SlackKit
- TeamsKit
humanURL: https://docs.knock.app/api-reference/integrations
properties:
- url: https://docs.knock.app/api-reference/integrations
type: Documentation
- url: openapi/knock-integrations-api-openapi.yml
type: OpenAPI
- url: capabilities/integrations.yaml
type: NaftikoCapability
description: Inspect integrations configured for the current environment. Used by SlackKit and TeamsKit
clients to discover the destinations available for a recipient.
- aid: knock-app:knock-bulk-operations-api
name: Knock Bulk Operations API
tags:
- Bulk
- Operations
- Async
humanURL: https://docs.knock.app/api-reference/bulk_operations
properties:
- url: https://docs.knock.app/api-reference/bulk_operations
type: Documentation
- url: openapi/knock-bulk-operations-api-openapi.yml
type: OpenAPI
- url: capabilities/bulk-operations.yaml
type: NaftikoCapability
description: Track and inspect long-running bulk operations. Many Knock endpoints (bulk identify users,
bulk delete, bulk channel-status updates) return a bulk-operation handle; this surface exposes its
lifecycle.
- aid: knock-app:knock-notify-api
name: Knock Notify API
tags:
- Notify
- Events
humanURL: https://docs.knock.app/api-reference/overview
properties:
- url: openapi/knock-notify-api-openapi.yml
type: OpenAPI
- url: capabilities/notify.yaml
type: NaftikoCapability
description: Internal notify endpoints used by the Knock event-driven trigger surface. Used to send
notifications when workflows fire from source events, schedules, audiences, or programmatic triggers.
- aid: knock-app:knock-management-api
name: Knock Management API (mAPI)
tags:
- Management
- Resources
- CLI
- MCP
- DevOps
humanURL: https://docs.knock.app/mapi
properties:
- url: https://docs.knock.app/mapi
type: Documentation
- url: https://docs.knock.app/developer-tools/management-api
type: Documentation
- url: openapi/knock-management-api-openapi.yml
type: OpenAPI
- url: capabilities/management.yaml
type: NaftikoCapability
description: Knock Management API (mAPI) — the resource-management surface at control.knock.app. Programmatic
CRUD over Workflows, Channels, Email Layouts, Partials, Templates, Translations, Audiences, Broadcasts,
Guides, Message Types, Variables, Members, Channel Groups, Environments, Branches, Commits, and API Keys.
Powers the Knock CLI and MCP server.
- aid: knock-app:knock-webhooks
name: Knock Outbound Webhooks
tags:
- Webhooks
- Events
- AsyncAPI
humanURL: https://docs.knock.app/developer-tools/outbound-webhooks/overview
properties:
- url: https://docs.knock.app/developer-tools/outbound-webhooks/overview
type: Documentation
- url: https://docs.knock.app/developer-tools/outbound-webhooks/event-types
type: Documentation
- url: asyncapi/knock-webhooks-asyncapi.yml
type: AsyncAPI
description: Outbound webhooks fire message lifecycle (sent, delivered, seen, read, interacted, archived,
link_clicked, bounced, undelivered) and environment-change (workflow / email_layout / translation / partial
/ source_event_action updates and commits) events as JSON POSTs to subscriber URLs configured in the Knock
dashboard.
name: Knock
tags:
- Notifications
- Messaging
- Infrastructure
- Workflows
- Cross-Channel
- Email
- SMS
- Push
- In-App
- Chat
- Slack
- Webhooks
- MCP
- AI Agents
- Developer Platform
kind: contract
image: https://kinlane-productions2.s3.amazonaws.com/apis-json/apis-json-logo.jpg
access: 3rd-Party
common:
- type: Portal
url: https://knock.app
- type: Documentation
url: https://docs.knock.app/
- type: Documentation
name: API Reference
url: https://docs.knock.app/api-reference/overview
- type: Documentation
name: Management API Reference
url: https://docs.knock.app/mapi
- type: GettingStarted
url: https://docs.knock.app/getting-started/what-is-knock
- type: GettingStarted
name: Quick start
url: https://docs.knock.app/getting-started/quick-start/general
- type: SignUp
url: https://dashboard.knock.app/signup
- type: Authentication
url: https://docs.knock.app/api-reference/overview/authentication
- type: RateLimits
url: https://docs.knock.app/api-reference/overview/rate-limits
- type: RateLimits
name: Batch rate limits
url: https://docs.knock.app/api-reference/overview/batch-rate-limits
- type: Idempotency
url: https://docs.knock.app/api-reference/overview/idempotent-requests
- type: Pagination
url: https://docs.knock.app/api-reference/overview/pagination
- type: Errors
url: https://docs.knock.app/api-reference/overview/errors
- type: Errors
name: Common error codes
url: https://docs.knock.app/api-reference/overview/error-codes
- type: StatusPage
url: https://status.knock.app
- type: ChangeLog
url: https://docs.knock.app/changelog
- type: Pricing
url: https://knock.app/pricing
- type: TermsOfService
url: https://knock.app/legal/terms
- type: PrivacyPolicy
url: https://knock.app/legal/privacy
- type: TrustCenter
url: https://trust.knock.app
- type: Blog
url: https://knock.app/blog
- type: GitHubOrganization
url: https://github.com/knocklabs
- type: SDK
name: Node SDK
url: https://github.com/knocklabs/knock-node
- type: SDK
name: Python SDK
url: https://github.com/knocklabs/knock-python
- type: SDK
name: Ruby SDK
url: https://github.com/knocklabs/knock-ruby
- type: SDK
name: Go SDK
url: https://github.com/knocklabs/knock-go
- type: SDK
name: Elixir SDK
url: https://github.com/knocklabs/knock-elixir
- type: SDK
name: Java SDK
url: https://github.com/knocklabs/knock-java
- type: SDK
name: .NET SDK
url: https://github.com/knocklabs/knock-dotnet
- type: SDK
name: PHP SDK
url: https://github.com/knocklabs/knock-php
- type: SDK
name: iOS / Swift SDK
url: https://github.com/knocklabs/knock-swift
- type: SDK
name: Android / Kotlin SDK
url: https://github.com/knocklabs/knock-android
- type: SDK
name: Flutter SDK
url: https://github.com/knocklabs/knock-flutter
- type: SDK
name: JavaScript / React SDKs
url: https://github.com/knocklabs/javascript
- type: SDK
name: Knock Management Node SDK
url: https://github.com/knocklabs/knock-mgmt-node
- type: SDK
name: Knock Management Python SDK
url: https://github.com/knocklabs/knock-mgmt-python
- type: SDK
name: Knock Management Go SDK
url: https://github.com/knocklabs/knock-mgmt-go
- type: Tool
name: Knock CLI
url: https://github.com/knocklabs/knock-cli
- type: Tool
name: Knock MCP Server (remote)
url: https://mcp.knock.app/mcp
- type: Tool
name: Knock MCP Server source
url: https://github.com/knocklabs/knock-mcp
- type: Tool
name: Knock Agent Toolkit
url: https://github.com/knocklabs/agent-toolkit
- type: Tool
name: Knock Telegraph (React component library)
url: https://github.com/knocklabs/telegraph
- type: CodeExamples
name: In-app notifications Next.js example
url: https://github.com/knocklabs/in-app-notifications-example-nextjs
- type: CodeExamples
name: SlackKit example
url: https://github.com/knocklabs/slack-kit-example
- type: CodeExamples
name: iOS example app
url: https://github.com/knocklabs/ios-example-app
- type: CodeExamples
name: AI agent examples
url: https://github.com/knocklabs/ai-agent-examples
- type: CodeExamples
name: Workflow templates
url: https://github.com/knocklabs/workflow-templates
- type: CodeExamples
name: Notion feed example
url: https://github.com/knocklabs/notion-feed-example
- type: CodeExamples
name: Marketplace example
url: https://github.com/knocklabs/marketplace-example
- type: Plugins
name: React notification feed components
url: https://github.com/knocklabs/react-notification-feed
- type: Webhooks
url: https://docs.knock.app/developer-tools/outbound-webhooks/overview
- type: Webhooks
name: Webhook event types
url: https://docs.knock.app/developer-tools/outbound-webhooks/event-types
- type: AsyncAPI
url: asyncapi/knock-webhooks-asyncapi.yml
- type: Plans
url: plans/knock-plans-pricing.yml
- type: RateLimits
url: rate-limits/knock-rate-limits.yml
- type: FinOps
url: finops/knock-finops.yml
- type: JSONLD
url: json-ld/knock-app-context.jsonld
- type: Vocabulary
url: vocabulary/knock-app-vocabulary.yml
- type: SpectralRules
url: rules/knock-app-rules.yml
- type: Documentation
name: Knock MCP server docs
url: https://docs.knock.app/ai/mcp-server
- type: Documentation
name: Knock agent docs
url: https://docs.knock.app/ai/agent
- type: Documentation
name: Knock skills
url: https://docs.knock.app/ai/skills
- type: Documentation
name: Agent workflow function
url: https://docs.knock.app/ai/agent-function
- type: Documentation
name: Service tokens
url: https://docs.knock.app/developer-tools/service-tokens
- type: Documentation
name: Environments
url: https://docs.knock.app/concepts/environments
- type: Documentation
name: Commits
url: https://docs.knock.app/concepts/commits
- type: Documentation
name: Liquid helpers reference
url: https://docs.knock.app/template-editor/reference-liquid-helpers
- type: Forum
name: Knock Slack community
url: https://knock.app/community
- type: Features
data:
- Cross-channel notification workflows — email, SMS, push, in-app, in-app guides, chat (Slack/Discord/Teams/WhatsApp),
and outbound webhooks from one trigger
- Workflow function steps — batch, delay, branch, experiment, throttle, fetch (HTTP), AI agent, trigger-workflow,
update-user / update-tenant / update-object / update-data / update-audience
- Drag-and-drop workflow builder used collaboratively by engineering, product, and growth
- Broadcasts — one-time messages to audience-targeted groups from the Knock dashboard
- Guides — in-app lifecycle messaging using your own components and design system
- Recipients model — Users, non-user Objects, and Tenants with channel data and properties
- Preferences — per-channel, per-workflow, per-category preference sets enforced automatically on every run
and broadcast
- Audiences — static and dynamic user segments that automatically drive lifecycle workflow triggers
- Schedules — one-off and recurring (timezone-aware) workflow firing
- Subscriptions — many-to-many fan-out from Objects to recipient lists
- Conditions — dynamic control flow on trigger data, recipient properties, and prior step status
- Templates — drag-and-drop editor + Liquid; partials, branding, translations (i18n), email layouts
- Real-time in-app feed API plus pre-built React, JavaScript, iOS, Android, Flutter, React Native, Expo,
and Vue/Nuxt SDKs
- Outbound webhook events for full message lifecycle and environment change tracking
- Customer-facing webhook channel (let your customers configure their own webhook destinations)
- Idempotent requests via Idempotency-Key
- Cursor-based pagination
- Tiered per-endpoint rate limits (1, 5, 60, 200, 1000 req/sec) scoped per environment or per signed user
- Enhanced security mode with signed user tokens (JWT)
- Environments + Branches + Commits — git-style resource workflow with promotion across dev/staging/prod
- Knock CLI for local-first resource management against the Management API
- Knock MCP server (remote) at mcp.knock.app/mcp — OAuth 2.1 + PKCE; tool groups for resources, commits,
debug, data, and docs
- Knock Agent Toolkit — AI SDK, OpenAI function-calling, Langchain, Mastra, and local MCP server bindings
- AI agent function step inside workflows for prompt-driven enrichment and personalization
- Knock skills — procedural knowledge packages for AI agents working with Knock
- SlackKit and TeamsKit — drop-in OAuth + channel-data UX for connecting customer Slack/Teams workspaces
- Data warehouse / Segment / Datadog observability streams
- Source events — trigger workflows from CDPs (Segment, Rudderstack) or reverse-ETL (Hightouch, Census)
- Multi-tenancy with per-tenant branding and locked preferences (Enterprise)
- SAML 2.0 SSO, SCIM directory sync, HIPAA / BAA on Enterprise
- Official SDKs in Node, Python, Ruby, Go, Elixir, Java, .NET, PHP, plus mobile (Swift, Kotlin, Flutter,
React Native, Expo) and Management-API SDKs (Node, Python, Go)
sources:
- https://knock.app
- https://knock.app/pricing
- https://docs.knock.app/getting-started/what-is-knock
- https://docs.knock.app/api-reference/overview
- https://docs.knock.app/ai/mcp-server
- https://github.com/knocklabs
updated: '2026-05-25'
created: '2026-05-25'
modified: '2026-05-25'
position: Consuming
description: Knock is notifications infrastructure as a service — a product and customer messaging platform you
use to power transactional, lifecycle, broadcast, and in-product messaging across email, SMS, push, in-app,
in-app guides, chat (Slack / Discord / Teams / WhatsApp), and outbound webhooks. Knock exposes two REST
surfaces — a runtime API (api.knock.app) for triggering workflows and managing recipients/messages, and a
Management API (control.knock.app) for resource CRUD — together with official SDKs in Node, Python, Ruby,
Go, Elixir, Java, .NET, PHP and mobile (Swift, Kotlin, Flutter, React Native, Expo); a CLI; a remote MCP
server; an agent toolkit for OpenAI / AI SDK / Langchain / Mastra; outbound webhooks; AI agent workflow
steps; SlackKit and TeamsKit; and a git-style environment / branch / commit model for safe promotion of
notification resources.
maintainers:
- FN: Kin Lane
email: [email protected]
X: apievangelist
url: https://apievangelist.com
specificationVersion: '0.16'