Tinyburg for Developers
Let players bring their Tinyburg account to your app
Sign in with Tinyburg
Tinyburg is an OpenID Connect provider. Building a companion tool, a Discord bot dashboard, or anything else for the TinyTower community? Register an OAuth application and players can sign in to it with the same account they use to trade, no new passwords required.
Standard OIDC
Authorization code flow with PKCE and RS256-signed id tokens. Any OpenID Connect client library works out of the box.
Minimal Scopes
Apps only see a player's identity and display name. Nothing else leaves Tinyburg.
Player Consent
Players approve exactly what your app can see on a consent screen before any tokens are issued.
Getting Started
Log In to Tinyburg
You need a Tinyburg account to register applications
Register Your Application
Give it a name and your redirect uris, then grab your client id and secret
Point Your OIDC Library at Us
Most libraries only need the discovery url below to configure themselves
Players Sign In
They approve your app once and arrive back at your redirect uri
Redirect uris must use https, except for localhost while you develop. Client secrets are shown once at registration and stored hashed, so keep yours somewhere safe.
Endpoints
Everything below is also published in the discovery document, so most setups only ever need the first url.
https://tinyburg.app/oauth/tinyburg/jwkshttps://tinyburg.app/.well-known/openid-configurationhttps://tinyburg.app/oauth/tinyburg/authorizehttps://tinyburg.app/oauth/tinyburg/tokenScopes
openidConfirm your Tinyburg identityprofileSee your display nametinytowerThe TinyTower accounts you have linkedtinytower:readSee your linked TinyTower accounts and their towers, without changing anythingtinytower:list_accountsSee which TinyTower accounts you have linkedtinytower:pull_saveDownload a tower's current savetinytower:check_versionCheck the current version of a tower's savetinytower:list_snapshotsList the cloud snapshots a tower hastinytower:pull_snapshotDownload a specific cloud snapshottinytower:check_raffleCheck whether a tower has entered the current raffletinytower:player_detailsSee a linked account's registration detailstinytower:list_giftsSee the gifts waiting for a towertinytower:list_visitsSee who has visited a towertinytower:friend_metaLook up a friend's tower metadatatinytower:friend_saveDownload a friend's towertinytower:friend_snapshotsList the cloud snapshots a friend's tower hastinytower:writeChange your linked TinyTower accounts and their towers, including uploading savestinytower:link_accountLink a TinyTower account to your Tinyburg accounttinytower:unlink_accountUnlink a TinyTower account from your Tinyburg accounttinytower:push_saveUpload a save to a towertinytower:push_snapshotUpload a cloud snapshottinytower:enter_raffleEnter a tower into the raffletinytower:enter_multi_raffleEnter a tower into the next several rafflestinytower:receive_giftAccept a gift on a tower's behalftinytower:send_itemSend bitizens and items to another playertinytower:visitVisit another player's towertinytowerclassicThe TinyTower Classic accounts you have linkedtinytowerclassic:readSee your linked TinyTower Classic accounts and their towers, without changing anythingtinytowerclassic:list_accountsSee which TinyTower Classic accounts you have linkedtinytowerclassic:pull_saveDownload a tower's current savetinytowerclassic:check_versionCheck the current version of a tower's savetinytowerclassic:list_snapshotsList the cloud snapshots a tower hastinytowerclassic:pull_snapshotDownload a specific cloud snapshottinytowerclassic:check_raffleCheck whether a tower has entered the current raffletinytowerclassic:player_detailsSee a linked account's registration detailstinytowerclassic:list_giftsSee the gifts waiting for a towertinytowerclassic:list_visitsSee who has visited a towertinytowerclassic:friend_metaLook up a friend's tower metadatatinytowerclassic:friend_saveDownload a friend's towertinytowerclassic:friend_snapshotsList the cloud snapshots a friend's tower hastinytowerclassic:writeChange your linked TinyTower Classic accounts and their towers, including uploading savestinytowerclassic:link_accountLink a TinyTower Classic account to your Tinyburg accounttinytowerclassic:unlink_accountUnlink a TinyTower Classic account from your Tinyburg accounttinytowerclassic:push_saveUpload a save to a towertinytowerclassic:push_snapshotUpload a cloud snapshottinytowerclassic:enter_raffleEnter a tower into the raffletinytowerclassic:enter_multi_raffleEnter a tower into the next several rafflestinytowerclassic:receive_giftAccept a gift on a tower's behalftinytowerclassic:send_itemSend bitizens and items to another playertinytowerclassic:visitVisit another player's towertreasuryTrades escrowed by the Tinyburg treasurytreasury:readSee your trades and what could go into them, without changing anythingtreasury:grant_statusCheck whether the treasury can act on your towerstreasury:list_tradesList your trades and the open offers you could accepttreasury:get_tradeSee one trade's full state and historytreasury:list_inventorySee which of a tower's items could be tradedtreasury:writePropose, accept, cancel and confirm tradestreasury:proposePropose a trade with another playertreasury:acceptAccept a trade proposed to youtreasury:cancelCancel a trade you are part oftreasury:confirm_spliceConfirm a save-splice trade for executionReady to Build?
Register your first application and start signing players in. Questions or stuck on something? Ask in the Tinyburg Discord and we'll help you out.