HTTP API Contract¶
All routes are routed by gameType.
Endpoints¶
POST /yabfs/games/{gameType}/invitePOST /yabfs/games/{gameType}/matches/{id}/acceptPOST /yabfs/games/{gameType}/matches/{id}/declinePOST /yabfs/games/{gameType}/matches/{id}/cancelPOST /yabfs/games/{gameType}/matches/{id}/forfeitPOST /yabfs/games/{gameType}/matches/{id}/moveGET /yabfs/games/{gameType}/matchesGET /yabfs/games/{gameType}/matches/{id}GET /yabfs/games/{gameType}/friends/search
Request payloads¶
Invite:
Move:
Response payloads¶
Match mutation endpoints return:
List endpoint returns snapshot envelope:
Single match endpoint returns snapshot envelope:
Long polling¶
GET /matches and GET /matches/{id} support:
since=<lastActionTime>wait=<seconds>(bounded by endpoint max)
Behavior:
- if no changes since
since, response can beunchanged: true - if
waitis set, endpoint can block until change or timeout
Friends search endpoint¶
GET /friends/search query params:
qsearch stringlimitbounded server-side
Response:
items[]with user summary objects (userID,username,avatar,isOnline,link)