API
Mirage Last.fm
Linking a Last.fm account, who sees your listening, and everyone's activity.
See Mirage. You link your Last.fm account through Last.fm's sign-in (POST me/lastfm, then Last.fm sends you back to the Mirage app with a token), or by username alone for public listening. What you're playing then shows as your activity to whoever your visibility allows, live over the socket as activity events; POST activities loads it for the people a screen shows, and users/:userId/lastfm gives someone's week of top artists.
Every route below, with its parameters, request and response, errors and samples, is in the API reference.
| Route | What it does |
|---|---|
GET /v1/messaging/me/lastfm | Your linked Last.fm account (account: username, profile link, verified, when linked, visibility, showActivity, problem), or null, and which ways of linking work here (available.signIn, available.username). |
POST /v1/messaging/me/lastfm | Starts linking your Last.fm account: url is Last.fm's approval page, which sends you back to the Mirage app with a token (a one-time state, good for 10 minutes). app: the phone app's id, whose return page hands the token to the app. |
POST /v1/messaging/me/lastfm/callback | Finishes linking with what Last.fm sent back (state, token), for the person who started: the token becomes a session key (auth.getSession), kept sealed. A Last.fm account links to one person; this replaces anyone else's unverified link to it. |
PUT /v1/messaging/me/lastfm/username | Links a Last.fm account by username alone (no sign-in): only public listening shows, and the link is unverified. |
PATCH /v1/messaging/me/lastfm | Who sees your Last.fm activity and profile section (visibility: everyone, friends or me), and whether your listening shows as your activity (showActivity). |
DELETE /v1/messaging/me/lastfm | Unlinks your Last.fm account and deletes its session key. |
POST /v1/messaging/activities | What each of userIds (up to 500) is listening to, for those whose activity you may see (activities: userId, activity with track, artist, album, album art copied into Mirage's files, the track's link, nowPlaying, playedAt); others are left out. |
GET /v1/messaging/users/:userId/lastfm | Someone's listening on their profile, when you may see it: this week's top artists (topArtists: up to ten, most played first, each with name, url and pictureUrl, a copy of the artist's picture or null) and their activity. Never their Last.fm username or play counts. |