Reddit - who does this OAuth app speak as?
PythonSocial MediaPOST api.upapi.io/reddit-oauth-me.getExchanges a Reddit OAuth2 refresh token and reads the account it belongs to over Reddit's documented API: username, suspension state, verified email, karma, account age and the token's scopes. Reads only -- it creates nothing. The access token and the supplied secrets are never returned or logged.
Request schema
| Field | Type | Description |
|---|---|---|
clientIdreq | string | Reddit app client id |
proxyUrl | Optional exit IP. Omit for the worker's default egress -- the OAuth lane has no per-account IP requirement of its own.· default: null | |
userAgentreq | string | The User-Agent this request is made with, sent verbatim. REQUIRED and never defaulted: Reddit's API rules ask for a descriptive UA that names the app and its contact, and a shared default would put every caller of this worker behind one identity. |
clientSecretreq | string | Reddit app client secret. Never logged. |
refreshTokenreq | string | OAuth2 refresh token for the account. Never logged, never returned. |
expectedUsername | When given, the call FAILS unless Reddit reports this exact username. Use it whenever the credentials were looked up by account, so a mis-filed token is a loud refusal rather than a silent identity swap.· default: null |
Response schema
| Field | Type | Description |
|---|---|---|
idreq | string | Reddit's own account id (the t2 id, without the prefix) |
namereq | string | The Reddit username these credentials speak as |
scopesreq | array | The OAuth scopes this token carries, sorted. A caller planning to comment should see 'submit' here; its absence is why an otherwise-valid token will be refused at the write. |
createdreq | number | Account creation time, epoch seconds UTC |
elapsedMsreq | integer | |
fetchedAtreq | string | |
linkKarmareq | integer | |
isSuspendedreq | boolean | |
commentKarmareq | integer | |
hasVerifiedEmailreq | boolean | |
tokenExpiresInSecreq | integer | Lifetime Reddit gave the access token that was minted for this call. Reported so a caller can reason about how long a token is good for; the token itself is never returned. |
Try it
Try it
Reddit app client id
The User-Agent this request is made with, sent verbatim. REQUIRED and never defaulted: Reddit's API rules ask for a descriptive UA that names the app and its contact, and a shared default would put every caller of this worker behind one identity.
Reddit app client secret. Never logged.
OAuth2 refresh token for the account. Never logged, never returned.
Optional exit IP. Omit for the worker's default egress -- the OAuth lane has no per-account IP requirement of its own.
When given, the call FAILS unless Reddit reports this exact username. Use it whenever the credentials were looked up by account, so a mis-filed token is a loud refusal rather than a silent identity swap.
Run this endpoint live
Jump in as a guest — no signup — and run reddit-oauth-me.get with your own inputs. Create a free account anytime to get your own API key.
Code examples
curl -X POST https://api.upapi.io/reddit-oauth-me.get \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{ "clientId": "example", "userAgent": "example", "clientSecret": "example", "refreshToken": "example" }'