Create a new addon
POST /api/admin/addons
Create an addon instance. The addon must use one of the providers available on this Unleash instance.
Request
- application/json
Body
required
addonCreateUpdateSchema
- provider string required
The addon provider, such as "webhook" or "slack". This string is case sensitive and maps to the provider's
name
property.The list of all supported providers and their parameters for a specific Unleash instance can be found by making a GET request to the
api/admin/addons
endpoint: theproviders
property of that response will contain all available providers.The default set of providers can be found in the addons reference documentation. The default supported options are:
datadog
for Datadogslack
for Slackteams
for Microsoft Teamswebhook
for webhooks
The provider you choose for your addon dictates what properties the
parameters
object needs. Refer to the documentation for each provider for more information. - description string
A description of the addon.
- enabled boolean required
Whether the addon should be enabled or not.
parameters objectrequired
Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. Consult the documentation for details.
- events string[] required
The event types that will trigger this specific addon.
- projects string[]
The projects that this addon will listen to events from. An empty list means it will listen to events from all projects.
- environments string[]
The list of environments that this addon will listen to events from. An empty list means it will listen to events from all environments.
- 200
- 400
- 401
- 403
- 413
- 415
addonSchema
- application/json
- Schema
- Example (from schema)
Schema
- 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.
null
if 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.
{
"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"
]
}
The request data does not match what we expect.
- 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": "ValidationError",
"message": "The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []."
}
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."
}
The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation
- 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": "NoAccessError",
"message": "You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment."
}
The request body is larger than what we accept. By default we only accept bodies of 100kB or less
- 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": "ContentTooLarge",
"message": "You provided more data than we can handle. Unleash accepts at most X MB."
}
The operation does not support request payloads of the provided type. Please ensure that you're using one of the listed payload types and that you have specified the right content type in the "content-type" header.
- 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": "ContentTypeerror",
"message": "We do not accept the content-type you provided (application/xml). Try using one of the content-types we do accept instead (application/json) and make sure the body is in the corresponding format."
}