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 Messages API

A message sent to a single recipient on a channel.

Knock Messages API is one of 19 APIs that Knock publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Messages. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 27 operations across 24 paths, and defines 29 schemas. It is described by OpenAPI 3.0.0, at version 1.0.

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

27 operations 24 paths 29 schemas 6 DELETE9 GET8 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
1.0
Base URL
https://api.knock.app/v1
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

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

Paths & Operations 27

Across 24 paths, the API surfaces 27 operations — 6 DELETE, 9 GET, 8 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

Messages 27

A message sent to a single recipient on a channel.

GET
/v1/messages/{message_id}/delivery_logs
List delivery logs
listMessageDeliveryLogs 4 params → 200
GET
/v1/messages
List messages
listMessages 17 params → 200
DELETE
/v1/messages/{message_id}/unseen
Mark message as unseen
markMessageUnseen (2) 1 param → 200
POST
/v1/messages/batch/unarchived
Mark messages as unarchived
batchMarkMessagesAsUnarchived body → 200
DELETE
/v1/messages/{message_id}/unread
Mark message as unread
markMessageUnread (2) 1 param → 200
DELETE
/v1/messages/{message_id}/seen
Mark message as unseen
markMessageUnseen 1 param → 200
PUT
/v1/messages/{message_id}/seen
Mark message as seen
markMessageSeen 1 param → 200
GET
/v1/messages/{message_id}/events
List events
listMessageEvents 4 params → 200
POST
/v1/messages/batch/seen
Mark messages as seen
batchMarkMessagesAsSeen body → 200
POST
/v1/messages/batch/unseen
Mark messages as unseen
batchMarkMessagesAsUnseen body → 200
GET
/v1/objects/{collection}/{id}/messages
List messages
listMessagesForObject 19 params → 200
DELETE
/v1/messages/{message_id}/read
Mark message as unread
markMessageUnread 1 param → 200
PUT
/v1/messages/{message_id}/read
Mark message as read
markMessageRead 1 param → 200
GET
/v1/messages/batch/content
Batch get message contents
batchGetMessageContents 1 param → 200
GET
/v1/messages/{message_id}/content
Get message content
getMessageContents 1 param → 200
GET
/v1/messages/{message_id}/activities
List activities
listMessageActivities 5 params → 200
POST
/v1/channels/{channel_id}/messages/bulk/{action}
Bulk update message statuses for channel
bulkUpdateMessagesForChannel 2 params body → 200
POST
/v1/messages/batch/unread
Mark messages as unread
batchMarkMessagesAsUnread body → 200
DELETE
/v1/messages/{message_id}/archived
Unarchive message
unarchiveMessage (2) 1 param → 200
PUT
/v1/messages/{message_id}/archived
Archive message
archiveMessage 1 param → 200
POST
/v1/messages/batch/archived
Mark messages as archived
batchMarkMessagesAsArchived body → 200
GET
/v1/users/{user_id}/messages
List user messages
listMessagesForUser 18 params → 200
PUT
/v1/messages/{message_id}/interacted
Mark message as interacted
markMessageInteracted 1 param body → 200
DELETE
/v1/messages/{message_id}/unarchived
Unarchive message
unarchiveMessage 1 param → 200
POST
/v1/messages/batch/read
Mark messages as read
batchMarkMessagesAsRead body → 200
GET
/v1/messages/{message_id}
Get message
getMessage 1 param → 200
POST
/v1/messages/batch/interacted
Mark messages as interacted
batchMarkMessagesAsInteracted body → 200

Schemas 29

The contract defines 29 schemas that model the data the API accepts and returns. The most detailed are Message (22 properties), BulkOperation (15 properties), BulkUpdateMessagesForChannelRequest (10 properties), User (9 properties). Each schema is shown below with its type and property counts.

BatchMessagesStatusRequest
object
Request to update the status of multiple messages in batch.
1 property 1 required
RecipientReference
A reference to a recipient, either a user identifier (string) or an object reference (ID, collection).
MessageInteractedRequest
object
A request to mark a message as interacted with.
1 property
MessageInAppFeedContentBlock
object
A block in a message in an app feed.
4 properties 4 required
MessageContents
object
The content of a message.
4 properties 4 required
MessageSmsContent
object
The content of an SMS message.
3 properties 3 required
PageInfo
object
Pagination information for a list of resources.
4 properties 2 required
Object
object
A custom [Object](/concepts/objects) entity which belongs to a collection.
6 properties 4 required
ListActivitiesResponse
object
Returns a paginated list of activities associated with a given message. For messages produced after a [batch step](/designing-workflows/batch-function), this w…
2 properties 2 required
Recipient
object
A recipient of a notification, which is either a user or an object.
MessageDeliveryLogResponse
object
A message delivery log response.
3 properties
ListMessagesResponse
object
A paginated list of messages.
2 properties 2 required
Message
object
Represents a single message that was generated by a workflow for a given channel.
22 properties 9 required
MessageEmailContent
object
The content of an email message.
9 properties 6 required
BatchMessagesInteractedRequest
object
A request to batch mark messages as interacted with.
2 properties 1 required
Block
object
A block in a message in a chat.
3 properties 3 required
MessageChatContent
object
The content of a chat message.
4 properties 3 required
MessageDeliveryLogRequest
object
A message delivery log request.
6 properties
ListMessageEventsResponse
object
Returns a paginated list of [delivery and engagement](/send-notifications/message-statuses) events for the specified message.
2 properties 2 required
BulkOperation
object
A bulk operation entity.
15 properties 9 required
MessageInAppFeedButtonSetBlock
object
A button set block in a message in an app feed.
3 properties 3 required
User
object
A [User](/concepts/users) represents an individual in your system who can receive notifications through Knock. Users are the most common recipients of notifica…
9 properties 3 required
MessageInAppFeedContent
object
The content of an in-app feed message.
2 properties 2 required
MessagePushContent
object
Push channel data.
5 properties 4 required
MessageEvent
object
A message event. Occurs when a message [delivery or engagement status](/send-notifications/message-statuses) changes.
6 properties 5 required
Activity
object
An activity associated with a workflow trigger request. Messages produced after a [batch step](/designing-workflows/batch-function) can be associated with one…
7 properties
MessageDeliveryLog
object
A message delivery log contains a request from Knock to a downstream provider and the response that was returned.
7 properties 7 required
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
ListMessageDeliveryLogsResponse
object
A message delivery log response.
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

knock-messages-api-openapi.yml Raw ↑

Other APIs Knock publishes across the network.

Knock Audiences API
Knock Bulk operations API
Knock Channel data API
Knock Feeds API
Knock Guides API
Knock Integrations API
Knock Microsoft Teams API
Knock Objects API
Knock Preferences API
Knock Providers API
Knock Schedules API
Knock Slack API