LLM-friendly URL

Registering a Plugin

To register a new Plugin in Luzmo, go to Settings > Plugins and click 'Create plugin'.

Alternatively, you can register a Plugin via the Plugin API endpoint.

ℹ️

Your base URL must start with https:// (i.e. a secure HTTP connection), and not end with / . The endpoints that will be called are: BASE_URL/authorize , BASE_URL/datasets , BASE_URL/query , etc.

Property Description
id
uuid
Unique key of your Plugin (automatically assigned)
secret
string
Plugin secret that can be verified by a Plugin to check whether calls originate from Luzmo, or vice-versa. (automatically assigned)
slug
string
required
Unique slug (textual identifier) of your Plugin. A slug must be unique across Luzmo, between 1 and 50 (inclusive) characters long and can only contain alphanumeric characters.
name
localized
required
Name of your Plugin, as shown in the Luzmo UI
description
localized
Description of your Plugin, as shown in the Luzmo UI
base_url
string
required
Base URL of your Plugin that is used to construct /datasets, /query, ... endpoints. This URL must be reachable by Luzmo (publicly routable) -- endpoints like localhost, 192.186.0.0 or 10.0.0.0 will be rejected. To safeguard our customers, your Plugin must be called over HTTPS. A base URL can be at most 1000 characters long.
authorize
string
required
Determines which Authentication your Plugin implements, which influences the Connection creation (e.g. which input fields are shown to a user). Can be either:
  • none: the plugin doesn't handle Authentication. Use this for open data sources, or when you want to handle authentication/authorization fully on your Plugins side, eg. based on the 'user context', metadata or 'authorization overrides'. Note that in the latter case, your plugin should handle requests without any metadata if your Luzmo users should be able to add or query datasets from your plugin (as no metadata is passed along in this case). When the authorize property is set to none, implementing the /authorize endpoint is optional.
  • oauth2: your plugin supports an OAuth2 flow to create Connections. In this case, your plugin must implement an /authorize and /exchange endpoint.
  • custom: your plugin expects a specific set of Authentication properties (eg. key, token, host, ...). The properties are defined in properties. Your plugin should implement the /authorize endpoint to verify the provided credentials before Connection creation.
properties
array
List of Authentication properties that can be set by a user. Only required in case of "custom" as authorize property value (see above).
id
string required
Unique identifier of the property. This identifier is used to set the properties, and will be sent along in X-Property-<Property ID> headers. This identifier can only contain alphanumeric characters or the following special characters: - and _.
name
localized required
Localized name of the property, as shown in the interface.
sensitive
boolean
Whether this property might contain sensitive data, like passwords or tokens. This will cause the properties to be masked in logs and input fields. Defaults to false.
pushdown
boolean
Whether your Plugin supports pushdown behaviour (see here for the differences between basic and pushdown-enabled plugins). Setting this to true entails specific support in the handling of /query calls, as described in detail in Pushdown-enabled Query endpoint. Defaults to false.
protocol_version
string
The version of the Plugin API specification to which this Plugin conforms. Valid values are: 1.0.0, 1.1.0, 2.0.0 (default), or 3.0.0. The version history can be found here. Currently defaults to 2.0.0.
search
boolean
Whether to show a search box to limit the dataset selection. For a dynamic (personalized per user) or large set of datasets, search functionality is advised (and can optionally be handled in the /datasets endpoint using the search property in the request body). Defaults to false (i.e. no search box shown).
supports_distinctcount
boolean
Whether the pushdown-enabled plugin supports Distinct count aggregations. This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
supports_order_limit
boolean
Whether the pushdown-enabled plugin supports Order & limit pushdown. This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
supports_join
boolean
Whether the pushdown-enabled plugin supports Join pushdown (i.e. querying linked datasets). This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
supports_like
boolean
Whether the pushdown-enabled plugin supports filtering with "Like" expressions. This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
supports_nested_filters
boolean
Whether the pushdown-enabled plugin supports Nested filters (AND and OR). This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
supports_sql
boolean
Whether the pushdown-enabled plugin supports SQL datasets. This is dependent on the plugin's protocol_version being (at least) 3.0.0. Defaults to false.
tiles
boolean
Whether to show a tile-based layout (= true) or a list-based layout (false). For a dynamic (personalized per user) or large set of datasets, a list-based layout is advised. Defaults to false.
color
rgb
Key hexadecimal or RGB color value of this Plugin, as applied to the Luzmo UI.
url
string
URL where more information about your product or Plugin can be found, as shown in the Luzmo UI.
license
string
License under which end-users can use, re-use, or re-publish data exposed via your Plugin.
public
boolean
Whether to make this plugin available to all Luzmo users (pending review by the Luzmo team). Defaults to false.
reviewed
boolean
(Read-only) Whether this Plugin has been reviewed positively by the Luzmo team on security, branding and usability characteristics.
Did this page help you?
Yes No