Basic concepts


The ONLYOFFICE Community Server API is implemented as REST over HTTP using GET/POST/PUT/DELETE. All the resources, like posts or comments, have their own URLs and are designed to be manipulated in isolation.


Authentication in the ONLYOFFICE Community Server API is managed via the HTTP authentication, i.e. every request must include the Authorization HTTP header. For information and examples please visit the Authentication section.

Making requests

To identify the request and response format please make sure that both the 'Content-Type' and 'Accept' headers are set to 'application/json'. Any API method can be called stating the format for the response (json or xml).

api/2.0/people/@self can be called both as api/2.0/people/@self.json - then the format of the returned media is = JSON and api/2.0/people/@self.xml - then the format of the returned media is = XML.

By default the XML format is used for the response if no format is specified in the request (e.g. api/2.0/people/@self will return XML media).


If a request succeeds, it will return a status code in the 200 range and, in case no format was specified in the request, an XML-formatted response. Note that, in general, if a request causes a new record to be created (like a new post, or comment, etc.), the response will use the "201 Created" status. Any other successful operation (like a successful query, delete, or update) will return a 200 status code.

If a request fails, a non-200 status code will be returned, possibly with error information in XML format as the response content. For instance, if a requested record could not be found, the HTTP response might look something like:

HTTP/1.1 404 Not Found

Rate limiting

You can perform up to 500 requests per 10 second period from the same IP address for the same account. If you exceed this limit, a 503 response for the subsequent requests will be received. Check the Retry-After header to see how many seconds to wait before you try again.

Conventions used in this documentation

The following notation is used in the documentation:
{text}: states for the text that should be replaced by your own data (ID, search query, etc.)


You can ask our developers at (registration required).