So people can implement their own endpoints without the macros and without using undocumented parts of the API
ruma-api
ruma-api contains core types used to define the requests and responses for each endpoint in the various Matrix API specifications. These types can be shared by client and server code for all Matrix APIs.
Documentation
ruma-api has comprehensive documentation available on docs.rs.