Skip to main content
The parameters.json file is included at the root of the directory of a custom block. It is used to describe the block itself and identify the parameters available for its configuration. The parameters defined in this file are the input options rendered for the block in Studio and passed into the block as arguments when the it is run.

File structure

The file can be considered in two sections: a header section and a parameters section. The header section identifies the block type and its associated metadata. The metadata required varies by block type. This information is followed by an array of parameters items.

File examples

Below you will find full examples of parameter files for the various types of blocks.

Parameter types

Parameter items are defined as JSON objects that contain a type property. For example:
The parameter type options available are shown in the table below, along with how the parameter is rendered in Studio and how it will be passed to your custom block. In general, parameter items are passed as command line arguments to your custom block script.
Processing blocks do not receive command line argumentsInstead of command line arguments being passed to the block as shown above, processing blocks receive an HTTP request with the parameters in the request body, which are subsequently passed to the function generating the features in your processing block. In this case, dashes in parameter names are replaced with underscores before being passed to your function as arguments:A processing block parameter named custom-processing-param is passed to your feature generation function as custom_processing_param.
Secrets are passed as environment variables instead of command line arguments

All parameter types rendered in Studio

Boolean

Boolean parameter type rendered in Studio

Bucket

Only available for AI labeling, synthetic data, and transformation blocks

Bucket parameter type rendered in Studio

Dataset

Only available for AI labeling, synthetic data, and transformation blocks

Dataset parameter type rendered in Studio

Flag

Flag parameter type rendered in Studio

Float

Float parameter type rendered in Studio

Int

Int parameter type rendered in Studio

Secret

Only available for AI labeling, synthetic data, and transformation blocks

Secret parameter type rendered in Studio


Secret parameter type (hidden) rendered in Studio

Select

Select parameter type without labels rendered in Studio


Select parameter type valid options without labels rendered in Studio


Select parameter type with labels rendered in Studio


Select parameter type valid options with labels rendered in Studio

String

String parameter type rendered in Studio

Parameter groups

Only available for processing blocks
Processing block parameters can contain multiple groups to better organize the options when rendered in Studio. Each string entered as value for the group property is rendered as a header element.

Processing parameters grouped into two groups

Parameter logic

showIf

Parameters can be conditionally shown based on the value of another parameter using the showIf property.

Parameter conditionally hidden based on another parameter


Parameter conditionally shown based on another parameter

showForImplementationVersion

Only available for processing blocks
Processing blocks can have different versions, which allows you to add new functionality to existing blocks without breaking earlier implementations. You are able to shown/hide parameters based on the implementation version set in the latestImplementationVersion property of the processing block. A processing block set to version 4:
A parameter shown only for implementation versions 3 and 4: