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 required- Possible values: - >= 1- The addon's unique identifier. provider string required- The addon provider, such as "webhook" or "slack". description string nullable required- A description of the addon. - nullif no description exists.enabled boolean required- Whether 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[] required- The 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 required- The name of the addon type. When creating new addons, this goes in the payload's - typefield.displayName string required- The addon type's name as it should be displayed in the admin UI. documentationUrl string required- A URL to where you can find more information about using this addon type. description string required- A description of the addon type. howTo string- A 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 required- The name of the tag type. description string- The description of the tag type. icon string nullable- The 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: truemust be provided.Array [name string required- The name of the parameter as it is used in code. References to this parameter should use this value. displayName string required- The name of the parameter as it is shown to the end user in the Admin UI. type string required- The type of the parameter. Corresponds roughly to HTML - inputfield types. Multi-line inut fields are indicated as- textfield(equivalent to the HTML- textareatag).description string- A description of the parameter. This should explain to the end user what the parameter is used for. placeholder string- The default value for this parameter. This value is used if no other value is provided. required boolean required- Whether 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 required- Indicates 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 required- A URL to where the addon configuration should redirect to install addons of this type. title string- The title of the installation configuration. This will be displayed to the user when installing addons of this type. helpText string- The 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 required- Possible values: [ - success,- info,- warning,- error]- The type of alert. This determines the color of the alert. text string required- The text of the alert. This is what will be displayed to the user. ]deprecated string- This 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 stringThe ID of the error instance 
- name stringThe name of the error kind 
- message stringA 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."
}