Basic concepts

The ONLYOFFICE DocSpace 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

Authentication in the ONLYOFFICE DocSpace 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.

Please pay attention to some restrictions on autentication requests:

  • You can perform up to 1500 authentication requests per minute.
  • You can perform up to 50 simultaneous GET authentication requests.
  • You can perform up to 15 simultaneous authentication requests of any type except GET.
  • Some methods have additional restrictions. For example, you can perform up to 5 authentication requests per minute to collect passwords.

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 specifying the json format for the response.

Responses

If a request succeeds, it will return a status code in the 200 range and a JSON-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 in JSON format, possibly with error information 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 with one 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}: indicates the text that should be replaced with your own data (ID, search query, etc.)