Personal access tokens
The user needs to perform several easy steps to pass authentication:
-
Send POST request, containing the userName and password parameters to the api/2.0/authentication address:
- Request
- Response
POST /api/2.0/authentication HTTP/1.1
Host: yourportal.onlyoffice.com
Content-Type: application/json
Accept: application/json
{
"userName": "yourusername",
"password": "yourpassword"
}Please note, that you have to enter your own portal address to the Host: yourportal.onlyoffice.com line instead of yourportal.onlyoffice.com address.
HTTP/1.1 201 Created
Content-Type: application/json; charset=utf-8
{
"count": 1,
"response": {
"token": "sdjhfskjdhkqy739459234",
"expires": "2010-07-07T17:06:03.5845502+03:00"
},
"status": 0,
"statusCode": 201
} -
In case authentication is successful, a token and its lifetime will be received.
-
Use this token every time you call API methods inserting it to the Authorization HTTP header:
Example API Request:
GET /api/2.0/people/@self HTTP/1.1
Host: yourportal.onlyoffice.com
Accept: application/json
Authorization: sdjhfskjdhkqy739459234Please note, that you have to enter your own portal address to the Host: yourportal.onlyoffice.com line instead of yourportal.onlyoffice.com address.
Authentication request examples
- Node.js
- Python
- C#
- cURL
const axios = require("axios");
async function authenticate() {
try {
const response = await axios.post("https://yourportal.onlyoffice.com/api/2.0/authentication", {
userName: "yourusername",
password: "yourpassword"
}, {
headers: {
"Content-Type": "application/json"
}
});
console.log(response.data);
} catch (error) {
console.error("Authentication failed:", error.response?.data || error.message);
}
}
authenticate();
import requests
url = "https://yourportal.onlyoffice.com/api/2.0/authentication"
headers = {
"Content-Type": "application/json"
}
data = {
"userName": "yourusername",
"password": "yourpassword"
}
response = requests.post(url, json=data, headers=headers)
print(response.status_code)
print(response.json())
var request = System.Net.WebRequest.Create("https://yourportal.onlyoffice.com/api/2.0/authentication");
request.Method = "POST";
request.ContentType = "application/json";
var body = "{\"userName\":\"yourusername\",\"password\":\"yourpassword\"}";
var data = System.Text.Encoding.UTF8.GetBytes(body);
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (System.Net.HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
curl --request POST --header "Content-Type: application/json" --data "{\"userName\":\"yourusername\",\"password\":\"yourpassword\"}" "https://yourportal.onlyoffice.com/api/2.0/authentication"
Please note, that you have to enter your own portal address, username and password instead of yourportal.onlyoffice.com, yourusername and yourpassword respectively.