Management API Reference
All other concepts within the Knock notification engine are accessed through the Knock API, which you use to trigger workflows, identify users, and manage preferences.
The Knock management API provides you with a programmatic way to interact with the resources you create and manage in your Knock dashboard, including workflows, templates, layouts, translations and commits. It's separate from the Knock API and only provides access to a limited subset of resources.
You can use the Knock management API to:
- Create, update, and manage your Knock workflows and the notification templates within those workflows.
- Create, update and manage your email layouts.
- Create and manage the translations used by your notification templates.
- Create, update, and manage your partials.
- Commit and promote changes between your Knock environments.
Authentication
The management API authenticates with a Bearer authentication mechanism using a service token generated on your account.
Note: environment-level API keys should never be used to authenticate with the management API. To authenticate with the management API, generate a service token.
Errors
Knock uses standard HTTP response codes to indicate the success or failure of your API requests.
2xx
success status codes confirm that your request worked as expected.4xx
error status codes indicate an error caused by incorrect or missing request information (e.g. providing an incorrect API key).5xx
error status codes indicate a Knock server error.
Postman
You can use our Management API Postman collection to quickly get started testing our Management API.
Environments
Knock uses the concept of environments to ensure logical separation of your data. Dashboard resources are created in your development
environment and promoted to higher environments.
List environments
Returns a paginated list of environments. The environments will be returned in order of their index, with the development
environment first.
Endpoint
Query parameters
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Environment. Contains a list of entries and page information.
Get an environment
Returns a single environment by the environment_slug
.
Endpoint
Path parameters
The slug of the environment to retrieve.
Returns
An environment object.
Environment
An environment object.
Attributes
The timestamp of when the environment was created.
The timestamp of when the environment was deleted.
Whether PII data is hidden from the environment. Read more in the data obfuscation docs.
The color of the environment label to display in the dashboard.
The timestamp of the most-recent commit in the environment.
A human-readable name for the environment. Cannot exceed 255 characters.
The order of the environment. The lowest number is the first environment, the highest number is the last environment. The order will not always be sequential.
The owner of the environment.
A unique slug for the environment. Cannot exceed 255 characters.
The timestamp of when the environment was last updated.
List channels
Returns a paginated list of channels. Note: the list of channels is across the entire account, not scoped to an environment.
Endpoint
Query parameters
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Channel. Contains a list of entries and page information.
Channel
A configured channel, which is a way to route messages to a provider.
Attributes
The timestamp of when the channel was deleted.
The timestamp of when the channel was created.
Optional URL to a custom icon for the channel. Only used for display purposes in the dashboard.
Optional description of the channel's purpose or usage.
Unique identifier for the channel within a project (immutable once created).
The human-readable name of the channel.
The ID of the provider that this channel uses to deliver messages. Learn more about the providers available in our documentation.
The type of channel, determining what kind of messages it can send.
The timestamp of when the channel was last updated.
ChatChannelSettings
Chat channel settings. Only used as configuration as part of a workflow channel step.
Attributes
Whether to resolve chat provider user IDs using a Knock user's email address. Only relevant for Slack channels for the time being.
Whether to track link clicks on chat notifications.
EmailChannelSettings
Email channel settings. Only used as configuration as part of a workflow channel step.
Attributes
The BCC address on email notifications. Supports liquid.
The CC address on email notifications. Supports liquid.
The email address from which this channel will send. Supports liquid.
The name from which this channel will send. Supports liquid.
A JSON template for any custom overrides to merge into the API payload that is sent to the email provider. Supports liquid.
Whether to track link clicks on email notifications.
Whether to track opens on email notifications.
The Reply-to address on email notifications. Supports liquid.
The email address to which this channel will send. Defaults to recipient.email
. Supports liquid.
PushChannelSettings
Push channel settings. Only used as configuration as part of a workflow channel step.
Attributes
Whether to deregister a push-token when a push send hard bounces. This is to prevent the same token from being used for future pushes.
SmsChannelSettings
SMS channel settings. Only used as configuration as part of a workflow channel step.
Attributes
Whether to track link clicks on SMS notifications.
InAppFeedChannelSettings
In-app feed channel settings. Only used as configuration as part of a workflow channel step.
Attributes
Whether to track link clicks on in-app feed notifications.
Workflows
To define a logical flow for your notifications, you create a workflow consisting of steps. Workflow steps can be functions or channels, and can have conditional logic that determines whether to execute that step when the workflow is triggered.
You can retrieve, update, or create a workflow as well as list all workflows in a given environment. Workflows are identified by their unique workflow key.
List workflows
Returns a paginated list of workflows available in a given environment. The workflows are returned alphabetically by key
.
Endpoint
Query parameters
The environment slug.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
A paginated list of Workflow. Contains a list of entries and page information.
Get a workflow
Retrieve a workflow by its key in a given environment.
Endpoint
Path parameters
The key of the workflow to retrieve.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
A workflow object.
Upsert a workflow
Updates a workflow of a given key, or creates a new one if it does not yet exist.
Note: this endpoint only operates on workflows in the development
environment.
Endpoint
Path parameters
The key of the workflow.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to commit the resource at the same time as modifying it.
The message to commit the resource with, only used if commit
is true
.
Request body
A workflow request for upserting a workflow.
Returns
Wraps the Workflow response under the workflow
key.
Activate a workflow
Activates (or deactivates) a workflow in a given environment. Read more in the docs.
Note: This immediately enables or disables a workflow in a given environment without needing to go through environment promotion.
Endpoint
Path parameters
The key of the workflow.
Query parameters
The environment slug.
Request body
Whether to activate or deactivate the workflow. Set to true
by default, which will activate the workflow.
Returns
Wraps the Workflow response under the workflow
key.
Run a workflow
Runs the latest version of a committed workflow in a given environment using the params provided.
Endpoint
Path parameters
The key of the workflow.
Query parameters
The environment slug.
Request body
The actor to reference in the the workflow run.
A key to cancel the workflow run.
A map of data to be used in the workflow run.
A list of recipients to run the workflow for.
The tenant to associate the workflow run with.
Returns
A response to a run workflow request.
Validate a workflow
Validates a workflow payload without persisting it. Some read-only fields will be empty as they are generated by the system when persisted.
Note: Validating a workflow is only done in the development environment context.
Endpoint
Path parameters
The key of the workflow.
Query parameters
The environment slug.
Request body
A workflow request for upserting a workflow.
Returns
Wraps the Workflow response under the workflow
key.
Steps
Methods that operate on the individual steps within a workflow. Steps are referenced by their ref
, which is unique within a workflow.
Preview a workflow template
Generates a rendered template for a given channel step in a workflow.
Endpoint
Path parameters
The key of the workflow.
The reference key of the channel step in the workflow to preview.
Query parameters
The environment slug.
Request body
The actor to reference in the the workflow run.
The data to pass to the workflow template for rendering.
A recipient reference, used when referencing a recipient by either their ID (for a user), or by a reference for an object.
The tenant to associate the workflow with.
Returns
A response to a preview workflow template request.
Condition
A condition to be evaluated.
Attributes
The argument to be evaluated. Arguments can be either static values or dynamic properties. Static values will always be JSON decoded so will support strings, lists, objects, numbers, and booleans. Dynamic values should be path expressions.
The operator to use in the evaluation of the condition.
The variable to be evaluated. Variables can be either static values or dynamic properties. Static values will always be JSON decoded so will support strings, lists, objects, numbers, and booleans. Dynamic values should be path expressions.
ConditionGroup
A group of conditions to be evaluated.
Attributes
A group of conditions to be evaluated.
Duration
A duration of time, represented as a unit and a value.
Attributes
The unit of time.
The value of the duration.
SendWindow
A send window time for a notification. Describes a single day.
Attributes
The day of the week.
The start time of the send window.
The type of send window.
The end time of the send window.
Workflow
A workflow object.
Attributes
Whether the workflow is active in the current environment. (read-only).
A list of categories that the workflow belongs to.
A conditions object that describes one or more conditions to be met for the workflow to be executed. (optional).
The timestamp of when the workflow was created. (read-only).
The timestamp of when the workflow was deleted. (read-only).
An arbitrary string attached to a workflow object. Useful for adding notes about the workflow for internal purposes. Maximum of 280 characters allowed.
The slug of the environment in which the workflow exists. (read-only).
The unique key string for the workflow object. Must be at minimum 3 characters and at maximum 255 characters in length. Must be in the format of ^[a-z0-9_-]+$.
A name for the workflow. Must be at maximum 255 characters in length.
A map of workflow settings.
The SHA hash of the workflow data. (read-only).
A list of workflow step objects in the workflow.
A JSON schema for the expected structure of the workflow trigger's data payload. Used to validate trigger requests. Read more in the docs.
The frequency at which the workflow should be triggered. One of: once_per_recipient
, once_per_recipient_per_tenant
, every_trigger
. Defaults to every_trigger
. Read more in docs.
The timestamp of when the workflow was last updated. (read-only).
Whether the workflow and its steps are in a valid state. (read-only).
WorkflowStep
A step within a workflow. Each workflow step, regardless of its type, share a common set of core attributes (type
, ref
, name
, description
, conditions
).
Attributes
A step within a workflow. Each workflow step, regardless of its type, share a common set of core attributes (type
, ref
, name
, description
, conditions
).
WorkflowBatchStep
A batch function step. Read more in the docs.
Attributes
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
The settings for the batch step.
The type of the workflow step.
WorkflowBranchStep
A branch function step. Read more in the docs.
Attributes
A list of workflow branches to be evaluated.
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
The type of step.
WorkflowChannelStep
A channel step within a workflow. Read more in the docs.
Attributes
The key of the channel group to which the channel step will be sending a notification. A channel step can have either a channel key or a channel group key, but not both.
The key of the channel to which the channel step will be sending a notification. A channel step can have either a channel key or a channel group key, but not both.
A map of channel overrides for the channel step.
A set of conditions to be evaluated for this channel step.
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
A list of send window objects. Must include one send window object per day of the week.
The message template for the channel step. The shape of the template depends on the type of the channel you'll be sending to. See below for definitions of each channel type template: email, in-app, SMS, push, chat, and webhook.
The type of the workflow step.
WorkflowDelayStep
A delay function step. Read more in the docs.
Attributes
A set of conditions to be evaluated for this delay step.
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
The settings for the delay step. Both fields can be set to compute a delay where delay_for
is an offset from the delay_until_field_path
.
The type of the workflow step.
WorkflowFetchStep
A fetch function step. Read more in the docs.
Attributes
A conditions object that describes one or more conditions to be met in order for the step to be executed.
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
A request template for a fetch function step.
The type of the workflow step.
WorkflowThrottleStep
A throttle function step. Read more in the docs.
Attributes
A conditions object that describes one or more conditions to be met in order for the step to be executed.
An arbitrary string attached to a workflow step. Useful for adding notes about the workflow for internal purposes.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
The settings for the throttle step.
The type of the workflow step.
WorkflowTriggerWorkflowStep
A workflow trigger function step. Read more in the docs.
Attributes
A set of conditions to be evaluated for this trigger workflow step.
A description for the workflow step.
A name for the workflow step.
The reference key of the workflow step. Must be unique per workflow.
The settings for the workflow trigger workflow step.
The type of the workflow step.
Email Layouts
Email layouts wrap email message templates to share consistent design components between the email notifications that your recipients receive.
You can create and update email layouts in your development
environment, as well as retrieve or list all layouts in a given environment.
List email layouts
Returns a paginated list of email layouts available in a given environment.
Endpoint
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of EmailLayout. Contains a list of entries and page information.
Get email layout
Retrieve an email layout by its key, in a given environment.
Endpoint
Path parameters
The key of the email layout to show.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
A versioned email layout used within an environment.
Upsert email layout
Updates an email layout, or creates a new one if it does not yet exist.
Note: this endpoint only operates in the "development" environment.
Endpoint
Path parameters
The key of the email layout to upsert.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to commit the resource at the same time as modifying it.
The message to commit the resource with, only used if commit
is true
.
Request body
A request to update or create an email layout.
Returns
Wraps the EmailLayout response under the email_layout
key.
Validate email layout
Validates an email layout payload without persisting it.
Note: this endpoint only operates in the "development" environment.
Endpoint
Path parameters
The key of the email layout to validate.
Query parameters
The environment slug.
Request body
A request to update or create an email layout.
Returns
Wraps the EmailLayout response under the email_layout
key.
EmailLayout
A versioned email layout used within an environment.
Attributes
The timestamp of when the email layout was created.
The environment of the email layout.
A list of one or more items to show in the footer of the email layout.
The complete HTML content of the email layout.
The unique key for this email layout.
The human-readable name of this email layout.
The SHA of the email layout.
The complete plaintext content of the email layout.
The timestamp of when the email layout was last updated.
Translations
Translations support localization in Knock. They hold the translated content for a given locale, which you can reference in your message templates with the t Liquid function filter.
You can retrieve, update, and create translations as well as list all translations in a given environment. Translations are identified by their locale code + an optional namespace.
List translations
Returns a paginated list of translations available in a given environment. The translations are returned in alphabetical order by locale code.
Endpoint
Query parameters
A specific locale code to filter translations for.
A specific namespace to filter translations for.
Optionally specify the returned content format. Supports 'json' and 'po'. Defaults to 'json'.
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Translation. Contains a list of entries and page information.
Get translation
Retrieve a translation by its locale and namespace, in a given environment.
Endpoint
Path parameters
A specific locale code to filter translations for.
Query parameters
The environment slug.
Optionally specify the returned content format. Supports 'json' and 'po'. Defaults to 'json'.
A specific namespace to filter translations for.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
Wraps the Translation response under the translation
key.
Upsert translation
Updates a translation of a given locale code + namespace, or creates a new one if it does not yet exist.
Note: this endpoint only operates on translations in the "development" environment.
Endpoint
Path parameters
A locale code of the translation.
Query parameters
The environment slug.
An optional namespace that identifies the translation.
Optionally specify the returned content format. Supports 'json' and 'po'. Defaults to 'json'.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to commit the resource at the same time as modifying it.
The message to commit the resource with, only used if commit
is true
.
Request body
A translation object with a content attribute used to update or create a translation.
Returns
Wraps the Translation response under the translation
key.
Validate translation
Validates a translation payload without persisting it.
Note: this endpoint only operates on translations in the "development" environment.
Endpoint
Path parameters
The translation's locale code.
Query parameters
The environment slug.
Request body
A translation object with a content attribute used to update or create a translation.
Returns
Wraps the Translation response under the translation
key.
Translation
A translation object.
Attributes
A JSON encoded string containing the key-value pairs of translation references and translation strings.
Indicates whether content is a JSON encoded object string or a string in the PO format.
The timestamp of when the translation was created.
The locale code for the translation object.
An optional namespace for the translation to help categorize your translations.
The timestamp of when the translation was last updated.
Partials
Partials are reusable pieces of content you can use across your channel templates.
You can retrieve, update, and create partials as well as list all partials in a given environment. Partials are identified by their unique partial key.
List partials
List all partials for a given environment.
Endpoint
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Partial. Contains a list of entries and page information.
Get a partial
Get a partial by its key.
Endpoint
Path parameters
The key of the partial to retrieve.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
A partial is a reusable piece of content that can be used in a template.
Upsert a partial
Updates a partial of a given key, or creates a new one if it does not yet exist.
Note: this endpoint only operates on partials in the “development” environment.
Endpoint
Path parameters
The key of the partial to upsert.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to commit the resource at the same time as modifying it.
The message to commit the resource with, only used if commit
is true
.
Request body
A partial object with attributes to update or create a partial.
Returns
Wraps the Partial response under the partial
key.
Validate a partial
Validates a partial payload without persisting it.
Note: this endpoint only operates on partials in the “development” environment.
Endpoint
Path parameters
The key of the partial to validate.
Query parameters
The environment slug.
Request body
A partial object with attributes to update or create a partial.
Returns
Wraps the Partial response under the partial
key.
Partial
A partial is a reusable piece of content that can be used in a template.
Attributes
The partial content.
An arbitrary string attached to a partial object. Useful for adding notes about the partial for internal purposes. Maximum of 280 characters allowed.
The slug of the environment in which the partial exists.
The name of the icon to be used in the visual editor.
The timestamp of when the partial was created.
The unique key string for the partial object. Must be at minimum 3 characters and at maximum 255 characters in length. Must be in the format of ^[a-z0-9_-]+$.
A name for the partial. Must be at maximum 255 characters in length.
The partial type. One of 'html', 'json', 'markdown', 'text'.
The timestamp of when the partial was last updated.
Whether the partial and its content are in a valid state.
Indicates whether the partial can be used in the visual editor. Only applies to HTML partials.
Commits
To version the changes you make in your environments, Knock uses a commit model. When you make changes to a workflow, a layout, or a translation, you will need to commit them in your development environment, then promote to subsequent environments before those changes will appear in the respective environments.
You can retrieve all commits in a given environment, or show the details of one single commit based on the target commit id.
List commits
Returns a paginated list of commits in a given environment. The commits are ordered from most recent first.
Endpoint
Query parameters
The environment slug.
Whether to show commits in the given environment that have not been promoted to the subsequent environment (false) or commits which have been promoted (true).
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Commit. Contains a list of entries and page information.
Commit all changes
Commit all changes across all resources in the development environment.
Endpoint
Query parameters
The environment slug.
An optional message to include in a commit.
Returns
The response from committing all changes.
Get a commit
Retrieve a single commit by its ID.
Endpoint
Path parameters
The id of the commit to retrieve.
Returns
A commit is a change to a resource within an environment, made by an author.
Promote all changes
Promote all changes across all resources to the target environment from its preceding environment.
Endpoint
Query parameters
A slug of the target environment to which you want to promote all changes from its directly preceding environment.
For example, if you have three environments “development”, “staging”, and “production” (in that order), setting this param to “production” will promote all commits not currently in production from staging.
Note: This must be a non-development environment.
Returns
The response from promoting all changes.
Promote one commit
Promotes one change to the subsequent environment.
Endpoint
Path parameters
The target commit ID to promote to the subsequent environment.
Returns
Wraps the Commit response under the commit
key.
Commit
A commit is a change to a resource within an environment, made by an author.
Attributes
The author of the commit.
The optional message about the commit.
The timestamp of when the commit was created.
The environment of the commit.
The unique identifier for the commit.
The resource object associated with the commit.
The timestamp of when the commit was last updated.
Variables
Variables are used to store shared attributes for your workflows and templates at the environment level.
List variables
Returns a paginated list of variables for a given environment.
Endpoint
Query parameters
The environment slug.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of Variable. Contains a list of entries and page information.
Variable
An environment variable object.
Attributes
The description of the variable.
The timestamp of when the variable was created.
The key of the variable.
The type of the variable.
The timestamp of when the variable was last updated.
The value of the variable.
Templates
Templates represent the templated contents of a message sent to an individual recipient on a specific channel.
There are no endpoints for working directly with templates, instead you must do so through modifying a workflow.
ChatTemplate
A chat template.
Attributes
A JSON template for the chat notification message payload. Only present if not using the markdown body.
The markdown body of the chat template.
The summary of the chat template. Used by some chat apps in their push notifications.
EmailTemplate
An email message template.
Attributes
An HTML template for the email body. Either html_body
or visual_blocks
must be provided.
The settings for the email template. Can be omitted.
The subject of the email.
A text template for the email body. Only present if opted out from autogenerating it from the HTML template.
The visual blocks of the email. Either html_body
or visual_blocks
must be provided.
PushTemplate
A push notification template.
Attributes
The settings for the push template. Can be omitted.
The body of the push notification.
The title of the push notification.
SmsTemplate
An SMS template.
Attributes
The settings for the SMS template. Can be omitted.
The message of the SMS.
InAppFeedTemplate
An in-app feed template.
Attributes
The action buttons of the in-app feed message.
The URL to navigate to when the in-app feed is tapped. Can be omitted for multi-action templates, where the action buttons will be used instead.
The markdown body of the in-app feed.
RequestTemplate
A request template for a fetch function step.
Attributes
The body of the request. Only used for POST or PUT requests.
A list of key-value pairs for the request headers. Each object should contain key and value fields with string values.
The HTTP method of the request.
A list of key-value pairs for the request query params. Each object should contain key and value fields with string values.
The URL of the request.
WebhookTemplate
A webhook template. By default, a webhook step will use the request settings you configured in your webhook channel. You can override this as you see fit on a per-step basis.
Attributes
The body of the request. Only used for POST or PUT requests.
A list of key-value pairs for the request headers. Each object should contain key and value fields with string values.
The HTTP method of the webhook.
A list of key-value pairs for the request query params. Each object should contain key and value fields with string values.
The URL of the webhook.
Message Types
A message type is a schema for a message that maps to a UI component or element within your application.
List message types
Returns a paginated list of message types available in a given environment.
Endpoint
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
The cursor to fetch entries after.
The cursor to fetch entries before.
The number of entries to fetch per-page.
Returns
A paginated list of MessageType. Contains a list of entries and page information.
Get message type
Retrieve a message type by its key, in a given environment.
Endpoint
Path parameters
The key of the message type to retrieve.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to hide uncommitted changes. When true, only committed changes will be returned. When false, both committed and uncommitted changes will be returned.
Returns
A message type is a schema for a message that maps to a UI component or element within your application.
Upsert message type
Updates a message type, or creates a new one if it does not yet exist.
Note: this endpoint only operates in the development
environment.
Endpoint
Path parameters
The key of the message type to upsert.
Query parameters
The environment slug.
Whether to annotate the resource. Only used in the Knock CLI.
Whether to commit the resource at the same time as modifying it.
The message to commit the resource with, only used if commit
is true
.
Request body
A request to create a message type.
Returns
Wraps the MessageType response under the message_type
key.
Validate message type
Validates a message type payload without persisting it.
Note: this endpoint only operates on message types in the development
environment.
Endpoint
Path parameters
The key of the message type to validate.
Query parameters
The environment slug.
Request body
A request to create a message type.
Returns
Wraps the MessageType response under the message_type
key.
MessageType
A message type is a schema for a message that maps to a UI component or element within your application.
Attributes
The timestamp of when the message type was deleted.
The timestamp of when the message type was created.
The timestamp of when the message type was deleted.
An arbitrary string attached to a message type object. Useful for adding notes about the message type for internal purposes. Maximum of 280 characters allowed.
The environment of the message type.
The icon name of the message type.
The unique key string for the message type object. Must be at minimum 3 characters and at maximum 255 characters in length. Must be in the format of ^[a-z0-9_-]+$.
A name for the message type. Must be at maximum 255 characters in length.
The owner of the message type.
An HTML/liquid template for the message type preview.
The semantic version of the message type.
The SHA hash of the message type.
The timestamp of when the message type was last updated.
Whether the message type is valid.
The variants of the message type.
MessageTypeVariant
A variant of a message type.
Attributes
The field types available for the variant.
The unique key string for the variant. Must be at minimum 3 characters and at maximum 255 characters in length. Must be in the format of ^[a-z0-9_-]+$.
A name for the variant. Must be at maximum 255 characters in length.