Docs
/
/

Environments mAPI reference

Complete reference documentation for the Environments resource.

Environments

#

Knock uses the concept of environments to ensure logical separation of your data. Your account starts with a single production environment. If you've enabled environments, you can create resources in your development environment and promote them to higher environments.

List environments

#

Returns a paginated list of visible environments in catalog order.

Endpoint

GET/v1/environments

Query parameters

after
string

The cursor to fetch entries after.

before
string

The cursor to fetch entries before.

limit
integer

The number of entries to fetch per-page.

Returns

PaginatedEnvironmentResponse

A paginated list of Environment. Contains a list of entries and page information.

A list of entries.

created_at
string(date-time)
Required

The timestamp of when the environment was created.

deleted_at
string(date-time)

The timestamp of when the environment was deleted.

hide_pii_data
boolean

Whether PII data is hidden from the environment. Read more in the data obfuscation docs.

label_color
string

The color of the environment label to display in the dashboard.

last_commit_at
string(date-time)

The timestamp of the most-recent commit in the environment.

name
string
Required

A human-readable name for the environment. Cannot exceed 255 characters.

order
integer
Required

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.

owner
enum(string)
Required

The owner of the environment.

systemuser
slug
string
Required

A unique slug for the environment. Cannot exceed 255 characters.

updated_at
string(date-time)
Required

The timestamp of when the environment was last updated.

visibility
enum(string)
Required

Whether the environment is part of the account catalog.

visiblehidden
page_info

The information about a paginated result.

after
string

The cursor to fetch entries after. Will only be present if there are more entries to fetch.

before
string

The cursor to fetch entries before. Will only be present if there are more entries to fetch before the current page.

page_size
integer

The number of entries to fetch per-page.

Get an environment

#

Returns a single environment by the environment_slug.

Endpoint

GET/v1/environments/{environment_slug}

Path parameters

environment_slug
string

The slug of the environment to retrieve.

Returns

An environment object.

created_at
string(date-time)

The timestamp of when the environment was created.

deleted_at
string(date-time)

The timestamp of when the environment was deleted.

hide_pii_data
boolean

Whether PII data is hidden from the environment. Read more in the data obfuscation docs.

label_color
string

The color of the environment label to display in the dashboard.

last_commit_at
string(date-time)

The timestamp of the most-recent commit in the environment.

name
string

A human-readable name for the environment. Cannot exceed 255 characters.

order
integer

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.

owner
enum(string)

The owner of the environment.

systemuser
slug
string

A unique slug for the environment. Cannot exceed 255 characters.

updated_at
string(date-time)

The timestamp of when the environment was last updated.

visibility
enum(string)

Whether the environment is part of the account catalog.

visiblehidden

Get environment defaults

#

Returns the default settings for an environment. When no defaults have been set, preference_set and both timestamps are null.

Endpoint

GET/v1/environments/{environment_slug}/defaults

Path parameters

environment_slug
string

The slug of the environment to read or update the defaults for.

Returns

The default settings for an environment.

created_at
string(date-time)

The timestamp of when the defaults were first set. Null when no defaults have been set.

A preference set applied to every recipient in the environment unless the recipient overrides it. The __persistence_strategy__ and __strategy__ keys are not supported, because defaults are always replaced in full.

categories
object

A map of category key to a boolean or an object containing channel_types, channels, and conditions.

channel_types
object

A map of channel type to a boolean or an object containing conditions. Valid channel types are email, sms, push, chat, in_app_feed, and http.

channels
object

A map of channel ID to a boolean or an object containing conditions.

commercial_subscribed
2 possible types

Whether the recipient is subscribed to commercial messages, as a boolean or a settings object.

workflows
object

A map of workflow key to a boolean or an object containing channel_types, channels, and conditions.

updated_at
string(date-time)

The timestamp of when the defaults were last updated. Null when no defaults have been set.

Upsert environment defaults

#

Creates or replaces the default settings for an environment. The change applies to the environment immediately, including production. It is not committed or promoted, and concurrent writes are last-write-wins. The preference_set replaces any existing set in full, and null clears it.

Endpoint

PUT/v1/environments/{environment_slug}/defaults

Path parameters

environment_slug
string

The slug of the environment to read or update the defaults for.

Request body

preference_setRequired

A preference set applied to every recipient in the environment unless the recipient overrides it. The __persistence_strategy__ and __strategy__ keys are not supported, because defaults are always replaced in full.

categories
object

A map of category key to a boolean or an object containing channel_types, channels, and conditions.

channel_types
object

A map of channel type to a boolean or an object containing conditions. Valid channel types are email, sms, push, chat, in_app_feed, and http.

channels
object

A map of channel ID to a boolean or an object containing conditions.

commercial_subscribed
2 possible types

Whether the recipient is subscribed to commercial messages, as a boolean or a settings object.

workflows
object

A map of workflow key to a boolean or an object containing channel_types, channels, and conditions.

Returns

The default settings for an environment.

created_at
string(date-time)

The timestamp of when the defaults were first set. Null when no defaults have been set.

A preference set applied to every recipient in the environment unless the recipient overrides it. The __persistence_strategy__ and __strategy__ keys are not supported, because defaults are always replaced in full.

categories
object

A map of category key to a boolean or an object containing channel_types, channels, and conditions.

channel_types
object

A map of channel type to a boolean or an object containing conditions. Valid channel types are email, sms, push, chat, in_app_feed, and http.

channels
object

A map of channel ID to a boolean or an object containing conditions.

commercial_subscribed
2 possible types

Whether the recipient is subscribed to commercial messages, as a boolean or a settings object.

workflows
object

A map of workflow key to a boolean or an object containing channel_types, channels, and conditions.

updated_at
string(date-time)

The timestamp of when the defaults were last updated. Null when no defaults have been set.

EnvironmentDefaultsPreferenceSet

#

A preference set applied to every recipient in the environment unless the recipient overrides it. The __persistence_strategy__ and __strategy__ keys are not supported, because defaults are always replaced in full.

Attributes

categories
object

A map of category key to a boolean or an object containing channel_types, channels, and conditions.

channel_types
object

A map of channel type to a boolean or an object containing conditions. Valid channel types are email, sms, push, chat, in_app_feed, and http.

channels
object

A map of channel ID to a boolean or an object containing conditions.

commercial_subscribed
2 possible types

Whether the recipient is subscribed to commercial messages, as a boolean or a settings object.

workflows
object

A map of workflow key to a boolean or an object containing channel_types, channels, and conditions.

EnvironmentDefaults

#

The default settings for an environment.

Attributes

created_at
string(date-time)

The timestamp of when the defaults were first set. Null when no defaults have been set.

A preference set applied to every recipient in the environment unless the recipient overrides it. The __persistence_strategy__ and __strategy__ keys are not supported, because defaults are always replaced in full.

categories
object

A map of category key to a boolean or an object containing channel_types, channels, and conditions.

channel_types
object

A map of channel type to a boolean or an object containing conditions. Valid channel types are email, sms, push, chat, in_app_feed, and http.

channels
object

A map of channel ID to a boolean or an object containing conditions.

commercial_subscribed
2 possible types

Whether the recipient is subscribed to commercial messages, as a boolean or a settings object.

workflows
object

A map of workflow key to a boolean or an object containing channel_types, channels, and conditions.

updated_at
string(date-time)

The timestamp of when the defaults were last updated. Null when no defaults have been set.

Environment

#

An environment object.

Attributes

created_at
string(date-time)

The timestamp of when the environment was created.

deleted_at
string(date-time)

The timestamp of when the environment was deleted.

hide_pii_data
boolean

Whether PII data is hidden from the environment. Read more in the data obfuscation docs.

label_color
string

The color of the environment label to display in the dashboard.

last_commit_at
string(date-time)

The timestamp of the most-recent commit in the environment.

name
string

A human-readable name for the environment. Cannot exceed 255 characters.

order
integer

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.

owner
enum(string)

The owner of the environment.

systemuser
slug
string

A unique slug for the environment. Cannot exceed 255 characters.

updated_at
string(date-time)

The timestamp of when the environment was last updated.

visibility
enum(string)

Whether the environment is part of the account catalog.

visiblehidden
New chat