Interface
Describes the structure of output bundles and specifies parameters for the next modules
Interface uses the parameters syntax.
Arrays and collections
Arrays and collections use the spec
syntax to specify their structure.
{
"name": "emails",
"spec": {
"type": "email",
"label": "Email"
},
"type": "array",
"label": "Emails"
}
Arrays and collections with unknown structure
When you have a parameter that is a collection or array but you don't know the structure inside, you need to specify the structure. Then, when the service returns any parameter inside the collection or arrary, the user will be able to map them.
{
"name": "custom_fields",
"type": "array",
"label": "Custom Fields"
}
Example

Interface generator
Both the web interface and Visual Studio Code have an interface generator tool to help generate the interface.
Run a module for which you want to generate an interface, then in the panel with the output, click on the button circled below and choose Download output bundles option.

A new panel will appear with the original response from the endpoint.
Copy the text to your clipboard.

[
{
"name": "id",
"type": "uinteger",
"label": "User ID"
}
]

Dynamic interface using RPC
You can use RPC to generate the interface dynamically.
"rpc://nameOfTheRPC"
You can also define RPC to generate just a part of the interface.
[
{
"name": "id",
"type": "uinteger",
"label": "User ID"
},
"rpc://nameOfTheRPC"
]
You can access module parameters in remote procedures via the {{parameters.foo}}
syntax.
Last updated