Associate Plugin

LLM-friendly URL
POST
https://api.luzmo.com/0.1.0/plugin
API call form
Examples

By default, when you make a plugin via the API, the plugin is only associated to the user that created it. If desired, a plugin owner can also associate their plugin to your organization: by doing so, you make it available to all users in the organization to be able to create a Connection to the plugin.
This is not required if users should only be able to add datasets (requires at least "Use" access to a Connection ), and/or query data from Plugin datasets (requires at least "Read" access to the Dataset ).

Besides that, it's also possible to associate your plugin to a Thumbnail to change the icon.

Request parametersResponse schema
id UUID

The unique identifier of the entity

slug STRING

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 Multilingual string

Internationalized name of the Plugin, as shown in the Luzmo UI.

description Multilingual string

Internationalized description of the Plugin, as shown in the Luzmo UI.

base_url STRING

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 promote security best practices, your Plugin can only be called over HTTPS (i.e. secure connections with encryption). A base URL can be at most 1000 characters long.

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 .

authorize STRING

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, e.g. based on the 'user context' passed along as metadata in the Authorization request . 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.

check_certificate BOOLEAN

Whether Luzmo verifies the TLS certificate of your Plugin's base URL when calling it. Defaults to true . Set this to false only while developing against a host with a self-signed certificate.

Default value:true
secret STRING

Read-only. Shared secret used to sign requests to your Plugin. This is only returned to the owner of the Plugin; it is omitted for all other callers and is never included when listing Plugins.

properties ARRAY[OBJECT]

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
name Multilingual string
sensitive BOOLEAN
protocol_version STRING

The version of the Plugin API specification to which this Plugin conforms. Valid values: 1.0.0 , 1.1.0 , 2.0.0 , or 3.0.0 .

Default value:3.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 plugin supports Order & limit pushdown. This applies to both basic and pushdown-enabled plugins, and 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 plugin supports filtering with "Like" expressions . This applies to both basic and pushdown-enabled plugins, and only requires supports_like to be set to true (it is not gated on the plugin's protocol_version ). Defaults to false .

supports_nested_filters BOOLEAN

Whether the plugin supports Nested filters (i.e. nested AND and OR filter groups). This applies to both basic and pushdown-enabled plugins, and is dependent on the plugin's protocol_version being (at least) 3.0.0 . Defaults to false .

supports_sql BOOLEAN

Whether the plugin supports SQL datasets . This applies to both basic and pushdown-enabled plugins, and is dependent on the plugin's protocol_version being (at least) 3.0.0 . Defaults to false .

supports_array_unnest BOOLEAN

Whether the pushdown-enabled plugin supports Array unnesting pushdown. This is required to expose columns of type array[hierarchy] , array[numeric] or array[datetime] , and is dependent on the plugin's protocol_version being (at least) 3.0.0 . Defaults to false .

supports_array_filters BOOLEAN

Whether the pushdown-enabled plugin supports Array filters pushdown, i.e. array-specific filter expressions such as includes all , includes only and length >= . This is only meaningful in combination with supports_array_unnest , and is dependent on the plugin's protocol_version being (at least) 3.0.0 . When left at false , Luzmo retrieves the rows without those filters and evaluates them server-side instead. 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 true.

Default value:true
color STRING

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

Whether this plugin has been reviewed by the Luzmo team.

Can be executed by:
Entity Owner
&
Organization Member
(For: Organization)
Entity Owner
&
Logged-in User
(For: Thumbnails)
Entity Owner
&
Logged-in User
(For: Securables)
Can be associated to:
Organization
Thumbnails
Securables
Did this page help you?
Yes No
Language
Shell
Node
Java
.NET
Python
PHP
Install
npm install @luzmo/nodejs-sdk
Example Response
200
400
500
{
  "code": 200
}