openapi: 3.0.3 info: title: Unleash Admin Addons API version: 7.4.1 description: Create, update, and delete [Unleash addons](https://docs.getunleash.io/addons). servers: - url: https://app.unleash-instance.example.com description: Your Unleash instance (replace with your actual URL) security: - apiKey: [] - bearerToken: [] tags: - name: Addons description: Create, update, and delete [Unleash addons](https://docs.getunleash.io/addons). paths: /api/admin/addons: get: summary: Get All Addons and Providers description: Retrieve all addons and providers that are defined on this Unleash instance. tags: - Addons operationId: getAddons responses: '200': description: addonsSchema content: application/json: schema: $ref: '#/components/schemas/addonsSchema' '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. post: summary: Create a New Addon description: Create an addon instance. The addon must use one of the providers available on this Unleash instance. tags: - Addons operationId: createAddon requestBody: description: addonCreateUpdateSchema required: true content: application/json: schema: $ref: '#/components/schemas/addonCreateUpdateSchema' responses: '200': description: addonSchema content: application/json: schema: $ref: '#/components/schemas/addonSchema' '400': description: The request data does not match what we expect. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ValidationError description: The name of the error kind message: type: string example: The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []. description: A description of what went wrong. '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. '403': description: The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NoAccessError description: The name of the error kind message: type: string example: You need the "UPDATE_ADDON" permission to perform this action in the "development" environment. description: A description of what went wrong. '413': description: The request body is larger than what we accept. By default we only accept bodies of 100kB or less content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ContentTooLarge description: The name of the error kind message: type: string example: You provided more data than we can handle. Unleash accepts at most X MB. description: A description of what went wrong. '415': description: 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. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ContentTypeerror description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. /api/admin/addons/{id}: get: summary: Get a Specific Addon description: Retrieve information about the addon whose ID matches the ID in the request URL. tags: - Addons operationId: getAddon responses: '200': description: addonSchema content: application/json: schema: $ref: '#/components/schemas/addonSchema' '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. parameters: - name: id in: path required: true schema: type: string put: summary: Update an Addon description: 'Update the addon with a specific ID. Any fields in the update object will be updated. Properties that are not included in the update object will not be affected. To empty a property, pass `null` as that property''s value. Note: passing `null` as a value for the description property will set it to an empty string.' tags: - Addons operationId: updateAddon requestBody: description: addonCreateUpdateSchema required: true content: application/json: schema: $ref: '#/components/schemas/addonCreateUpdateSchema' responses: '200': description: addonSchema content: application/json: schema: $ref: '#/components/schemas/addonSchema' '400': description: The request data does not match what we expect. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ValidationError description: The name of the error kind message: type: string example: The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []. description: A description of what went wrong. '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. '403': description: The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NoAccessError description: The name of the error kind message: type: string example: You need the "UPDATE_ADDON" permission to perform this action in the "development" environment. description: A description of what went wrong. '404': description: The requested resource was not found. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NotFoundError description: The name of the error kind message: type: string example: Could not find the addon with ID "12345". description: A description of what went wrong. '413': description: The request body is larger than what we accept. By default we only accept bodies of 100kB or less content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ContentTooLarge description: The name of the error kind message: type: string example: You provided more data than we can handle. Unleash accepts at most X MB. description: A description of what went wrong. '415': description: 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. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: ContentTypeerror description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. parameters: - name: id in: path required: true schema: type: string delete: summary: Delete an Addon description: Delete the addon specified by the ID in the request path. tags: - Addons operationId: deleteAddon responses: '200': description: This response has no body. '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. '403': description: The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NoAccessError description: The name of the error kind message: type: string example: You need the "UPDATE_ADDON" permission to perform this action in the "development" environment. description: A description of what went wrong. '404': description: The requested resource was not found. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NotFoundError description: The name of the error kind message: type: string example: Could not find the addon with ID "12345". description: A description of what went wrong. parameters: - name: id in: path required: true schema: type: string /api/admin/addons/{id}/events: get: tags: - Addons operationId: getIntegrationEvents summary: Get Integration Events for a Specific Integration Configuration. description: Returns a list of integration events belonging to a specific integration configuration, identified by its id. parameters: - name: id in: path required: true schema: type: string - name: limit schema: type: string example: '50' description: The number of results to return in a page. By default it is set to 50. in: query - name: offset schema: type: string example: '50' description: The number of results to skip when returning a page. By default it is set to 0. in: query responses: '200': description: '#/components/schemas/integrationEventsSchema' content: application/json: schema: $ref: '#/components/schemas/integrationEventsSchema' '401': description: Authorization information is missing or invalid. Provide a valid API token as the `authorization` header, e.g. `authorization:*.*.my-admin-token`. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: AuthenticationRequired description: The name of the error kind message: type: string example: 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. description: A description of what went wrong. '403': description: The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NoAccessError description: The name of the error kind message: type: string example: You need the "UPDATE_ADDON" permission to perform this action in the "development" environment. description: A description of what went wrong. '404': description: The requested resource was not found. content: application/json: schema: type: object properties: id: type: string example: 9c40958a-daac-400e-98fb-3bb438567008 description: The ID of the error instance name: type: string example: NotFoundError description: The name of the error kind message: type: string example: Could not find the addon with ID "12345". description: A description of what went wrong. components: schemas: tagSchema: type: object description: Representation of a [tag](https://docs.getunleash.io/concepts/feature-flags#tags) additionalProperties: false required: - value - type properties: value: type: string description: The value of the tag. minLength: 2 maxLength: 50 example: a-tag-value type: type: string minLength: 2 maxLength: 50 description: The [type](https://docs.getunleash.io/concepts/feature-flags#tags) of the tag example: simple color: type: string description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ nullable: true eventSchema: type: object additionalProperties: false required: - id - createdAt - type - createdBy description: An event describing something happening in the system properties: id: type: integer minimum: 1 description: The ID of the event. An increasing natural number. createdAt: type: string format: date-time description: The time the event happened as a RFC 3339-conformant timestamp. example: '2023-07-05T12:56:00.000Z' type: type: string description: What [type](https://docs.getunleash.io/concepts/events#event-types) of event this is enum: - application-created - feature-created - feature-deleted - feature-updated - feature-metadata-updated - feature-variants-updated - feature-environment-variants-updated - feature-project-change - feature-archived - feature-revived - feature-import - feature-tagged - feature-tag-import - feature-strategy-update - feature-strategy-add - feature-strategy-remove - feature-type-updated - feature-completed - feature-uncompleted - feature-link-added - feature-link-removed - feature-link-updated - strategy-order-changed - drop-feature-tags - feature-untagged - feature-stale-on - feature-stale-off - drop-features - feature-environment-enabled - feature-environment-disabled - strategy-created - strategy-deleted - strategy-deprecated - strategy-reactivated - strategy-updated - strategy-import - drop-strategies - context-field-created - context-field-updated - context-field-deleted - project-access-added - project-access-user-roles-updated - project-access-group-roles-updated - project-access-user-roles-deleted - project-access-group-roles-deleted - project-access-updated - project-created - project-updated - project-deleted - project-archived - project-revived - project-import - project-user-added - project-user-removed - project-user-role-changed - project-group-added - role-created - role-updated - role-deleted - drop-projects - tag-created - tag-deleted - tag-import - drop-tags - tag-type-created - tag-type-deleted - tag-type-updated - tag-type-import - drop-tag-types - addon-config-created - addon-config-updated - addon-config-deleted - db-pool-update - user-created - user-updated - user-deleted - drop-environments - environment-import - environment-created - environment-updated - environment-deleted - segment-created - segment-updated - segment-deleted - group-created - group-updated - group-deleted - group-user-added - group-user-removed - setting-created - setting-updated - setting-deleted - client-metrics - client-register - pat-created - pat-deleted - public-signup-token-created - public-signup-token-user-added - public-signup-token-updated - change-request-created - change-request-discarded - change-added - change-discarded - change-edited - change-request-rejected - change-request-approved - change-request-approval-added - change-request-cancelled - change-request-sent-to-review - change-request-schedule-suspended - change-request-applied - change-request-scheduled - change-request-scheduled-application-success - change-request-scheduled-application-failure - change-request-configuration-updated - api-token-created - api-token-updated - api-token-deleted - feature-favorited - feature-unfavorited - project-favorited - project-unfavorited - features-exported - features-imported - service-account-created - service-account-deleted - service-account-updated - feature-potentially-stale-on - feature-dependency-added - feature-dependency-removed - feature-dependencies-removed - banner-created - banner-updated - banner-deleted - safeguard-changed - safeguard-deleted - release-plan-progressions-resumed - release-plan-progressions-paused - project-environment-added - project-environment-removed - default-strategy-updated - segment-import - signal-endpoint-created - signal-endpoint-updated - signal-endpoint-deleted - signal-endpoint-token-created - signal-endpoint-token-updated - signal-endpoint-token-deleted - actions-created - actions-updated - actions-deleted - release-plan-template-created - release-plan-template-updated - release-plan-template-deleted - release-plan-template-archived - release-plan-added - release-plan-removed - release-plan-milestone-started - milestone-progression-created - milestone-progression-updated - milestone-progression-deleted - milestone-progression-changed - user-preference-updated - scim-users-deleted - scim-groups-deleted - cdn-token-created - change-request-requested-approvers-updated - impact-metric-created - impact-metric-updated - impact-metric-deleted example: feature-created createdBy: type: string description: Which user created this event example: johndoe createdByUserId: type: number description: The is of the user that created this event example: 1337 nullable: true environment: type: string description: The feature flag environment the event relates to, if applicable. nullable: true example: development project: type: string nullable: true description: The project the event relates to, if applicable. example: default featureName: type: string nullable: true description: The name of the feature flag the event relates to, if applicable. example: my.first.feature data: type: object nullable: true x-enforcer-exception-skip-codes: WSCH006 description: Extra associated data related to the event, such as feature flag state, segment configuration, etc., if applicable. example: name: new-feature description: Flag description type: release project: my-project stale: false variants: [] createdAt: '2022-05-31T13:32:20.547Z' lastSeenAt: null impressionData: true preData: type: object nullable: true x-enforcer-exception-skip-codes: WSCH006 description: Data relating to the previous state of the event's subject. example: name: new-feature description: Flag description type: release project: my-project stale: false variants: [] createdAt: '2022-05-31T13:32:20.547Z' lastSeenAt: null impressionData: true tags: type: array items: $ref: '#/components/schemas/tagSchema' nullable: true description: Any tags related to the event, if applicable. label: type: string nullable: true description: The concise, human-readable name of the event. summary: type: string nullable: true description: A markdown-formatted summary of the event. ip: type: string nullable: true description: The IP address of the user that created the event. Only available in Enterprise. example: 192.168.1.1 groupType: type: string description: The type of transaction group this event belongs to, if applicable. example: change-request groupId: type: string description: The unique identifier for the transaction group this event belongs to, if applicable. example: 01HQVX5K8P9EXAMPLE123456 addonSchema: type: object description: An [addon](https://docs.getunleash.io/integrate) instance description. Contains data about what kind of provider it uses, whether it's enabled or not, what events it listens for, and more. required: - id - description - provider - enabled - parameters - events properties: id: type: integer minimum: 1 example: 27 description: The addon's unique identifier. provider: type: string description: The addon provider, such as "webhook" or "slack". example: webhook description: type: string description: A description of the addon. `null` if no description exists. example: This addon posts updates to our internal feature tracking system whenever a feature is created or updated. nullable: true enabled: type: boolean description: Whether the addon is enabled or not. parameters: type: object additionalProperties: {} example: url: http://localhost:4242/webhook description: Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. events: type: array description: The event types that trigger this specific addon. items: type: string example: - feature-created - feature-updated projects: type: array description: The projects that this addon listens to events from. An empty list means it listens to events from **all** projects. example: - new-landing-project - signups-v2 items: type: string environments: type: array description: The list of environments that this addon listens to events from. An empty list means it listens to events from **all** environments. example: - development - production items: type: string addonsSchema: type: object required: - addons - providers description: 'An object containing two things: 1. A list of all [addons](https://docs.getunleash.io/integrate) defined on this Unleash instance 2. A list of all addon providers defined on this instance' properties: addons: type: array description: All the addons that exist on this instance of Unleash. items: $ref: '#/components/schemas/addonSchema' providers: type: array description: A list of all available addon providers, along with their parameters and descriptions. example: - 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/api/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 items: $ref: '#/components/schemas/addonTypeSchema' integrationEventsSchema: description: A response model with a list of integration events. type: object additionalProperties: false required: - integrationEvents properties: integrationEvents: type: array description: A list of integration events. items: $ref: '#/components/schemas/integrationEventSchema' addonCreateUpdateSchema: type: object required: - provider - enabled - parameters - events description: Data required to create or update an [Unleash addon](https://docs.getunleash.io/integrate) instance. properties: provider: type: string description: '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: the `providers` property of that response will contain all available providers. The default set of providers can be found in the [addons reference documentation](https://docs.getunleash.io/integrate). The default supported options are: - `datadog` for [Datadog](https://docs.getunleash.io/integrate/datadog) - `slack` for [Slack](https://docs.getunleash.io/integrate/slack) - `teams` for [Microsoft Teams](https://docs.getunleash.io/integrate/teams) - `webhook` for [webhooks](https://docs.getunleash.io/integrate/webhook) The provider you choose for your addon dictates what properties the `parameters` object needs. Refer to the documentation for each provider for more information. ' example: webhook description: type: string description: A description of the addon. example: This addon posts updates to our internal feature tracking system whenever a feature is created or updated. enabled: type: boolean description: Whether the addon should be enabled or not. parameters: type: object additionalProperties: {} example: url: http://localhost:4242/webhook description: 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: type: array description: The event types that will trigger this specific addon. items: type: string example: - feature-created - feature-updated projects: type: array description: The projects that this addon will listen to events from. An empty list means it will listen to events from **all** projects. example: - new-landing-project - signups-v2 items: type: string environments: type: array description: The list of environments that this addon will listen to events from. An empty list means it will listen to events from **all** environments. example: - development - production items: type: string addonParameterSchema: type: object additionalProperties: false required: - name - displayName - type - required - sensitive description: An addon parameter definition. properties: name: type: string example: emojiIcon description: The name of the parameter as it is used in code. References to this parameter should use this value. displayName: type: string example: Emoji Icon description: The name of the parameter as it is shown to the end user in the Admin UI. type: type: string description: The type of the parameter. Corresponds roughly to [HTML `input` field types](https://developer.mozilla.org/docs/Web/HTML/Element/Input#input_types). Multi-line inut fields are indicated as `textfield` (equivalent to the HTML `textarea` tag). example: text description: type: string example: The emoji_icon to use when posting messages to slack. Defaults to ":unleash:". description: A description of the parameter. This should explain to the end user what the parameter is used for. placeholder: type: string example: ':unleash:' description: The default value for this parameter. This value is used if no other value is provided. required: type: boolean example: false description: 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: type: boolean example: false description: 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. integrationEventSchema: type: object required: - id - integrationId - createdAt - state - stateDetails - event - details description: An object describing an integration event. additionalProperties: false properties: id: type: string pattern: ^[0-9]+$ description: The integration event's ID. Integration event IDs are incrementing integers. In other words, a more recently created integration event will always have a higher ID than an older one. This ID is represented as a string since it is a BigInt. example: '7' integrationId: type: integer description: The ID of the integration that the integration event belongs to. example: 42 createdAt: type: string format: date-time description: The date and time of when the integration event was created. In other words, the date and time of when the integration handled the event. example: '2023-12-27T13:37:00+01:00' state: type: string enum: - success - failed - successWithErrors description: The state of the integration event. Can be one of `success`, `failed` or `successWithErrors`. example: failed stateDetails: type: string description: Details about the state of the integration event. example: 'Status code: 429 - Rate limit reached.' event: $ref: '#/components/schemas/eventSchema' description: The event that triggered this integration event. details: type: object x-enforcer-exception-skip-codes: WSCH006 description: Detailed information about the integration event. The contents vary depending on the type of integration and the specific details. example: message: '*user@yourcompany.com* created a new *slack-app* integration configuration' channels: - engineering - unleash-updates tagTypeSchema: type: object additionalProperties: false description: A tag type. required: - name properties: name: type: string description: The name of the tag type. example: color description: type: string description: The description of the tag type. example: A tag type for describing the color of a tag. icon: type: string nullable: true description: The icon of the tag type. example: not-really-used color: type: string nullable: true description: The hexadecimal color code for the tag type. example: '#FFFFFF' pattern: ^#[0-9A-Fa-f]{6}$ addonTypeSchema: type: object additionalProperties: false required: - name - displayName - documentationUrl - description description: An addon provider. Defines a specific addon type and what the end user must configure when creating a new addon of that type. properties: name: type: string description: The name of the addon type. When creating new addons, this goes in the payload's `type` field. example: slack displayName: type: string description: The addon type's name as it should be displayed in the admin UI. example: Slack documentationUrl: type: string description: A URL to where you can find more information about using this addon type. example: https://docs.getunleash.io/docs/addons/slack description: type: string description: A description of the addon type. example: Allows Unleash to post updates to Slack. howTo: type: string description: A long description of how to use this addon type. This will be displayed on the top of configuration page. Can contain markdown. example: "This is **how you use** this addon type...\n - Step 1\n - Step 2\n - Step 3" tagTypes: type: array description: A list of [Unleash tag types](https://docs.getunleash.io/concepts/feature-flags#tags) that this addon uses. These tags will be added to the Unleash instance when an addon of this type is created. example: - name: slack description: Slack tag used by the slack-addon to specify the slack channel. icon: S items: $ref: '#/components/schemas/tagTypeSchema' parameters: type: array description: 'The addon provider''s parameters. Use these to configure an addon of this provider type. Items with `required: true` must be provided.' items: $ref: '#/components/schemas/addonParameterSchema' example: - 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: type: array description: All the [event types](https://docs.getunleash.io/concepts/events#event-types) that are available for this addon provider. items: type: string example: - 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 installation: type: object additionalProperties: false required: - url description: The installation configuration for this addon type. properties: url: type: string description: A URL to where the addon configuration should redirect to install addons of this type. example: https://app-for-slack.getunleash.io/install title: type: string description: The title of the installation configuration. This will be displayed to the user when installing addons of this type. example: App for Slack installation helpText: type: string description: The help text of the installation configuration. This will be displayed to the user when installing addons of this type. example: Clicking the Install button will send you to Slack to initiate the installation procedure for the Unleash App for Slack for your workspace alerts: type: array description: A list of alerts to display to the user when installing addons of this type. items: type: object additionalProperties: false required: - type - text properties: type: type: string enum: - success - info - warning - error description: The type of alert. This determines the color of the alert. example: info text: type: string description: The text of the alert. This is what will be displayed to the user. example: Please ensure you have the Unleash App for Slack installed in your Slack workspace if you haven't installed it already. If you want the Unleash App for Slack bot to post messages to private channels, you'll need to invite it to those channels. deprecated: type: string description: 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. example: This integration is deprecated. Please try the new integration instead. securitySchemes: apiKey: type: apiKey in: header name: Authorization description: API key needed to access this API bearerToken: type: http scheme: bearer description: API key needed to access this API, in Bearer token format