Knock Users API

The Users API from Knock — 28 operation(s) for users.

Operations 18

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

DELETE /v1/users/{user_id} Delete a user and their data · Delete user #
Ask an LLM
“How do I permanently delete a user and all their notification data?”
“Can a deleted user be restored?”
Tell an agent destructive · confirm first
Delete user {user_id}.
Permanently erase user {user_id} and their data.
GET /v1/users/{user_id} Get a user · Get user #
Ask an LLM
“How do I look up a user's profile and contact details?”
“Can I fetch one recipient by their user ID?”
Tell an agent
Get user {user_id}.
Show the profile of user {user_id}.
PUT /v1/users/{user_id} Create or update a user · Identify user #
Ask an LLM
“How do I add a new recipient with their email and phone number?”
“Are a user's existing properties merged or overwritten when I identify them again?”
Tell an agent
Identify user {user_id} with email {email}.
Update user {user_id}'s phone number to {phone_number} and timezone to {timezone}.
PUT /v1/users/{user_id}/preferences/{id}/categories/{key} Update one category in a user's preferences (deprecated) · Update category in user preference set #
Ask an LLM
“Can I still change a single category preference for a user through the deprecated endpoint?”
“How do I opt a user out of one notification category?”
Tell an agent
Turn off category {key} in user {user_id}'s preference set {id} using the deprecated single-category endpoint.
Update the single category {key} for user {user_id} in preference set {id}.
POST /v1/users/{user_id}/merge Merge two users into one · Merge users #
Ask an LLM
“How do I combine a duplicate user record into the main one?”
“Which user survives when two users are merged?”
Tell an agent
Merge user {from_user_id} into user {user_id}.
Fold duplicate {from_user_id} into {user_id}.
POST /v1/users/bulk/preferences Set preferences for many users · Bulk set preferences #
Ask an LLM
“How do I apply the same preference set to thousands of users?”
“Can I bulk set per-tenant preferences for many users?”
Tell an agent
Set preferences {preferences} for users {user_ids}.
Apply preference set {preferences} to these users in bulk: {user_ids}.
POST /v1/users/bulk/identify Create or update many users at once · Bulk identify users #
Ask an LLM
“How do I import up to 1,000 users in one request?”
“Can I sync users with channel data in bulk?”
Tell an agent
Bulk identify users {users}.
Create or update this batch of recipients: {users}.
PUT /v1/users/{user_id}/preferences/{id}/workflows Update a user's workflow preferences (deprecated) · Update workflows in preference set #
Ask an LLM
“How do I replace every workflow opt-in in a user's preference set with the deprecated endpoint?”
“Can a user opt out of several workflows in one update?”
Tell an agent
Replace the workflows section of user {user_id}'s preference set {id}.
Update every workflow opt-in at once for user {user_id} in preference set {id}.
PUT /v1/users/{user_id}/preferences/{id}/categories Update a user's category preferences (deprecated) · Update categories in user preference set #
Ask an LLM
“How do I replace a user's category preferences all at once?”
“Can I set every category opt-in for a user in one call?”
Tell an agent
Replace the categories section of user {user_id}'s preference set {id}.
Update every category opt-in at once for user {user_id} in preference set {id}.
POST /v1/users/bulk/delete Delete many users at once · Bulk delete users #
Ask an LLM
“How do I permanently delete a batch of users?”
“How many users can I delete in a single bulk request?”
Tell an agent destructive · confirm first
Bulk delete users {user_ids}.
Permanently erase these users at once: {user_ids}.
PUT /v1/users/{user_id}/preferences/{id}/channel_types/{type} Update one channel type in a user's preferences (deprecated) · Update channel type in preference set #
Ask an LLM
“How do I turn off only SMS for a user?”
“Can I toggle a single channel type for a user without touching others?”
Tell an agent
Disable channel type {type} in user {user_id}'s preference set {id}.
Update only the {type} channel type setting for user {user_id} in preference set {id}.
GET /v1/users/{user_id}/preferences List a user's preference sets · List user preference sets #
Ask an LLM
“Which preference sets does a user have, including per-tenant ones?”
“Can I see all of a user's notification preferences?”
Tell an agent
List preference sets for user {user_id}.
Show every preference set stored for user {user_id}.
GET /v1/users List users · List users #
Ask an LLM
“Which users exist in this environment?”
“How many users come back per page by default?”
Tell an agent
List all users.
List users including {include}, {page_size} per page.
PUT /v1/users/{user_id}/preferences/{id}/workflows/{key} Update one workflow in a user's preferences (deprecated) · Update workflow in user preference set #
Ask an LLM
“How do I opt a user out of a single workflow?”
“Can I change one workflow preference for a user and leave the rest?”
Tell an agent
Turn off workflow {key} in user {user_id}'s preference set {id}.
Update just the {key} workflow preference for user {user_id} in preference set {id}.
DELETE /v1/users/{user_id}/preferences/{id} Delete a user's preference set · Delete user preference set #
Ask an LLM
“How do I remove a preference set from a user entirely?”
“Can I unset a user's per-tenant preferences?”
Tell an agent destructive · confirm first
Delete preference set {id} for user {user_id}.
Unset user {user_id}'s {id} preferences.
GET /v1/users/{user_id}/preferences/{id} Get one of a user's preference sets · Get user preference set #
Ask an LLM
“How do I read a user's default preference set?”
“Can I get a user's preferences for a specific tenant?”
Tell an agent
Get preference set {id} for user {user_id}.
Show user {user_id}'s {id} preferences for tenant {tenant}.
PUT /v1/users/{user_id}/preferences/{id} Replace or merge a user's preference set · Update user preference set #
Ask an LLM
“How do I save all of a user's notification preferences in one call?”
“Can I merge new preferences rather than replacing the whole set?”
Tell an agent
Update preference set {id} for user {user_id}.
Set user {user_id}'s {id} preferences with channel types {channel_types}.
PUT /v1/users/{user_id}/preferences/{id}/channel_types Update a user's channel type preferences (deprecated) · Update channel types in preference set #
Ask an LLM
“How do I set every channel type preference for a user at once?”
“Can I replace a user's email, SMS and push settings together?”
Tell an agent
Replace the channel types section of user {user_id}'s preference set {id}.
Update every channel type setting at once for user {user_id} in preference set {id}.

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/knock-app:knock-app-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

knock-app-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Knock Users API
  version: '1.0'
  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.
  contact:
    name: Knock
    url: https://knock.app
  license:
    name: Proprietary
servers:
- url: https://api.knock.app
  variables: {}
security:
- BearerAuth: []
tags:


# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knock-app/refs/heads/main/openapi/knock-app-users-api-openapi.yml