Knock Workflows API
A workflow is a structured set of steps that is triggered to produce notifications sent over channels.
A workflow is a structured set of steps that is triggered to produce notifications sent over channels.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/knock-workflows-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Knock Workflows API
version: '1.0'
description: A workflow is a structured set of steps that is triggered to produce notifications sent over channels.
servers:
- url: https://api.knock.app
variables: {}
security:
- BearerAuth: []
tags:
- description: A workflow is a structured set of steps that is triggered to produce notifications sent over channels.
name: Workflows
paths:
/v1/workflows/{key}/trigger:
post:
callbacks: {}
description: Trigger a workflow (specified by the key) to run for the given recipients, using the parameters provided. Returns an identifier for the workflow run request. All workflow runs are executed asynchronously. This endpoint also handles [inline identifications](/managing-recipients/identifying-recipients#inline-identifying-recipients) for the `actor`, `recipient`, and `tenant` fields.
operationId: triggerWorkflow (2)
parameters:
- description: Key of the workflow to trigger.
in: path
name: key
required: true
schema:
type: string
x-struct: null
x-validate: null
requestBody:
content:
application/json:
example:
actor: mr_dna
cancellation_key: isla_nublar_incident_1993
data:
affected_areas:
- visitor_center
- raptor_pen
- trex_paddock
attraction_id: paddock_rex_01
evacuation_protocol: active
message: Life finds a way
severity: critical
system_status: fences_failing
recipients:
- dr_grant
- dr_sattler
- dr_malcolm
tenant: ingen_isla_nublar
schema:
$ref: '#/components/schemas/TriggerWorkflowRequest'
description: Params
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TriggerWorkflowResponse'
description: OK
summary: Trigger workflow
tags:
- Workflows
x-idempotent: true
x-ratelimit-tier: 5
/v1/workflows/{key}/cancel:
post:
callbacks: {}
description: When invoked for a workflow using a specific workflow key and cancellation key, will cancel any queued workflow runs associated with that key/cancellation key pair. Can optionally be provided one or more recipients to scope the request to.
operationId: cancelWorkflow
parameters:
- description: The key of the workflow to cancel.
in: path
name: key
required: true
schema:
type: string
x-struct: null
x-validate: null
requestBody:
content:
application/json:
example:
cancellation_key: cancel-workflow-123
recipients:
- jhammond
schema:
$ref: '#/components/schemas/CancelWorkflowRequest'
description: Params
required: true
responses:
'204':
description: No Content
summary: Cancel workflow
tags:
- Workflows
x-ratelimit-tier: 5
components:
schemas:
DiscordIncomingWebhookConnection:
description: Discord incoming webhook connection.
example:
incoming_webhook:
url: https://example.com/webhook
properties:
incoming_webhook:
description: Discord incoming webhook object.
properties:
url:
description: Incoming webhook URL.
example: https://example.com/webhook
type: string
x-struct: null
x-validate: null
required:
- url
type: object
x-struct: null
x-validate: null
required:
- incoming_webhook
title: DiscordIncomingWebhookConnection
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.DiscordChannelData.IncomingWebhookConnection
x-validate: null
InlineChannelDataRequest:
additionalProperties:
description: Channel data for a given channel type.
oneOf:
- $ref: '#/components/schemas/PushChannelDataTokensOnly'
- $ref: '#/components/schemas/PushChannelDataDevicesOnly'
- $ref: '#/components/schemas/AWSSNSPushChannelDataTargetARNsOnly'
- $ref: '#/components/schemas/AWSSNSPushChannelDataDevicesOnly'
- $ref: '#/components/schemas/OneSignalChannelDataPlayerIdsOnly'
- $ref: '#/components/schemas/SlackChannelData'
- $ref: '#/components/schemas/MsTeamsChannelData'
- $ref: '#/components/schemas/DiscordChannelData'
x-struct: null
x-validate: null
description: A request to set channel data for a type of channel inline.
example:
97c5837d-c65c-4d54-aa39-080eeb81c69d:
tokens:
- push_token_xxx
title: InlineChannelDataRequest
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.InlineChannelDataRequest
x-validate: null
PushChannelDataTokensOnly:
description: Push channel data.
example:
tokens:
- push_token_1
- push_token_2
properties:
tokens:
description: A list of push channel tokens.
items:
description: The device token to send the push notification to.
type: string
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- tokens
title: PushChannelDataTokensOnly
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.PushChannelDataTokensOnly
x-validate: null
OneSignalChannelDataPlayerIdsOnly:
description: OneSignal channel data.
example:
player_ids:
- 123e4567-e89b-12d3-a456-426614174000
properties:
player_ids:
description: A list of OneSignal player IDs.
example:
- 123e4567-e89b-12d3-a456-426614174000
items:
description: OneSignal player ID.
format: uuid
type: string
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- player_ids
title: OneSignalChannelDataPlayerIdsOnly
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.OneSignalChannelDataPlayerIdsOnly
x-validate: null
DiscordChannelConnection:
description: Discord channel connection.
example:
channel_id: '123456789012345678'
properties:
channel_id:
description: Discord channel ID.
example: '123456789012345678'
type: string
x-struct: null
x-validate: null
required:
- channel_id
title: DiscordChannelConnection
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.DiscordChannelData.ChannelConnection
x-validate: null
PreferenceSetRequest:
description: A request to set a preference set for a recipient.
example:
__persistence_strategy__: merge
categories:
marketing: false
transactional:
channel_types:
email: false
channel_types:
email: true
channels:
2f641633-95d3-4555-9222-9f1eb7888a80:
conditions:
- argument: US
operator: equal_to
variable: recipient.country_code
aef6e715-df82-4ab6-b61e-b743e249f7b6: true
commercial_subscribed: true
workflows:
dinosaurs-loose:
channel_types:
email: false
properties:
__persistence_strategy__:
description: Controls how the preference set is persisted. 'replace' will completely replace the preference set, 'merge' will merge with existing preferences.
enum:
- merge
- replace
type: string
x-struct: null
x-validate: null
categories:
anyOf:
- additionalProperties:
$ref: '#/components/schemas/PreferenceSetWorkflowCategorySetting'
description: An object where the key is the category and the values are the preference settings for that category.
example:
marketing:
channel_types:
email: false
transactional: true
title: PreferenceSetRequestCategories
type: object
x-struct: null
x-validate: null
- x-struct: null
x-validate: null
description: An object where the key is the category and the values are the preference settings for that category.
x-struct: null
x-validate: null
channel_types:
anyOf:
- $ref: '#/components/schemas/PreferenceSetChannelTypes'
- x-struct: null
x-validate: null
description: An object where the key is the channel type and the values are the preference settings for that channel type.
x-struct: null
x-validate: null
channels:
anyOf:
- $ref: '#/components/schemas/PreferenceSetChannels'
- x-struct: null
x-validate: null
description: An object where the key is the channel ID and the values are the preference settings for that channel ID.
x-struct: null
x-validate: null
commercial_subscribed:
description: Whether the recipient is subscribed to commercial communications. When false, the recipient will not receive commercial workflow notifications.
type:
- boolean
- 'null'
x-struct: null
x-validate: null
workflows:
anyOf:
- additionalProperties:
$ref: '#/components/schemas/PreferenceSetWorkflowCategorySetting'
description: An object where the key is the workflow key and the values are the preference settings for that workflow.
example:
dinosaurs-loose:
channel_types:
email: false
sms: true
welcome-sequence: true
title: PreferenceSetRequestWorkflows
type: object
x-struct: null
x-validate: null
- x-struct: null
x-validate: null
description: An object where the key is the workflow key and the values are the preference settings for that workflow.
x-struct: null
x-validate: null
title: PreferenceSetRequest
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.PreferenceSetRequest
x-validate: null
PreferenceSetWorkflowCategorySetting:
description: Workflow or category preferences within a preference set
example:
channel_types:
email: false
channels:
aef6e715-df82-4ab6-b61e-b743e249f7b6: true
oneOf:
- example: false
type: boolean
x-struct: null
x-validate: null
- description: The settings object for a workflow or category, where you can specify channel types or conditions.
example:
channel_types:
email: false
channels:
aef6e715-df82-4ab6-b61e-b743e249f7b6: true
conditions: null
properties:
channel_types:
anyOf:
- $ref: '#/components/schemas/PreferenceSetChannelTypes'
- x-struct: null
x-validate: null
description: An object where the key is the channel type and the values are the preference settings for that channel type.
x-struct: null
x-validate: null
channels:
anyOf:
- $ref: '#/components/schemas/PreferenceSetChannels'
- x-struct: null
x-validate: null
description: An object where the key is the channel ID and the values are the preference settings for that channel ID.
x-struct: null
x-validate: null
conditions:
description: A list of conditions to apply to a channel type.
items:
$ref: '#/components/schemas/Condition'
type:
- array
- 'null'
x-struct: null
x-validate: null
title: PreferenceSetWorkflowCategorySettingObject
type: object
x-struct: null
x-validate: null
title: PreferenceSetWorkflowCategorySetting
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.PreferenceSetWorkflowCategorySetting
x-validate: null
SlackTokenConnection:
description: A Slack connection token.
example:
access_token: xoxb-1234567890
channel_id: C01234567890
user_id: U01234567890
properties:
access_token:
description: A Slack access token.
example: xoxb-1234567890
type:
- string
- 'null'
x-struct: null
x-validate: null
channel_id:
description: A Slack channel ID from the Slack provider.
example: C01234567890
type:
- string
- 'null'
x-struct: null
x-validate: null
user_id:
description: A Slack user ID from the Slack provider.
example: U01234567890
type:
- string
- 'null'
x-struct: null
x-validate: null
title: SlackTokenConnection
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.SlackChannelData.TokenConnection
x-validate: null
PushChannelDataDevicesOnly:
description: Push channel data.
example:
devices:
- locale: en-US
timezone: America/Los_Angeles
token: push_token_1
properties:
devices:
description: A list of devices. Each device contains a token, and optionally a locale and timezone.
items:
properties:
locale:
description: The locale of the object. Used for [message localization](/concepts/translations).
type:
- string
- 'null'
x-struct: null
x-validate: null
timezone:
description: The timezone of the object. Must be a valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Used for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
type:
- string
- 'null'
x-struct: null
x-validate: null
token:
description: The device token to send the push notification to.
type: string
x-struct: null
x-validate: null
required:
- token
type: object
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- devices
title: PushChannelDataDevicesOnly
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.PushChannelDataDevicesOnly
x-validate: null
MsTeamsTokenConnection:
description: Microsoft Teams token connection.
example:
ms_teams_channel_id: 123e4567-e89b-12d3-a456-426614174000
ms_teams_team_id: 123e4567-e89b-12d3-a456-426614174000
ms_teams_tenant_id: null
ms_teams_user_id: null
properties:
ms_teams_channel_id:
description: Microsoft Teams channel ID.
format: uuid
type:
- string
- 'null'
x-struct: null
x-validate: null
ms_teams_team_id:
description: Microsoft Teams team ID.
format: uuid
type:
- string
- 'null'
x-struct: null
x-validate: null
ms_teams_tenant_id:
description: Microsoft Teams tenant ID.
format: uuid
type:
- string
- 'null'
x-struct: null
x-validate: null
ms_teams_user_id:
description: Microsoft Teams user ID.
format: uuid
type:
- string
- 'null'
x-struct: null
x-validate: null
title: MsTeamsTokenConnection
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.MsTeamsChannelData.TokenConnection
x-validate: null
InlineIdentifyObjectRequest:
additionalProperties: true
description: A custom [Object](/concepts/objects) entity which belongs to a collection.
example:
collection: projects
id: project_1
name: My project
properties:
channel_data:
description: An optional set of [channel data](/managing-recipients/setting-channel-data) for the object. This is a list of `ChannelData` objects.
oneOf:
- $ref: '#/components/schemas/InlineChannelDataRequest'
- x-struct: null
x-validate: null
x-struct: null
x-validate: null
collection:
description: The collection this object belongs to.
type: string
x-struct: null
x-validate: null
created_at:
description: Timestamp when the resource was created.
format: date-time
type:
- string
- 'null'
x-struct: null
x-validate: null
id:
description: Unique identifier for the object.
type: string
x-struct: null
x-validate: null
name:
description: An optional name for the object.
type:
- string
- 'null'
x-struct: null
x-validate: null
preferences:
description: An optional set of [preferences](/concepts/preferences) for the object.
oneOf:
- $ref: '#/components/schemas/InlinePreferenceSetRequest'
- x-struct: null
x-validate: null
x-struct: null
x-validate: null
required:
- id
- collection
title: InlineIdentifyObjectRequest
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.InlineIdentifyObjectRequest
x-validate: null
DiscordChannelData:
description: Discord channel data.
example:
connections:
- channel_id: '123456789012345678'
properties:
connections:
description: List of Discord channel connections.
items:
description: Discord channel connection, either a channel connection or an incoming webhook connection.
oneOf:
- $ref: '#/components/schemas/DiscordChannelConnection'
- $ref: '#/components/schemas/DiscordIncomingWebhookConnection'
type: object
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- connections
title: DiscordChannelData
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.DiscordChannelData
x-validate: null
SlackChannelData:
description: Slack channel data.
example:
connections:
- access_token: xoxb-1234567890
channel_id: C01234567890
user_id: U01234567890
token:
access_token: xoxb-1234567890
properties:
connections:
description: List of Slack channel connections.
items:
description: A Slack connection, either an access token or an incoming webhook
oneOf:
- $ref: '#/components/schemas/SlackTokenConnection'
- $ref: '#/components/schemas/SlackIncomingWebhookConnection'
type: object
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
token:
description: A Slack connection token.
example:
access_token: xoxb-1234567890
properties:
access_token:
description: A Slack access token.
example: xoxb-1234567890
type:
- string
- 'null'
x-struct: null
x-validate: null
required:
- access_token
title: SlackChannelDataTokenObject
type:
- object
- 'null'
x-struct: null
x-validate: null
required:
- connections
title: SlackChannelData
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.SlackChannelData
x-validate: null
PreferenceSetChannels:
additionalProperties:
description: Whether the specific channel (by channel_id) is enabled for the preference set, or a settings object with conditions.
oneOf:
- type: boolean
x-struct: null
x-validate: null
- $ref: '#/components/schemas/PreferenceSetChannelSetting'
x-struct: null
x-validate: null
description: Channel preferences.
example:
2f641633-95d3-4555-9222-9f1eb7888a80:
conditions:
- argument: US
operator: equal_to
variable: recipient.country_code
aef6e715-df82-4ab6-b61e-b743e249f7b6: true
title: PreferenceSetChannels
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.PreferenceSetChannels
x-validate: null
AWSSNSPushChannelDataDevicesOnly:
description: AWS SNS push channel data.
example:
devices:
- locale: en-US
target_arn: arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3
timezone: America/Los_Angeles
properties:
devices:
description: A list of devices. Each device contains a target_arn, and optionally a locale and timezone.
items:
properties:
locale:
description: The locale of the object. Used for [message localization](/concepts/translations).
type:
- string
- 'null'
x-struct: null
x-validate: null
target_arn:
description: The ARN of a platform endpoint associated with a platform application and a device token. See [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
type: string
x-struct: null
x-validate: null
timezone:
description: The timezone of the object. Must be a valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Used for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
type:
- string
- 'null'
x-struct: null
x-validate: null
required:
- target_arn
type: object
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- devices
title: AWSSNSPushChannelDataDevicesOnly
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.AWSSNSPushChannelDataDevicesOnly
x-validate: null
AWSSNSPushChannelDataTargetARNsOnly:
description: AWS SNS push channel data.
example:
target_arns:
- arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3
properties:
target_arns:
description: A list of platform endpoint ARNs. See [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
example:
- arn:aws:sns:us-west-2:123456789012:endpoint/GCM/gcmpushapp/5e3e9847-3183-3f18-a7e8-671c3a57d4b3
items:
description: The ARN of a platform endpoint associated with a platform application and a device token. See [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
type: string
x-struct: null
x-validate: null
type: array
x-struct: null
x-validate: null
required:
- target_arns
title: AWSSNSPushChannelDataTargetARNsOnly
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.AWSSNSPushChannelDataTargetARNsOnly
x-validate: null
CancelWorkflowRequest:
description: When invoked using a specific workflow key and cancellation key, will cancel any queued workflow runs associated with that key/cancellation key pair. Can optionally provide one or more recipients to scope the request to.
example:
cancellation_key: cancel-workflow-123
recipients:
- jhammond
properties:
cancellation_key:
description: An optional key that is used to reference a specific workflow trigger request when issuing a [workflow cancellation](/send-notifications/canceling-workflows) request. Must be provided while triggering a workflow in order to enable subsequent cancellation. Should be unique across trigger requests to avoid unintentional cancellations.
type: string
x-struct: null
x-validate: null
recipients:
description: A list of recipients to cancel the notification for. If omitted, cancels for all recipients associated with the cancellation key.
items:
$ref: '#/components/schemas/RecipientReference'
type:
- array
- 'null'
x-struct: null
x-validate: null
required:
- cancellation_key
title: CancelWorkflowRequest
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.CancelWorkflowRequest
x-validate: null
TriggerWorkflowRequest:
description: A request to trigger a notification workflow.
example:
actor: mr_dna
cancellation_key: isla_nublar_incident_1993
data:
affected_areas:
- visitor_center
- raptor_pen
- trex_paddock
attraction_id: paddock_rex_01
evacuation_protocol: active
message: Life finds a way
severity: critical
system_status: fences_failing
recipients:
- dr_grant
- dr_sattler
- dr_malcolm
tenant: ingen_isla_nublar
properties:
actor:
anyOf:
- $ref: '#/components/schemas/RecipientRequest'
- x-struct: null
x-validate: null
description: A map of properties describing a user or an object to identify in Knock and mark as who or what performed the action.
x-struct: null
x-validate: null
cancellation_key:
description: An optional key that is used to reference a specific workflow trigger request when issuing a [workflow cancellation](/send-notifications/canceling-workflows) request. Must be provided while triggering a workflow in order to enable subsequent cancellation. Should be unique across trigger requests to avoid unintentional cancellations.
type:
- string
- 'null'
x-struct: null
x-validate: null
data:
additionalProperties: true
description: An optional map of data to pass into the workflow execution. There is a 10MB limit on the size of the full `data` payload. Any individual string value greater than 1024 bytes in length will be [truncated](/developer-tools/api-logs#log-truncation) in your logs.
type:
- object
- 'null'
x-struct: null
x-validate: null
recipients:
description: The recipients to trigger the workflow for. Can inline identify users, objects, or use a list of user IDs. Limited to 1,000 recipients.
items:
$ref: '#/components/schemas/RecipientRequest'
type: array
x-struct: null
x-validate: null
tenant:
anyOf:
- $ref: '#/components/schemas/InlineTenantRequest'
- x-struct: null
x-validate: null
description: The tenant to trigger the workflow for. Triggering with a tenant will use any tenant-level overrides associated with the tenant object, and all messages produced from workflow runs will be tagged with the tenant.
x-struct: null
x-validate: null
required:
- recipients
title: TriggerWorkflowRequest
type: object
x-struct: Elixir.SwitchboardWeb.V1.Specs.TriggerWorkflowRequest
x-validate: null
InlineTenantRequest:
description: An request to set a tenant inline.
example:
id: tenant_1
name: Acme Corp, Inc.
oneOf:
- description: The unique identifier for the tenant.
type: string
x-struct: null
x-validate: null
- $ref: '#/components/schemas/TenantRequest'
title: InlineTenantRequest
x-struct: Elixir.SwitchboardWeb.V1.Specs.InlineTenantRequest
x-validate: null
InlineIdentifyUserRequest:
additionalProperties: true
description: 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. It will perform an upsert for the user you're supplying, replacing any properties specified.
example:
channel_data:
97c5837d-c65c-4d54-aa39-080eeb81c69d:
tokens:
- push_token_123
email: jane@ingen.net
id: user_1
name: Jane Doe
preferences:
default:
channel_types:
email: true
workflows:
dinosaurs-loose:
channel_types:
email: true
timezone: America/New_York
properties:
avatar:
description: A URL for the avatar of the user.
type:
- string
- 'null'
x-struct: null
x-validate: null
channel_data:
allOf:
- $ref: '#/components/schemas/InlineChannelDataRequest'
description: Channel-specific information that's needed to deliver a notification to an end provider.
x-struct: null
x-validate: null
created_at:
description: The creation date of the user from your system.
format: date-time
type:
- string
- 'null'
x-struct: null
x-validate: null
email:
description: The primary email address for the user.
type:
- string
- 'null'
x-struct: null
x-validate: null
id:
description: The unique identifier of the user.
type: string
x-struct: null
x-validate: null
locale:
description: The locale of the user. Used for [message localization](/concepts/translations).
type:
- string
- 'null'
x-struct: null
x-validate: null
name:
description: Display name of the user.
type:
- string
- 'null'
x-struct: null
x-validate: null
phone_number:
description: The [E.164](https://www.twilio.com/docs/glossary/what-e164) phone number of the user (required for SMS channels).
type:
- string
- 'null'
x-struct: null
x-validate: null
preferences:
allOf:
- $ref: '#/components/schemas/InlinePreferenceSetRequest'
description: A set of preferences for the user.
x-struct: null
x-validate: null
timezone:
description: The timezone of the user. Must be a valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Us
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/knock/refs/heads/main/openapi/knock-workflows-api-openapi.yml