Who am I
Returns the streamer this credential belongs to and the credential itself - an API key or an OAuth authorization, same shape either way. The first call to make when wiring up an integration.
GET
/meAuthorization
AuthorizationBearer token (tp_live_... or tpat_...) · headerrequiredA TipPage API key (`tp_live_...`, created in Dashboard → Settings → Developer) or an OAuth 2.0 access token (`tpat_...`, see the OAuth guide). Both carry the same scopes and are accepted on every endpoint.
Responses
200Credential and tenant identity.
tenantobjectShow propertiesHide properties
idstringnamestringavatar_urlstring | nullThe connected channel's picture (Twitch first, else Kick) - the one the tip page header shows.
currencystringISO 4217 code of the streamer's tip currency.
currency_symbolstringDisplay symbol for that currency, as shown on the tip page. Use it when rendering `amount` fields anywhere in this API.
media_requestsbooleanMedia requests are switched on for the channel. Off = the media queue never fills and there is nothing to pause or show on stream; an app can leave its media controls out.
credentialobjectWhat authenticated this request.
Show propertiesHide properties
typestringAllowed:
api_keyoauthidstringThe key (`ak_...`) or, for an OAuth token, the authorization it acts under (`oa_...`).
namestringThe key's dashboard name, or the OAuth app's name.
scopesstring[]oauthobject | nullThe app behind an OAuth authorization; `null` for an API key.
Show propertiesHide properties
client_idstringclient_namestring401Missing or invalid credential (`missing_api_key` / `invalid_api_key`, or `invalid_token` for an expired/revoked OAuth access token).
errorstringrequiredHuman-readable message.
codestringMachine-readable code (e.g. `missing_scope`, `not_in_queue`).
429Rate limit exceeded - check the `RateLimit-*` headers.
errorstringRequest
curl -X GET "https://api.tippage.com/v1/me" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.tippage.com/v1/me", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.tippage.com/v1/me",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"tenant": {
"id": "t_a7f3b9c2",
"name": "CallumFromTheCorner",
"avatar_url": "string",
"currency": "GBP",
"currency_symbol": "£",
"media_requests": true
},
"credential": {
"type": "api_key",
"id": "ak_1f2e3d4c5b6a",
"name": "Discord bot",
"scopes": [
"tts:read",
"tts:control"
]
},
"oauth": {
"client_id": "oc_9f8e7d6c5b4a",
"client_name": "Loadout Sync"
}
}{
"error": "string",
"code": "string"
}{
"error": "string"
}