|
|
|
@ -425,6 +425,42 @@ dedicated API. The API is symmetrical to managing Profile data.
|
|
|
|
|
Would it really be overengineered to use the same API for both profile &
|
|
|
|
|
private user data, but with different ACLs?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Common concepts
|
|
|
|
|
---------------
|
|
|
|
|
|
|
|
|
|
Various things are common throughout all of the Matrix APIs. They are
|
|
|
|
|
documented here.
|
|
|
|
|
|
|
|
|
|
Trailing slashes on API endpoints
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
Unless the endpoint is explicltly specified to have a trailing slash, the
|
|
|
|
|
slash is optional. For example, an endpoint specified as ``/_matrix/example/``
|
|
|
|
|
would require a trailing slash, however an endpoint specified as ``/_matrix/example``
|
|
|
|
|
has an optional slash (can be excluded when making requests).
|
|
|
|
|
|
|
|
|
|
Namespacing
|
|
|
|
|
~~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
Namespacing helps prevent conflicts between multiple applications and the specification
|
|
|
|
|
itself. Where namespacing is used, ``m.`` prefixes are used by the specification to
|
|
|
|
|
indicate that the field is controlled by the specification. Custom or non-specified
|
|
|
|
|
namespaces used in the wild SHOULD use the Java package naming convention to prevent
|
|
|
|
|
conflicts.
|
|
|
|
|
|
|
|
|
|
As an example, event types are namespaced under ``m.`` in the specification however
|
|
|
|
|
any client can send a custom event type, such as ``com.example.game.score`` without
|
|
|
|
|
needing to put the event into the ``m.`` namespace.
|
|
|
|
|
|
|
|
|
|
Timestamps
|
|
|
|
|
~~~~~~~~~~
|
|
|
|
|
|
|
|
|
|
Unless otherwise stated, timestamps are measured as milliseconds since the Unix epoch.
|
|
|
|
|
Throughout the specification this may be referred to as POSIX, Unix, or just "time in
|
|
|
|
|
milliseconds".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. _`room versions`:
|
|
|
|
|
|
|
|
|
|
Room Versions
|
|
|
|
|