Knock Audiences 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 8
Across 4 paths, the API surfaces 8 operations — 2 DELETE, 3 GET, 1 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.
Audiences 8
DELETE
/v1/audiences/{key}/members
Remove members
removeAudienceMembers1 parambody→ 204
GET
/v1/audiences/{key}/members
List members
listAudienceMembers1 param→ 200
POST
/v1/audiences/{key}/members
Add members
addAudienceMembers2 paramsbody→ 204
DELETE
/v1/audiences/{audience_key}
Archive an audience
archiveAudience2 params→ 200
GET
/v1/audiences/{audience_key}
Get an audience
getAudience5 params→ 200
PUT
/v1/audiences/{audience_key}
Upsert an audience
upsertAudience7 paramsbody→ 200
PUT
/v1/audiences/{audience_key}/validate
Validate an audience
validateAudience3 paramsbody→ 200
GET
/v1/audiences
List audiences
listAudiences7 params→ 200
Schemas 39
The contract defines 39 schemas that model the data the API accepts and returns. The most detailed are InlineIdentifyUserRequest (10 properties), User (9 properties), DynamicAudience (9 properties), StaticAudience (8 properties). Each schema is shown below with its type and property counts.
SlackTokenConnection
object
A Slack connection token.
3 properties
ListAudienceMembersResponse
object
A paginated list of audience members.
2 properties2 required
PushChannelDataTokensOnly
object
Push channel data.
1 property1 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…
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 properties3 required
DynamicAudienceRequest
object
Request body for creating/updating a dynamic audience.
4 properties2 required
PreferenceSetChannels
object
Channel preferences.
SlackIncomingWebhookConnection
object
A Slack connection incoming webhook.
1 property1 required
InlineChannelDataRequest
object
A request to set channel data for a type of channel inline.
PushChannelDataDevicesOnly
object
Push channel data.
1 property1 required
DiscordChannelData
object
Discord channel data.
1 property1 required
MsTeamsChannelData
object
Microsoft Teams channel data.
2 properties1 required
SlackChannelData
object
Slack channel data.
2 properties1 required
PageInfo_2
object
The information about a paginated result.
3 properties1 required
PreferenceSetChannelTypeSetting
object
A set of settings for a channel type. Currently, this can only be a list of conditions to apply.
1 property1 required
AddAudienceMembersRequest
object
A request to add a list of audience members.
1 property1 required
Condition
object
A condition to be evaluated.
3 properties3 required
PageInfo
object
Pagination information for a list of resources.
4 properties2 required
StaticAudienceRequest
object
Request body for creating/updating a static audience.
3 properties2 required
AudienceRequest
object
An audience object with attributes to create or update an audience. Use type: static for audiences with explicitly managed members, or type: dynamic for audien…
DynamicAudience
object
A dynamic audience where membership is determined by segment conditions evaluated at runtime.
9 properties7 required
AudienceMemberRequest
object
An audience member.
2 properties1 required
AWSSNSPushChannelDataTargetARNsOnly
object
AWS SNS push channel data.
1 property1 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 property1 required
AudienceMember
object
An audience member.
5 properties4 required
DiscordIncomingWebhookConnection
object
Discord incoming webhook connection.
1 property1 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 properties1 required
AWSSNSPushChannelDataDevicesOnly
object
AWS SNS push channel data.
1 property1 required
Audience
object
An audience defines a set of users that can be targeted for notifications. Can be either a StaticAudience (members explicitly added/removed) or a DynamicAudien…
StaticAudience
object
A static audience where members are explicitly added or removed via the API.
8 properties6 required
AudienceCondition
object
A condition to evaluate for audience membership.
3 properties2 required
OneSignalChannelDataPlayerIdsOnly
object
OneSignal channel data.
1 property1 required
RemoveAudienceMembersRequest
object
A request to remove a list of audience members.
1 property1 required
DiscordChannelConnection
object
Discord channel connection.
1 property1 required
MsTeamsIncomingWebhookConnection
object
Microsoft Teams incoming webhook connection.
1 property1 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
Specification
The full machine-readable OpenAPI contract behind this narrative.