Get club room join link

POST https://live-services.trackmania.nadeo.live/api/token/club/{clubId}/room/{activityId}/join

Headers:


Path parameters:

  • {clubId} integer The ID of the club the room belongs to *
  • {activityId} integer The activity ID of the room to be requested *

Gets a join link for a club room.


Remarks:

  • If the requested room is inactive, using this endpoint will start it. joinLink will be an empty string while the room isn't ready, which is also reflected by starting.
  • starting may still be true even though a joinLink has already been assigned, which means the server is still starting. At that point, Nadeo's code will stop calling this endpoint entirely and instead query the server directly with a maximum retry count. Querying like this can't really be replicated from external applications, so it should be fine to rely on starting instead.
  • Nadeo's code retries the request every 2 seconds for club rooms and 5 seconds for the track of the day channel.
  • You should stop retrying for a room to start when any error is returned.

Example request:

POST https://live-services.trackmania.nadeo.live/api/token/club/25/room/381929/join

Example response:

{
  "starting": false,
  "joinLink": "#qjoin=fKw5ovkrSCGub82AdaoxCA"
}

If the requested room has been deactivated in the club, the response will contain an error:

["roomServer:error-NoServerAvailable"]

If the club or room does not exist, the response will contain an error (status 404):

["activity:error-notFound"]

If the room is private and the player is not a member of the club, the response will contain an error (status 403):

["clubMemberRole:error-notMember"]

In some rare cases the response may contain one of the following errors for unknown reasons (status 404):
This is consistent for a given room; and rooms with this error still appear as normal in get club activities.

["playerServer:error-notFound"]
["room:error-notFound"]