Federation API
Federation endpoints are under /_matrix/federation/v1/ and use signature-based authentication via the Authorization: X-Matrix header (not bearer tokens).
Transaction Endpoint
Send Transaction
PUT /_matrix/federation/v1/send/{txnId}
Sends a batch of PDUs (Persistent Data Units) and EDUs (Ephemeral Data Units) to a remote server.
Join/Leave/Invite Endpoints
Make Join
GET /_matrix/federation/v1/make_join/{roomId}/{userId}
Prepare a join event for a remote user to sign.
Send Join
PUT /_matrix/federation/v1/send_join/{roomId}/{eventId}
Submit a signed join event to the room.
Make Leave
GET /_matrix/federation/v1/make_leave/{roomId}/{userId}
Prepare a leave event for a remote user.
Send Leave
PUT /_matrix/federation/v1/send_leave/{roomId}/{eventId}
Submit a signed leave event.
Invite (v2)
PUT /_matrix/federation/v2/invite/{roomId}/{eventId}
Invite a remote user to a room. Uses v2 prefix.
State Endpoints
Get Room State
GET /_matrix/federation/v1/state/{roomId}
Get State IDs
GET /_matrix/federation/v1/state_ids/{roomId}
Get Event Auth
GET /_matrix/federation/v1/event_auth/{roomId}/{eventId}
Backfill
GET /_matrix/federation/v1/backfill/{roomId}
Returns events before the specified prev_batch token with pagination.
Get Missing Events
POST /_matrix/federation/v1/get_missing_events/{roomId}
{
"limit": 20,
"min_depth": 0,
"last_known_events": ["$event1", "$event2"]
}
Get Event
GET /_matrix/federation/v1/event/{eventId}
Timestamp to Event
GET /_matrix/federation/v1/timestamp_to_event/{roomId}
Find the closest event to a given timestamp.
Query Endpoints
Query Profile
GET /_matrix/federation/v1/query/profile?user_id=@alice:localhost&fields=displayname,avatar_url
Query Directory
GET /_matrix/federation/v1/query/directory?room_alias=#room:localhost
Query Public Rooms
GET /_matrix/federation/v1/query/publicRooms
Query User Devices
GET /_matrix/federation/v1/query/user_devices?user_id=@alice:localhost
Query Keys
GET /_matrix/federation/v1/query/keys?server_name=localhost
Space & Relations
Hierarchy
GET /_matrix/federation/v1/hierarchy/{roomId}
Returns the space hierarchy tree (stub implementation).
Relations
GET /_matrix/federation/v1/relations/{roomId}/{eventId}
Returns related events (stub implementation).
Key Server
Get Server Key
GET /_matrix/key/v2/server
Returns the server's signing keys and valid_until timestamp.
Query Remote Key
GET /_matrix/key/v2/query/{server}
Query another server's signing key (notary).