StreamElements tips API
Endpoints to interract with tips
Endpoints to interract with tips
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/streamelements-tips-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: SE API Docs activities Tips 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: tips
description: Endpoints to interract with tips
paths:
/tips/{channel}:
get:
tags:
- tips
summary: /:channel
description: List tips
operationId: Get/:channel123456789101112
parameters:
- name: offset
in: query
description: integer - Starting element
required: true
style: form
explode: true
schema:
type: integer
format: int32
example: 0
- name: limit
in: query
description: integer - Events per page between 1 and 100
required: true
style: form
explode: true
schema:
type: integer
format: int32
example: 25
- name: sort
in: query
description: string - Sorting method. Possible values createdAt, -createdAt, donation.amount, -donation.amount, donation.provider, -donation.provider
required: true
style: form
explode: true
schema:
type: string
example: -createdAt
- name: tz
in: query
description: integer - Timezone number
required: true
style: form
explode: true
schema:
type: integer
format: int32
example: 4
- name: username
in: query
description: string - Username
required: true
style: form
explode: true
schema:
type: string
- name: email
in: query
description: string - Email address
required: true
style: form
explode: true
schema:
type: string
- name: after
in: query
description: datetime - Start date
required: true
style: form
explode: true
schema:
type: integer
format: int32
example: 0
- name: before
in: query
description: datetime - End date
required: true
style: form
explode: true
schema:
type: integer
format: int64
example: 1544178274000
- name: message
in: query
description: string - Tip message
required: true
style: form
explode: true
schema:
type: string
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
responses:
'200':
description: ''
headers:
Date:
content:
text/plain:
schema:
type: string
example: Fri, 07 Dec 2018 17:19:29 GMT
Content-Length:
content:
text/plain:
schema:
type: string
example: '457'
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/TipData'
example:
docs:
- donation:
user:
username: StreamElements
geo: null
email: streamelements@streamelements.com
message: This is a test
amount: 100
currency: USD
provider: paypal
status: success
deleted: false
_id: 5c0aab85de9a4c6756a14e0d
channel: 5b2e2007760aeb7729487dab
transactionId: IMPORTED
createdAt: '2018-12-07T17:19:01.957Z'
approved: allowed
updatedAt: '2018-12-07T17:19:01.957Z'
total: 1
limit: 25
offset: 0
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400-badrequest'
example:
statusCode: 400
error: Bad Request
message: child "after" fails because ["after" must be a number of milliseconds or valid date string]. child "before" fails because ["before" must be a number of milliseconds or valid date string]. child "limit" fails because ["limit" must be a number]. child "offset" fails because ["offset" must be a number]. child "sort" fails because ["sort" is not allowed to be empty, "sort" must be one of [createdAt, -createdAt, donation.amount, -donation.amount, donation.provider, -donation.provider]]. child "email" fails because ["email" is not allowed to be empty, "email" must be a valid email]. child "tz" fails because ["tz" must be a number]
details:
- path:
- after
message: '"after" must be a number of milliseconds or valid date string'
- path:
- before
message: '"before" must be a number of milliseconds or valid date string'
- path:
- limit
message: '"limit" must be a number'
- path:
- offset
message: '"offset" must be a number'
- path:
- sort
message: '"sort" is not allowed to be empty'
- path:
- sort
message: '"sort" must be one of [createdAt, -createdAt, donation.amount, -donation.amount, donation.provider, -donation.provider]'
- path:
- email
message: '"email" is not allowed to be empty'
- path:
- email
message: '"email" must be a valid email'
- path:
- tz
message: '"tz" must be a number'
deprecated: false
post:
tags:
- tips
summary: /:channel
operationId: Post/:channel1234
parameters:
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NewTip'
example:
user:
userId: ''
username: ''
email: com
provider: ''
message: ''
amount: 0
currency: ''
imported: true
required: true
responses:
'200':
description: ''
headers:
Date:
content:
text/plain:
schema:
type: string
example: Fri, 07 Dec 2018 17:25:38 GMT
Content-Length:
content:
text/plain:
schema:
type: string
example: '422'
Vary:
content:
text/plain:
schema:
type: string
example: X-HTTP-Method-Override
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/TipData'
example:
donation:
user:
username: StreamElements
ip: null
geo: null
email: StreamElements@streamelements.com
message: Test message
amount: 123
currency: USD
provider: paypal
status: success
deleted: false
_id: 5c0aad12de9a4c5ca1a14e13
channel: 5b2e2007760aeb7729487dab
transactionId: IMPORTED
createdAt: '2018-12-07T17:25:38.507Z'
approved: allowed
updatedAt: '2018-12-07T17:25:38.507Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400-badrequest'
example:
statusCode: 400
error: Bad Request
message: child "currency" fails because ["currency" is not allowed to be empty, "currency" must be one of [AUD, BRL, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, NOK, NZD, PHP, PLN, GBP, RUB, SGD, SEK, CHF, TWD, THB, TRY, USD]]. child "user" fails because [child "email" fails because ["email" must be a valid email]]
details:
- path:
- currency
message: '"currency" is not allowed to be empty'
- path:
- currency
message: '"currency" must be one of [AUD, BRL, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, NOK, NZD, PHP, PLN, GBP, RUB, SGD, SEK, CHF, TWD, THB, TRY, USD]'
- path:
- user
- email
message: '"email" must be a valid email'
deprecated: false
/tips/{channel}/top:
get:
tags:
- tips
summary: /:channel/top
description: Get top tippers for channel
operationId: Get/:channel/top12
parameters:
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
responses:
'200':
description: ''
headers:
Date:
content:
text/plain:
schema:
type: string
example: Fri, 07 Dec 2018 17:19:52 GMT
Content-Length:
content:
text/plain:
schema:
type: string
example: '180'
content:
application/json; charset=utf-8:
schema:
type: array
items:
$ref: '#/components/schemas/Success64'
example:
- username: StreamElements
first: '2018-12-07T17:19:01.957Z'
last: '2018-12-07T17:19:01.957Z'
count: 1
total: 100
email: streamelements@streamelements.com
average: 100
example:
- username: StreamElements
first: '2018-12-07T17:19:01.957Z'
last: '2018-12-07T17:19:01.957Z'
count: 1
total: 100
email: streamelements@streamelements.com
average: 100
deprecated: false
/tips/{channel}/leaderboard:
get:
tags:
- tips
summary: /:channel/leaderboard
description: Get tips leaderboard
operationId: /:channel/leaderboard
parameters:
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
responses:
'200':
description: ''
headers: {}
deprecated: false
/tips/{channel}/moderation:
get:
tags:
- tips
summary: /:channel/moderation
description: List tips waiting for moderation
operationId: /:channel/moderation
parameters:
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
responses:
'200':
description: ''
headers:
Date:
content:
text/plain:
schema:
type: string
example: Fri, 07 Dec 2018 17:21:00 GMT
Content-Length:
content:
text/plain:
schema:
type: string
example: '440'
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/TipData'
example:
recent:
- donation:
user:
username: StreamElements
geo: null
email: streamelements@streamelements.com
message: This is a test
amount: 100
currency: USD
provider: paypal
status: success
deleted: false
_id: 5c0aab85de9a4c6756a14e0d
channel: 5b2e2007760aeb7729487dab
transactionId: IMPORTED
createdAt: '2018-12-07T17:19:01.957Z'
approved: allowed
updatedAt: '2018-12-07T17:19:01.957Z'
pending: []
deprecated: false
/tips/{channel}/{tipId}:
get:
tags:
- tips
summary: /:channel/:tipId
description: Get tip details
operationId: /:channel/:tipId
parameters:
- name: channel
in: path
description: guid - Channel id
required: true
style: simple
schema:
type: string
example: 5b2e2007760aeb7729487dab
- name: tipId
in: path
description: guid - Tip id
required: true
style: simple
schema:
type: string
responses:
'200':
description: ''
headers:
Date:
content:
text/plain:
schema:
type: string
example: Fri, 07 Dec 2018 17:21:25 GMT
Content-Length:
content:
text/plain:
schema:
type: string
example: '414'
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/TipData'
example:
donation:
user:
username: StreamElements
geo: null
email: streamelements@streamelements.com
message: This is a test
amount: 100
currency: USD
provider: paypal
status: success
deleted: false
_id: 5c0aab85de9a4c6756a14e0d
channel: 5b2e2007760aeb7729487dab
transactionId: IMPORTED
createdAt: '2018-12-07T17:19:01.957Z'
approved: allowed
updatedAt: '2018-12-07T17:19:01.957Z'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400-badrequest'
example:
statusCode: 400
error: Bad Request
message: 'child "tipId" fails because ["tipId" with value "truncated" fails to match the required pattern: /^[0-9a-fA-F]{24}$/]'
details:
- path:
- tipId
message: '"tipId" 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:
Success64:
title: Success64
required:
- username
- first
- last
- count
- total
- email
- average
type: object
properties:
username:
type: string
first:
type: string
last:
type: string
count:
type: integer
format: int32
total:
type: integer
format: int32
email:
type: string
average:
type: integer
format: int32
example:
username: StreamElements
first: '2018-12-07T17:19:01.957Z'
last: '2018-12-07T17:19:01.957Z'
count: 1
total: 100
email: streamelements@streamelements.com
average: 100
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}$/'
Notfound2:
title: Notfound2
required:
- statusCode
- error
type: object
properties:
statusCode:
type: integer
format: int32
error:
type: string
example:
statusCode: 404
error: Not Found
TipData:
title: TipData
required:
- donation
- provider
- status
- deleted
- _id
- channel
- transactionId
- createdAt
- approved
- updatedAt
type: object
properties:
donation:
$ref: '#/components/schemas/Donation'
provider:
type: string
status:
type: string
deleted:
type: boolean
_id:
type: string
channel:
type: string
transactionId:
type: string
createdAt:
type: string
approved:
type: string
updatedAt:
type: string
example:
donation:
user:
username: StreamElements
geo: null
email: streamelements@streamelements.com
message: This is a test
amount: 100
currency: USD
provider: paypal
status: success
deleted: false
_id: 5c0aab85de9a4c6756a14e0d
channel: 5b2e2007760aeb7729487dab
transactionId: IMPORTED
createdAt: '2018-12-07T17:19:01.957Z'
approved: allowed
updatedAt: '2018-12-07T17:19:01.957Z'
Donation:
title: Donation3
required:
- user
- message
- amount
- currency
type: object
properties:
user:
$ref: '#/components/schemas/DonationUser'
message:
type: string
amount:
type: integer
format: int32
currency:
type: string
example:
user:
username: StreamElements
ip: null
geo: null
email: StreamElements@streamelements.com
message: Test message
amount: 123
currency: USD
NewTip:
title: New tip
required:
- user
- provider
- message
- amount
- currency
- imported
type: object
properties:
user:
$ref: '#/components/schemas/User11'
provider:
type: string
message:
type: string
amount:
type: integer
format: int32
currency:
type: string
imported:
type: boolean
example:
user:
userId: ''
username: ''
email: com
provider: ''
message: ''
amount: 0
currency: ''
imported: 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'
DonationUser:
title: Donation user
required:
- username
- geo
- email
type: object
properties:
username:
type: string
ip:
type:
- string
- 'null'
geo:
type:
- string
- 'null'
email:
type: string
example:
username: StreamElements
ip: null
geo: null
email: StreamElements@streamelements.com
User11:
title: User11
required:
- userId
- username
- email
type: object
properties:
userId:
type: string
username:
type: string
email:
type: string
example:
userId: ''
username: ''
email: com
securitySchemes:
JWTBearer:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyBearer:
type: http
scheme: bearer
name: apiKey
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://api.streamelements.com/oauth2/authorize
tokenUrl: https://api.streamelements.com/oauth2/token
scopes:
tips:read: Ability read of tips
tips:write: Grants create/modify/delete tips
activities:read: Grants read of activities
activities:write: Grants create activities
loyalty:read: Grants read of loyalty settings and the leaderboard
loyalty:write: Grants update of loyalty settings and update the leaderboard
overlays:read: Grants read overlays
overlays:write: Grants creation, update, deletion of overlays
store:read: Grants read redemptions and items
store:write: Grants create new store items and complete redemptions
bot:read: Grants read timers, commands, spam filters and modules
bot:write: Grants create and update timers, commands, spam filters and modules
session:read: Grants read of session data
contest:read: Grants read of contests
contest:write: Grants create and update contests
giveaway:read: Grants read of giveaways
giveaway:write: Grants create and update giveaways