openapi: 3.1.0 info: title: Twitch Drops Ads Configuration API description: APIs for game developers to create and manage Drops campaigns that grant in-game rewards to Twitch viewers watching streamers play their game. Drops campaigns are managed through the Twitch Developer Console and fulfilled via the Helix API entitlements endpoints. version: '1.0' contact: name: Twitch Developer Support url: https://dev.twitch.tv/support/ termsOfService: https://www.twitch.tv/p/legal/terms-of-service/ servers: - url: https://api.twitch.tv/helix description: Twitch Helix API Production security: - oauth2: [] tags: - name: Configuration description: Extension configuration service paths: /extensions/configurations: get: operationId: getExtensionConfigurationSegment summary: Twitch Get Extension Configuration Segment description: Gets the specified configuration segment from the specified extension. tags: - Configuration parameters: - $ref: '#/components/parameters/clientId' - name: broadcaster_id in: query schema: type: string - name: extension_id in: query required: true schema: type: string - name: segment in: query required: true schema: type: string enum: - broadcaster - developer - global responses: '200': description: Configuration returned successfully content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ExtensionConfigurationSegment' put: operationId: setExtensionConfigurationSegment summary: Twitch Set Extension Configuration Segment description: Sets a single configuration segment for a specific extension. tags: - Configuration parameters: - $ref: '#/components/parameters/clientId' requestBody: required: true content: application/json: schema: type: object required: - extension_id - segment properties: extension_id: type: string segment: type: string enum: - broadcaster - developer - global broadcaster_id: type: string content: type: string maxLength: 5120 version: type: string responses: '204': description: Configuration segment set successfully /extensions/required_configuration: put: operationId: setExtensionRequiredConfiguration summary: Twitch Set Extension Required Configuration description: Marks the extension's required configuration string as set. tags: - Configuration parameters: - $ref: '#/components/parameters/clientId' - name: broadcaster_id in: query required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - extension_id - extension_version - required_configuration properties: extension_id: type: string extension_version: type: string required_configuration: type: string responses: '204': description: Required configuration set successfully components: schemas: ExtensionConfigurationSegment: type: object properties: segment: type: string enum: - broadcaster - developer - global broadcaster_id: type: string content: type: string version: type: string parameters: clientId: name: Client-Id in: header required: true schema: type: string description: Your registered application's client ID securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://id.twitch.tv/oauth2/token scopes: {} externalDocs: description: Twitch Drops Documentation url: https://dev.twitch.tv/docs/drops/