openapi: 3.1.0 info: title: Twitch Drops Ads Transactions 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: Transactions description: Extension Bits transactions paths: /extensions/transactions: get: operationId: getExtensionTransactions summary: Twitch Get Extension Transactions description: Gets a list of transactions for the specified extension. tags: - Transactions parameters: - $ref: '#/components/parameters/clientId' - name: extension_id in: query required: true schema: type: string - name: id in: query schema: type: string - name: first in: query schema: type: integer maximum: 100 - name: after in: query schema: type: string responses: '200': description: Transactions returned successfully content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ExtensionTransaction' pagination: $ref: '#/components/schemas/Pagination' /extensions/bits/products: get: operationId: getExtensionBitsProducts summary: Twitch Get Extension Bits Products description: Gets a list of Bits products registered for the extension. tags: - Transactions parameters: - $ref: '#/components/parameters/clientId' - name: should_include_all in: query schema: type: boolean responses: '200': description: Bits products returned content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/BitsProduct' put: operationId: updateExtensionBitsProduct summary: Twitch Update Extension Bits Product description: Adds or updates a Bits product registered for the extension. tags: - Transactions parameters: - $ref: '#/components/parameters/clientId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BitsProductInput' responses: '200': description: Product updated successfully content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/BitsProduct' components: schemas: ExtensionTransaction: type: object properties: id: type: string timestamp: type: string format: date-time broadcaster_id: type: string broadcaster_login: type: string broadcaster_name: type: string user_id: type: string user_login: type: string user_name: type: string product_type: type: string enum: - BITS_IN_EXTENSION product_data: type: object properties: sku: type: string cost: type: object properties: amount: type: integer type: type: string enum: - bits displayName: type: string inDevelopment: type: boolean Pagination: type: object properties: cursor: type: string BitsProductInput: type: object required: - sku - cost properties: sku: type: string cost: type: object required: - amount - type properties: amount: type: integer type: type: string enum: - bits display_name: type: string in_development: type: boolean expiration: type: string format: date-time is_broadcast: type: boolean BitsProduct: type: object properties: sku: type: string cost: type: object properties: amount: type: integer type: type: string enum: - bits in_development: type: boolean display_name: type: string expiration: type: string format: date-time is_broadcast: type: boolean 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/