Knock logo

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
NotificationsMessagingInfrastructureWorkflowsCross-ChannelEmailSMSPushIn-AppChatSlackWebhooksMCPAI AgentsDeveloper 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.

APIs

Knock Workflows API

Trigger and cancel notification workflows and inspect workflow recipient runs. Workflows are Knock's core programmable model — orchestrating channel steps (email, SMS, push, in-...

Knock Users API

Identify, list, update, delete, and merge users plus manage their channel data, preferences, in-app feeds, guides, subscriptions, messages, and schedules. The primary recipient ...

Knock Messages API

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...

Knock Objects API

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...

Knock Tenants API

Manage Tenants — the top-level accounts or workspaces in your product. Tenants power tenant-scoped branding, preferences, and message-targeting.

Knock Schedules API

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.

Knock Audiences API

Manage static Audiences and their members. Audiences power lifecycle messaging — when a user joins an audience, configured workflows fire automatically.

Knock Channels API

Inspect channels and run bulk message-status updates scoped to a channel. Channels represent configured provider integrations (Resend, SendGrid, Twilio, APNS, Slack, etc.).

Knock Providers API

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...

Knock Integrations API

Inspect integrations configured for the current environment. Used by SlackKit and TeamsKit clients to discover the destinations available for a recipient.

Knock Bulk Operations API

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...

Knock Notify API

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)

Knock Management API (mAPI) — the resource-management surface at control.knock.app. Programmatic CRUD over Workflows, Channels, Email Layouts, Partials, Templates, Translations,...

Knock Outbound Webhooks

Outbound webhooks fire message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and environment-change (workflow / email_layout ...

Capabilities

Knock Audiences API — Audiences

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

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

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

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

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

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

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

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

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

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

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

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

Knock Workflows API — Workflows. 4 operations. Lead operation: triggerworkflow (2). Self-contained Naftiko capability covering one Knock business surface.

Run with Naftiko

Features

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)

Event Specifications

Knock Outbound Webhooks

Knock fires outbound webhook events for message lifecycle (sent, delivered, seen, read, interacted, archived, link_clicked, bounced, undelivered) and for environment changes (wo...

ASYNCAPI

Semantic Vocabularies

Knock App Context

0 classes · 11 properties

JSON-LD

API Governance Rules

Knock API Rules

8 rules · 3 errors 3 warnings 2 info

SPECTRAL

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🚀
GettingStarted
GettingStarted
📝
SignUp
SignUp
🔑
Authentication
Authentication
🔗
RateLimits
RateLimits
🔗
RateLimits
RateLimits
🔗
Idempotency
Idempotency
🔗
Pagination
Pagination
🔗
Errors
Errors
🔗
Errors
Errors
🟢
StatusPage
StatusPage
📄
ChangeLog
ChangeLog
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
TrustCenter
TrustCenter
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🔗
Plugins
Plugins
🔗
Webhooks
Webhooks
🔗
Webhooks
Webhooks
🔗
AsyncAPI
AsyncAPI
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Forum
Forum

Sources

Raw ↑
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'