Get all addons and providers
GET /api/admin/addons
Retrieve all addons and providers that are defined on this Unleash instance.
Request
- 200
- 401
addonsSchema
- application/json
- Schema
- Example (from schema)
Schema
addons object[]required
All the addons that exist on this instance of Unleash.
Array [id integer requiredPossible values:
>= 1
The addon's unique identifier.
provider string requiredThe addon provider, such as "webhook" or "slack".
description string nullable requiredA description of the addon.
null
if no description exists.enabled boolean requiredWhether the addon is enabled or not.
parameters objectrequired
Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose.
events string[] requiredThe event types that trigger this specific addon.
projects string[]The projects that this addon listens to events from. An empty list means it listens to events from all projects.
environments string[]The list of environments that this addon listens to events from. An empty list means it listens to events from all environments.
]providers object[]required
A list of all available addon providers, along with their parameters and descriptions.
Array [name string requiredThe name of the addon type. When creating new addons, this goes in the payload's
type
field.displayName string requiredThe addon type's name as it should be displayed in the admin UI.
documentationUrl string requiredA URL to where you can find more information about using this addon type.
description string requiredA description of the addon type.
howTo stringA long description of how to use this addon type. This will be displayed on the top of configuration page. Can contain markdown.
tagTypes object[]
A list of Unleash tag types that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created.
Array [name string requiredThe name of the tag type.
description stringThe description of the tag type.
icon string nullableThe icon of the tag type.
]parameters object[]
The addon provider's parameters. Use these to configure an addon of this provider type. Items with
required: true
must be provided.Array [name string requiredThe name of the parameter as it is used in code. References to this parameter should use this value.
displayName string requiredThe name of the parameter as it is shown to the end user in the Admin UI.
type string requiredThe type of the parameter. Corresponds roughly to HTML
input
field types. Multi-line inut fields are indicated astextfield
(equivalent to the HTMLtextarea
tag).description stringA description of the parameter. This should explain to the end user what the parameter is used for.
placeholder stringThe default value for this parameter. This value is used if no other value is provided.
required boolean requiredWhether this parameter is required or not. If a parameter is required, you must give it a value when you create the addon. If it is not required it can be left out. It may receive a default value in those cases.
sensitive boolean requiredIndicates whether this parameter is sensitive or not. Unleash will not return sensitive parameters to API requests. It will instead use a number of asterisks to indicate that a value is set, e.g. "******". The number of asterisks does not correlate to the parameter's value.
]events string[]All the event types that are available for this addon provider.
installation object
The installation configuration for this addon type.
url string requiredA URL to where the addon configuration should redirect to install addons of this type.
title stringThe title of the installation configuration. This will be displayed to the user when installing addons of this type.
helpText stringThe help text of the installation configuration. This will be displayed to the user when installing addons of this type.
alerts object[]
A list of alerts to display to the user when installing addons of this type.
Array [type string requiredPossible values: [
success
,info
,warning
,error
]The type of alert. This determines the color of the alert.
text string requiredThe text of the alert. This is what will be displayed to the user.
]deprecated stringThis should be used to inform the user that this addon type is deprecated and should not be used. Deprecated addons will show a badge with this information on the UI.
]
{
"addons": [
{
"id": 27,
"provider": "webhook",
"description": "This addon posts updates to our internal feature tracking system whenever a feature is created or updated.",
"enabled": true,
"parameters": {
"url": "http://localhost:4242/webhook"
},
"events": [
"feature-created",
"feature-updated"
],
"projects": [
"new-landing-project",
"signups-v2"
],
"environments": [
"development",
"production"
]
}
],
"providers": [
{
"name": "webhook",
"displayName": "Webhook",
"description": "A Webhook is a generic way to post messages from Unleash to third party services.",
"documentationUrl": "https://docs.getunleash.io/docs/addons/webhook",
"parameters": [
{
"name": "url",
"displayName": "Webhook URL",
"description": "(Required) Unleash will perform a HTTP Post to the specified URL (one retry if first attempt fails)",
"type": "url",
"required": true,
"sensitive": true
},
{
"name": "contentType",
"displayName": "Content-Type",
"placeholder": "application/json",
"description": "(Optional) The Content-Type header to use. Defaults to \"application/json\".",
"type": "text",
"required": false,
"sensitive": false
},
{
"name": "authorization",
"displayName": "Authorization",
"placeholder": "",
"description": "(Optional) The Authorization header to use. Not used if left blank.",
"type": "text",
"required": false,
"sensitive": true
},
{
"name": "bodyTemplate",
"displayName": "Body template",
"placeholder": "{\n \"event\": \"{{event.type}}\",\n \"createdBy\": \"{{event.createdBy}}\",\n \"featureToggle\": \"{{event.data.name}}\",\n \"timestamp\": \"{{event.data.createdAt}}\"\n}",
"description": "(Optional) You may format the body using a mustache template. If you don't specify anything, the format will similar to the events format (https://docs.getunleash.io/reference/api/legacy/unleash/admin/events)",
"type": "textfield",
"required": false,
"sensitive": false
}
],
"events": [
"feature-created",
"feature-updated",
"feature-archived",
"feature-revived",
"feature-stale-on",
"feature-stale-off",
"feature-environment-enabled",
"feature-environment-disabled",
"feature-strategy-remove",
"feature-strategy-update",
"feature-strategy-add",
"feature-metadata-updated",
"feature-variants-updated",
"feature-project-change",
"feature-tagged",
"feature-untagged",
"change-request-created",
"change-request-discarded",
"change-added",
"change-discarded",
"change-request-approved",
"change-request-approval-added",
"change-request-cancelled",
"change-request-sent-to-review",
"change-request-applied"
]
},
{
"name": "slack",
"displayName": "Slack",
"description": "Allows Unleash to post updates to Slack.",
"documentationUrl": "https://docs.getunleash.io/docs/addons/slack",
"parameters": [
{
"name": "url",
"displayName": "Slack webhook URL",
"description": "(Required)",
"type": "url",
"required": true,
"sensitive": true
},
{
"name": "username",
"displayName": "Username",
"placeholder": "Unleash",
"description": "The username to use when posting messages to slack. Defaults to \"Unleash\".",
"type": "text",
"required": false,
"sensitive": false
},
{
"name": "emojiIcon",
"displayName": "Emoji Icon",
"placeholder": ":unleash:",
"description": "The emoji_icon to use when posting messages to slack. Defaults to \":unleash:\".",
"type": "text",
"required": false,
"sensitive": false
},
{
"name": "defaultChannel",
"displayName": "Default channel",
"description": "(Required) Default channel to post updates to if not specified in the slack-tag",
"type": "text",
"required": true,
"sensitive": false
}
],
"events": [
"feature-created",
"feature-updated",
"feature-archived",
"feature-revived",
"feature-stale-on",
"feature-stale-off",
"feature-environment-enabled",
"feature-environment-disabled",
"feature-strategy-remove",
"feature-strategy-update",
"feature-strategy-add",
"feature-metadata-updated",
"feature-variants-updated",
"feature-project-change"
],
"tagTypes": [
{
"name": "slack",
"description": "Slack tag used by the slack-addon to specify the slack channel.",
"icon": "S"
}
]
},
{
"name": "teams",
"displayName": "Microsoft Teams",
"description": "Allows Unleash to post updates to Microsoft Teams.",
"documentationUrl": "https://docs.getunleash.io/docs/addons/teams",
"parameters": [
{
"name": "url",
"displayName": "Microsoft Teams webhook URL",
"description": "(Required)",
"type": "url",
"required": true,
"sensitive": true
}
],
"events": [
"feature-created",
"feature-updated",
"feature-archived",
"feature-revived",
"feature-stale-on",
"feature-stale-off",
"feature-environment-enabled",
"feature-environment-disabled",
"feature-strategy-remove",
"feature-strategy-update",
"feature-strategy-add",
"feature-metadata-updated",
"feature-variants-updated",
"feature-project-change"
]
},
{
"name": "datadog",
"displayName": "Datadog",
"description": "Allows Unleash to post updates to Datadog.",
"documentationUrl": "https://docs.getunleash.io/docs/addons/datadog",
"parameters": [
{
"name": "url",
"displayName": "Datadog Events URL",
"description": "Default URL: https://api.datadoghq.com/api/v1/events. Needs to be changed if your're not using the US1 site.",
"type": "url",
"required": false,
"sensitive": false
},
{
"name": "apiKey",
"displayName": "Datadog API key",
"placeholder": "j96c23b0f12a6b3434a8d710110bd862",
"description": "(Required) API key to connect to Datadog",
"type": "text",
"required": true,
"sensitive": true
}
],
"events": [
"feature-created",
"feature-updated",
"feature-archived",
"feature-revived",
"feature-stale-on",
"feature-stale-off",
"feature-environment-enabled",
"feature-environment-disabled",
"feature-strategy-remove",
"feature-strategy-update",
"feature-strategy-add",
"feature-metadata-updated",
"feature-project-change",
"feature-variants-updated"
],
"tagTypes": [
{
"name": "datadog",
"description": "All Datadog tags added to a specific feature are sent to datadog event stream.",
"icon": "D"
}
]
}
]
}
Authorization information is missing or invalid. Provide a valid API token as the authorization
header, e.g. authorization:*.*.my-admin-token
.
- application/json
- Schema
- Example (from schema)
Schema
- id string
The ID of the error instance
- name string
The name of the error kind
- message string
A description of what went wrong.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "AuthenticationRequired",
"message": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login."
}