AppHub Tether
Invite
Sends a game invite to a friend through the AppHub launcher. The invite appears in the friend's launcher as a notification with Accept/Decline buttons. When accepted, your room_data is delivered to the friend's app via GET /inbox.
POST
http://127.0.0.1:7420/invite
This endpoint requires AppHub Store to be running on your machine. The live tester calls your local AppHub instance directly.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
| friend_id | int | required | Numeric ID of the friend to invite (from /user or the Friends API) |
| appid | string | required | Your app's packagename — must match the running app's appid |
| room_data | object | optional | Any JSON object your app needs to reconstruct the connection (room code, host IP, server ID, etc.). Passed through unchanged to the acceptor's /inbox. |
Test this endpoint
Headers
Body
Success response 200
{ "ok": true }
ok: true means the launcher received the request and will attempt to deliver the invite. It does not guarantee the friend received it (they may be offline). Monitor GET /inbox for a subsequent game_invite_accepted or game_invite_declined event.
Errors
| Reason | Cause |
|---|---|
missing_fields | friend_id or appid was not provided |
invalid_json | Request body was not valid JSON |
Notes
| Detail | Description |
|---|---|
| Friends only | Invites can only be sent to friends (Vanelton ID friendship must exist). Non-friends receive no notification. |
| Expiry | Game invites expire after 5 minutes. If the friend does not respond within that window, no event is delivered. Implement a client-side timeout. |
room_data | Passed through unchanged — use whatever your multiplayer system needs (room code, server address, join token, etc.). |
| App not running | If the friend's app is not running when they accept, AppHub launches it automatically and queues the game_invite event. |