StreamElements themes API

Endpoints to browse StreamElements themes

Operations 2

GET /themes / #
GET /themes/{themeId} /:themeId #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/streamelements-themes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

streamelements-themes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SE API Docs activities Themes API
  description: '## Custom Variable types

    `guid` - string that matches pattern: `/^[0-9a-fA-F]{24}$/` (24 character hexadecimal string)

    `datetime` - either timestamp in milliseconds (unix timestamp*1000) or string in ISO 8061 format

    ## Global variables

    `Authorization` - string:  JWT Token you can obtain here: https://streamelements.com/dashboard/account/channels (click "Show secrets")

    `channelId` - guid: obtained by requesting `/channels/me` endpoint with provided JWT token

    `channelName` - string: lowercase channel name

    `timezone` - integer: timezone index'
  contact: {}
  version: '1.0'
servers:
- url: https://api.streamelements.com/kappa/v2
  description: V2
  variables: {}
- url: https://api.streamelements.com/kappa/v3
  description: V3
  variables: {}
security:
- JWTBearer: []
- OAuth2: []
- ApiKeyBearer: []
tags:
- name: themes
  description: Endpoints to browse StreamElements themes
paths:
  /themes:
    get:
      tags:
      - themes
      summary: /
      description: List available themes
      operationId: Get/
      parameters:
      - name: type
        in: query
        description: string - one of alert, regular, super mobile, widget
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: mobile
        in: query
        description: boolean
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: Accept
        in: header
        description: ''
        required: true
        style: simple
        schema:
          type: string
          example: application/json; charset=utf-8
      responses:
        '200':
          description: ''
          headers:
            Date:
              content:
                text/plain:
                  schema:
                    type: string
                  example: Sat, 08 Dec 2018 12:40:47 GMT
            Content-Length:
              content:
                text/plain:
                  schema:
                    type: string
                  example: '167228'
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ThemesList'
      deprecated: false
  /themes/{themeId}:
    get:
      tags:
      - themes
      summary: /:themeId
      description: Get theme details
      operationId: /:themeId
      parameters:
      - name: themeId
        in: path
        description: guid - theme id
        required: true
        style: simple
        schema:
          type: string
          example: 59c29040a59fb471efc0c8c5
      - name: Accept
        in: header
        description: ''
        required: true
        style: simple
        schema:
          type: string
          example: application/json; charset=utf-8
      responses:
        '200':
          description: ''
          headers:
            Date:
              content:
                text/plain:
                  schema:
                    type: string
                  example: Sat, 08 Dec 2018 12:42:03 GMT
            Content-Length:
              content:
                text/plain:
                  schema:
                    type: string
                  example: '1989'
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/OverlayData'
              example:
                published: true
                provider: twitch
                type: super
                size: '1080'
                totalUsers: 359
                mobile: false
                _id: 59c29040a59fb471efc0c8c5
                updatedAt: '2018-03-17T22:46:11.532Z'
                createdAt: '2017-09-20T15:58:56.312Z'
                title: HATTRICK SUPER THEME
                author: designki
                game: FIFA2018
                thumbnail: https://cdn.streamelements.com/uploads/418cd740-f6ea-4050-a82b-761c9b1c9b1d.png
                overlays:
                - overlay:
                    _id: 59c03140374e871d01925ef1
                    game: FIFA 18
                    name: HATTRICK IN GAME SCENE
                  thumbnail: https://cdn.streamelements.com/uploads/6882ec4d-a59b-4fed-9bb2-86d88b3a10d6.jpg
                  preview: https://cdn.streamelements.com/uploads/0be5a140-42d4-4311-a139-947a33f89680.jpg
                  _id: 59c29040a59fb471efc0c8c6
                - overlay:
                    _id: 59c03634374e871d01926090
                    game: FIFA 18
                    name: HATTRICK TALK  SCENE
                  thumbnail: https://cdn.streamelements.com/uploads/c8f686e8-505f-47ab-8f90-f923bb62eafa.jpg
                  preview: https://cdn.streamelements.com/uploads/7e79a7c1-18cd-48c3-ac55-52b9daad55ab.jpg
                  _id: 59c29040a59fb471efc0c8c7
                - overlay:
                    _id: 59c0d6cadf375d6bb3858424
                    game: FIFA 18
                    name: HATTRICK START SCENE
                  thumbnail: https://cdn.streamelements.com/uploads/8d494630-3264-44c0-9e68-bce32bb8267c.jpg
                  preview: https://cdn.streamelements.com/uploads/4b249217-5b4e-4277-be8a-cae8abf7dc84.jpg
                  _id: 59c29040a59fb471efc0c8c8
                - overlay:
                    _id: 59c0d9444492765935648d70
                    game: FIFA 18
                    name: HATTRICK BRB SCENE
                  thumbnail: https://cdn.streamelements.com/uploads/4cb659ea-7a7b-4e81-b75e-8643944d5957.jpg
                  preview: https://cdn.streamelements.com/uploads/c2202e0c-1695-4169-b155-cd1c4dd5a157.jpg
                  _id: 59c29040a59fb471efc0c8c9
                - overlay:
                    _id: 59c0dbff69db7f0460376197
                    game: FIFA 18
                    name: HATTRICK END SCENE
                  thumbnail: https://cdn.streamelements.com/uploads/c3f6be0f-2c93-41f9-8b84-469c1073e558.jpg
                  preview: https://cdn.streamelements.com/uploads/643b716d-0597-4673-9772-3b7f1194b604.jpg
                  _id: 59c29040a59fb471efc0c8ca
                rating: 0.2777777777777778
                new: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400-badrequest'
              example:
                statusCode: 400
                error: Bad Request
                message: 'child "themeId" fails because ["themeId" with value "truncated" fails to match the required pattern: /^[0-9a-fA-F]{24}$/]'
                details:
                - path:
                  - themeId
                  message: '"themeId" with value "truncated" fails to match the required pattern: /^[0-9a-fA-F]{24}$/'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notfound2'
              example:
                statusCode: 404
                error: Not Found
      deprecated: false
components:
  schemas:
    Text3:
      title: Text3
      required:
      - message
      type: object
      properties:
        message:
          type: string
        css:
          $ref: '#/components/schemas/Css6'
      example:
        message: '{name} just resubscribed for {amount} months!'
    Image:
      title: Image
      required:
      - type
      - css
      type: object
      properties:
        type:
          type: string
        css:
          $ref: '#/components/schemas/Css2'
      example:
        type: image
        css:
          max-width: 100%
    Audio:
      title: Audio
      required:
      - type
      - volume
      type: object
      properties:
        type:
          type: string
        volume:
          type: integer
          format: int32
      example:
        type: audio
        volume: 1
    TextCSS:
      title: Text CSS
      required:
      - font-family
      - font-size
      - color
      - font-weight
      - text-shadow
      - text-align
      - highlights
      - message
      type: object
      properties:
        font-family:
          type: string
        font-size:
          type: integer
          format: int32
        color:
          type: string
        font-weight:
          type: string
        text-shadow:
          type: string
        text-align:
          type: string
        highlights:
          $ref: '#/components/schemas/Highlights'
        message:
          $ref: '#/components/schemas/Message1'
      example:
        font-family: Roboto
        font-size: 42
        color: '#ffffff'
        font-weight: bold
        text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
        text-align: center
        highlights:
          color: '#3F51B5'
        message:
          font-size: 16
          font-family: Roboto
          color: '#ffffff'
          text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
          text-align: center
          margin: 0 auto
    Listeners:
      title: Listeners
      required:
      - tip-latest
      - subscriber-latest
      - follower-latest
      - cheer-latest
      - host-latest
      - raid-latest
      type: object
      properties:
        tip-latest:
          type: boolean
        subscriber-latest:
          type: boolean
        follower-latest:
          type: boolean
        cheer-latest:
          type: boolean
        host-latest:
          type: boolean
        raid-latest:
          type: boolean
        redemption-latest:
          type: boolean
      example:
        tip-latest: true
        subscriber-latest: true
        follower-latest: true
        cheer-latest: true
        host-latest: true
        raid-latest: true
        redemption-latest: true
    Detail:
      title: Detail
      required:
      - path
      - message
      type: object
      properties:
        path:
          type: array
          items:
            type: string
          description: ''
        message:
          type: string
      example:
        path:
        - types
        message: '"types" must be an array'
    ThemesList:
      title: Themes List
      required:
      - published
      - provider
      - type
      - size
      - totalUsers
      - mobile
      - _id
      - updatedAt
      - createdAt
      - title
      - author
      - game
      - thumbnail
      - overlays
      - rating
      - new
      type: object
      properties:
        published:
          type: boolean
        provider:
          type: string
        type:
          type: string
        size:
          type: string
        totalUsers:
          type: integer
          format: int32
        mobile:
          type: boolean
        _id:
          type: string
        updatedAt:
          type: string
        createdAt:
          type: string
        title:
          type: string
        author:
          type: string
        game:
          type: string
        thumbnail:
          type: string
        overlays:
          type: array
          items:
            $ref: '#/components/schemas/Overlay'
          description: ''
        rating:
          type: integer
          format: int32
        new:
          type: boolean
      example:
        published: true
        provider: twitch
        type: super
        size: '1080'
        totalUsers: 139
        mobile: false
        _id: 59efb08e96c10a00014f62f3
        updatedAt: '2018-03-10T22:20:35.721Z'
        createdAt: '2017-10-24T21:28:46.797Z'
        title: ' Генерал Жу́ков Супер Дизайн'
        author: kireakid
        game: World of Tanks
        thumbnail: https://cdn.streamelements.com/uploads/2bb4518f-09be-413b-a92c-23d17614aeca.png
        overlays:
        - overlay: 59ef74438af1bc0001deac8e
          thumbnail: https://cdn.streamelements.com/uploads/d6e21e73-0199-4c63-ac75-86be48fad5fc.jpg
          preview: https://cdn.streamelements.com/uploads/0135c315-8f84-4b9d-a215-06300e4c3d7c.jpg
          _id: 59efb08e96c10a00014f62f4
        - overlay: 59ef889d8fc6280001a69e85
          thumbnail: https://cdn.streamelements.com/uploads/6c17d0bb-bfc1-4589-932e-bf2a6a2b7da7.jpg
          preview: https://cdn.streamelements.com/uploads/6e4f4d5c-a82d-4f4e-ae2b-e2430c0e9035.jpg
          _id: 59efb08e96c10a00014f62f5
        - overlay: 59ef85476ed75b0001711884
          thumbnail: https://cdn.streamelements.com/uploads/c7d25122-a644-4a03-a284-36c73bb83c3a.jpg
          preview: https://cdn.streamelements.com/uploads/afa8af96-1616-4156-a129-86a582946d63.jpg
          _id: 59efb08e96c10a00014f62f6
        - overlay: 59ef7f5715c68700019ee22f
          thumbnail: https://cdn.streamelements.com/uploads/cdc32b4d-15df-4a87-835a-4ed7fd7ac207.jpg
          preview: https://cdn.streamelements.com/uploads/4bacf05f-c3c1-4d37-ad2b-92cb113c3471.jpg
          _id: 59efb08e96c10a00014f62f7
        - overlay: 59ef87997163b100014368b3
          thumbnail: https://cdn.streamelements.com/uploads/87d58821-6908-4264-aa6c-507f47472ea4.jpg
          preview: https://cdn.streamelements.com/uploads/5d6e00d0-0764-41c1-a756-bec303e42856.jpg
          _id: 59efb08e96c10a00014f62f8
        rating: 0
        new: false
    Variation:
      title: Variation
      required:
      - name
      - type
      - settings
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        condition:
          type: string
        requirement:
          type: integer
          format: int32
        settings:
          $ref: '#/components/schemas/SubVariationSettings'
      example:
        name: Subscriber default
        type: amount
        condition: ATLEAST
        requirement: 2
        settings:
          layout: column
          text:
            message: '{name} just resubscribed for {amount} months!'
          graphics:
            src: https://cdn.streamelements.com/static/alertbox/default.gif
            type: image
    Raid1:
      title: Raid1
      required:
      - enableRandomPick
      - enabled
      - duration
      - layout
      - text
      - graphics
      - audio
      - animation
      - variations
      type: object
      properties:
        enableRandomPick:
          type: boolean
        enabled:
          type: boolean
        duration:
          type: integer
          format: int32
        layout:
          type: string
        text:
          $ref: '#/components/schemas/Text1'
        graphics:
          $ref: '#/components/schemas/Graphics'
        audio:
          $ref: '#/components/schemas/Audio1'
        animation:
          $ref: '#/components/schemas/Animation'
        variations:
          type: array
          items:
            type: string
          description: ''
      example:
        enableRandomPick: true
        enabled: true
        duration: 8
        layout: column
        text:
          animation: wobble
          css:
            font-family: Roboto
            font-size: 42
            color: '#ffffff'
            font-weight: bold
            text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
            text-align: center
            highlights:
              color: '#3F51B5'
            message:
              font-size: 16
              font-family: Roboto
              color: '#ffffff'
              text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
              text-align: center
              margin: 0 auto
          enableShadow: true
          message: '{name} raided my stream with {amount} viewers!'
        graphics:
          src: https://cdn.streamelements.com/static/alertbox/default.gif
          type: image
        audio:
          src: https://cdn.streamelements.com/static/alertbox/default.ogg
          volume: 0.5
        animation:
          in: fadeInDown
          out: fadeOutUp
        variations: []
    Message:
      title: Message
      required:
      - enableShadow
      - font-family
      - font-size
      - line-height
      - color
      - text-align
      type: object
      properties:
        enableShadow:
          type: boolean
        font-family:
          type: string
        font-size:
          type: integer
          format: int32
        line-height:
          type: number
        color:
          type: string
        text-align:
          type: string
      example:
        enableShadow: false
        font-family: Roboto
        font-size: 16
        line-height: 1.3
        color: '#fff'
        text-align: center
    OverlaySettings:
      title: OverlaySettings
      required:
      - width
      - height
      - name
      type: object
      properties:
        width:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
        name:
          type: string
      example:
        width: 1920
        height: 1080
        name: 1080p
    Animation:
      title: Animation
      required:
      - in
      - out
      type: object
      properties:
        in:
          type: string
        out:
          type: string
        timeout:
          type: integer
          format: int32
        hide:
          type: boolean
      example:
        in: fadeIn
        out: fadeOut
        timeout: 6
    Follower:
      title: Follower
      required:
      - enableRandomPick
      - enabled
      - duration
      - layout
      - text
      - graphics
      - audio
      - animation
      - variations
      type: object
      properties:
        enableRandomPick:
          type: boolean
        enabled:
          type: boolean
        duration:
          type: integer
          format: int32
        layout:
          type: string
        text:
          $ref: '#/components/schemas/Text1'
        graphics:
          $ref: '#/components/schemas/Graphics'
        audio:
          $ref: '#/components/schemas/Audio1'
        animation:
          $ref: '#/components/schemas/Animation'
        variations:
          type: array
          items:
            type: string
          description: ''
      example:
        enableRandomPick: true
        enabled: true
        duration: 8
        layout: column
        text:
          animation: wobble
          css:
            font-family: Roboto
            font-size: 42
            color: '#ffffff'
            font-weight: bold
            text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
            text-align: center
            highlights:
              color: '#3F51B5'
            message:
              font-size: 16
              font-family: Roboto
              color: '#ffffff'
              text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
              text-align: center
              margin: 0 auto
          enableShadow: true
          message: '{name} is now following!'
        graphics:
          src: https://cdn.streamelements.com/static/alertbox/default.gif
          type: image
        audio:
          src: https://cdn.streamelements.com/static/alertbox/default.ogg
          volume: 0.5
        animation:
          in: fadeInDown
          out: fadeOutUp
        variations: []
    Video:
      title: Video
      required:
      - type
      - css
      type: object
      properties:
        type:
          type: string
        css:
          $ref: '#/components/schemas/Css3'
      example:
        type: video
        css:
          widget: 320
          height: 240
    Overlay:
      title: Overlay
      required:
      - overlay
      - thumbnail
      - preview
      - _id
      type: object
      properties:
        overlay:
          type: string
        thumbnail:
          type: string
        preview:
          type: string
        _id:
          type: string
      example:
        overlay: 59ef74438af1bc0001deac8e
        thumbnail: https://cdn.streamelements.com/uploads/d6e21e73-0199-4c63-ac75-86be48fad5fc.jpg
        preview: https://cdn.streamelements.com/uploads/0135c315-8f84-4b9d-a215-06300e4c3d7c.jpg
        _id: 59efb08e96c10a00014f62f4
    Highlights:
      title: Highlights
      required:
      - color
      type: object
      properties:
        color:
          type: string
      example:
        color: '#3F51B5'
    Css6:
      title: Css6
      required:
      - margin-top
      type: object
      properties:
        margin-top:
          type: integer
          format: int32
      example:
        margin-top: 50
    Subscriber1:
      title: Subscriber1
      required:
      - enableRandomPick
      - enabled
      - duration
      - layout
      - text
      - graphics
      - audio
      - animation
      - variations
      - tts
      type: object
      properties:
        enableRandomPick:
          type: boolean
        enabled:
          type: boolean
        duration:
          type: integer
          format: int32
        layout:
          type: string
        text:
          $ref: '#/components/schemas/Text1'
        graphics:
          $ref: '#/components/schemas/Graphics'
        audio:
          $ref: '#/components/schemas/Audio1'
        animation:
          $ref: '#/components/schemas/Animation'
        variations:
          type: array
          items:
            $ref: '#/components/schemas/Variation'
          description: ''
        tts:
          $ref: '#/components/schemas/Tts'
      example:
        enableRandomPick: true
        enabled: true
        duration: 8
        layout: column
        text:
          animation: wobble
          css:
            font-family: Roboto
            font-size: 42
            color: '#ffffff'
            font-weight: bold
            text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
            text-align: center
            highlights:
              color: '#3F51B5'
            message:
              font-size: 16
              font-family: Roboto
              color: '#ffffff'
              text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
              text-align: center
              margin: 0 auto
          enableShadow: true
          message: '{name} just subscribed!'
        graphics:
          src: https://cdn.streamelements.com/static/alertbox/default.gif
          type: image
        audio:
          src: https://cdn.streamelements.com/static/alertbox/default.ogg
          volume: 0.5
        animation:
          in: fadeInDown
          out: fadeOutUp
        variations:
        - name: Subscriber default
          type: amount
          condition: ATLEAST
          requirement: 2
          settings:
            layout: column
            text:
              message: '{name} just resubscribed for {amount} months!'
            graphics:
              src: https://cdn.streamelements.com/static/alertbox/default.gif
              type: image
        - name: Subscriber gift
          type: gift
          settings:
            layout: column
            text:
              message: '{sender} gifted {name} a subscription!'
              css:
                margin-top: 50
            graphics:
              src: null
              type: image
        tts:
          enabled: false
          voice: Brian
          volume: 0.75
          minAmount: 0
    Audio1:
      title: Audio1
      required:
      - src
      type: object
      properties:
        src:
          type:
          - string
          - 'null'
        volume:
          type: number
      example:
        src: https://cdn.streamelements.com/static/alertbox/default.ogg
        volume: 0.5
    Css3:
      title: Css3
      required:
      - widget
      - height
      type: object
      properties:
        widget:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
      example:
        widget: 320
        height: 240
    Message1:
      title: Message1
      required:
      - font-size
      - font-family
      - color
      - text-shadow
      - text-align
      - margin
      type: object
      properties:
        font-size:
          type: integer
          format: int32
        font-family:
          type: string
        color:
          type: string
        text-shadow:
          type: string
        text-align:
          type: string
        margin:
          type: string
      example:
        font-size: 16
        font-family: Roboto
        color: '#ffffff'
        text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
        text-align: center
        margin: 0 auto
    400-badrequest:
      title: 400-badrequest
      required:
      - statusCode
      - error
      - message
      - details
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
        error:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/Detail'
          description: ''
      example:
        statusCode: 400
        error: Bad Request
        message: 'child "giveawayId" fails because ["giveawayId" with value "5c10e383bd1e475b7c3d6eb" fails to match the required pattern: /^[0-9a-fA-F]{24}$/]'
        details:
        - path:
          - giveawayId
          message: '"giveawayId" with value "5c10e383bd1e475b7c3d6eb" fails to match the required pattern: /^[0-9a-fA-F]{24}$/'
    Css:
      title: Css
      required:
      - z-index
      - top
      - left
      - width
      - height
      - opacity
      type: object
      properties:
        z-index:
          type: integer
          format: int32
        top:
          type: string
        left:
          type: string
        width:
          type: string
        height:
          type: string
        opacity:
          type: integer
          format: int32
      example:
        z-index: 2
        top: -8.00px
        left: -9.00px
        width: 822.00px
        height: 684.00px
        opacity: 1
    Host1:
      title: Host1
      required:
      - enableRandomPick
      - enabled
      - duration
      - layout
      - text
      - graphics
      - audio
      - animation
      - variations
      - minAmount
      type: object
      properties:
        enableRandomPick:
          type: boolean
        enabled:
          type: boolean
        duration:
          type: integer
          format: int32
        layout:
          type: string
        text:
          $ref: '#/components/schemas/Text1'
        graphics:
          $ref: '#/components/schemas/Graphics'
        audio:
          $ref: '#/components/schemas/Audio1'
        animation:
          $ref: '#/components/schemas/Animation'
        variations:
          type: array
          items:
            type: string
          description: ''
        minAmount:
          type: integer
          format: int32
      example:
        enableRandomPick: true
        enabled: true
        duration: 8
        layout: column
        text:
          animation: wobble
          css:
            font-family: Roboto
            font-size: 42
            color: '#ffffff'
            font-weight: bold
            text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
            text-align: center
            highlights:
              color: '#3F51B5'
            message:
              font-size: 16
              font-family: Roboto
              color: '#ffffff'
              text-shadow: rgba(0, 0, 0, 0.8) 1px 1px 1px
              text-align: center
              margin: 0 auto
          enableShadow: true
          message: '{name} is now hosting my stream with {amount} viewers!'
        graphics:
          src: https://cdn.streamelements.com/static/alertbox/default.gif
          type: image
        audio:
          src: https://cdn.streamelements.com/static/alertbox/default.ogg
          volume: 0.5
        animation:
          in: fadeInDown
          out: fadeOutUp
        variations: []
        minAmount: 1
    Css1:
      title: Css1
      required:
      - position
      - z-index
      - font-family
      - font-size
      - color
      - font-weight
      - text-shadow
      - text-align
      - line-height
      - message
      type: object
      properties:
        position:
          type: string
        z-index:
          type: integer
          format: int32
        font-family:
          type: string
        font-size:
          type: integer
          format: int32
        color:
          type: string
        font-weight:
          type: string
        text-shadow:
          type: string
        text-align:
          type: string
        line-height:
          type: number
        message:
          $ref: '#/components/schemas/Message'
      example:
        position: relative
        z-index: 1
        font-family: Roboto
        font-size: 24
        color: '#fff'
        font-weight: bold
        text-shadow: rgb(0, 0, 0) 1px 1px 1px
        text-align: left
        line-height: 1.3
        message:
          enableShadow: false
          font-family: Roboto
          font-size: 16
          line-height: 1.3
          color: '#fff'
          text-align: center
    Widget:
      title: Widget
      required:
      - id
      - type
      - visible
      - locked
      - listeners
      - css
      - text
      - image
      - video
      - audio
      - animation
      - variables
      - provider
      - staffOnly
      type: object
      properties:
        id:
          type: integer
          format: int32
        type:
          type: string
        visible:
          type: boolean
        locked:
          type: boolean
        listeners:
          $ref: '#/components/schemas/Listeners'
        css:
          $ref: '#/components/schemas/Css'
        text:
          $ref: '#/components/schemas/Text'
        image:
          $ref: '#/components/schemas/Image'
        video:
          $ref: '#/components/schemas/Video'
        audio:
          $ref: '#/components/schemas/Audio'
        animation:
          $ref: '#/components/schemas/Animation'
        variables:
          $ref: '#/components/schemas/Variables'
        provider:
          type: string
        staffOnly:
          type: boolean
        version:
          type: number
      example:
        id: 1
        type: se-widget-custom-event-list
        visible: true
        locked: false
        listeners:
          tip-latest: true
          subscriber-latest: true
          follower-latest: true
          cheer-latest: true
          host-latest: true
          raid-latest: true
          redemption-latest: true
        css:
          z-index: 2
          top: -8.00px
          left: -9.00px
          width: 822.00px
          height: 684.00px
          opacity: 1
        text:
          type: text
          enableShadow: true
          scrolling:
            direction: left
            speed: 6
          css:
            position: relative
            z-index: 1
            font-family: Roboto
            font-size: 24
            color: '#fff'
            font-weight: bold
            text-shadow: rgb(0, 0, 0) 1px 1px 1px
            text-align: left
            line-height: 1.3
            message:
              enableShadow: false
              font-family: Roboto
              font-size: 16
              line-height: 1.3
              color: '#fff'
              text-align: center
        image:
          type: image
          css:
            max-width: 100%
        video:
          type: video
          css:
            widget: 320
            height: 240
        audio:
          type: audio
          volume: 1
        animation:
          in: fadeIn
          out: fadeOut
          timeout: 6
        variables:
          css: ".main_canvas {\n  border: 1px solid;\n}\n"
          html: "<div class=\"wrapper\">\n  <div id=\"score\">&nbsp;</div>\n  <canvas class=\"main_canvas\" width=600 height=600></canvas>\n</div>"
          js: "/*\nReadMe:\n1) create Custom Event list within your layer on StreamElements\n2) replace content of each section with code provided below\n3) Click done\n4) Change multipliers to fit your needs,\n5) This snake doesn't store its state, so the best way to use it is to create a new overlay just with it, add as new browser source and DON'T ENABLE \"Shutdown source when not visible\"\n6) If you feel happy about it, you can buy me a beer at http://paypal.me/ThisIsLex\n*/\n\n// Your channelname - to get list of emotes mostly used on your chan - makes it more personalised!\nlet channelName=\"twitch\";\n// How many points should we add for each type of event\nlet subValue = 3,\n    cheerValue = 0.01,\n    tipValue=1;\n\nvar feed=1; //Initial points to go\nlet pointIcon=\"https://static-cdn.jtvnw.net/emoticons/v1/

# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/streamelements/refs/heads/main/openapi/streamelements-themes-api-openapi.yml