OCS Status API
The OCS Status API allows you to access and modify status API from outside over pre-defined OCS calls.
The base URL for all calls to the share API is: <nextcloud_base_url>/ocs/v2.php/apps/user_status/api/v1/user_status
All calls to OCS endpoints require the OCS-APIRequest
header to be set to true
.
User Status - Status Manipulation
Fetch your own status
Required capability:
user_status
Method:
GET
Endpoint:
/
- Response:
- Status code:
200 OK
404 Not Found
If the user does not have a status set
Set your own status
Required capability:
user_status
Method:
PUT
Endpoint:
/status
Data:
field | type | Description | Allowed values ——|------|————-|---------------|
statusType
| string | New status for the authenticated user |online
,away
,dnd
,invisible
,offline
|- Response:
- Status code:
200 OK
400 Bad Request
If the sent status-type is not valid
Set a custom message (predefined)
Required capability:
user_status
Method:
PUT
Endpoint:
/message/predefined
Data:
field | type | Description ——|------|————
messageId
| string | Message-Id of the predefined messageclearAt
| int | Unix Timestamp representing the time to clear the status- Response:
- Status code:
200 OK
400 Bad Request
If the sent messageId does not exist400 Bad Request
If the Unix timestamp is in the past
Set a custom message (user-defined)
Required capability:
user_status
,supports_emoji
forstatusIcon
supportMethod:
PUT
Endpoint:
/message/custom
Data:
field | type | Description ——|------|————
statusIcon
| string/null | The icon picked by the user (must be an emoji, at most one)message
| string | The custom message picked by the userclearAt
| int | Unix Timestamp representing the time to clear the status- Response:
- Status code:
200 OK
400 Bad Request
If the statusIcon is not a an emoji or more than one emoji400 Bad Request
If the message is too long400 Bad Request
If the Unix timestamp is in the past
Clear message
Required capability:
user_status
Method:
DELETE
Endpoint:
/message
- Response:
- Status code:
200 OK
User Status - Predefined statuses
Base endpoint ics: /ocs/v2.php/apps/user_status/api/v1/predefined_statuses
Fetch the list of predefined statuses
Required capability:
user_status
Method:
GET
Endpoint:
/
- Response:
- Status code:
200 OK
User Status - Retrieve statuses
Base endpoint ics: /ocs/v2.php/apps/user_status/api/v1/statuses
Fetch a list of all set user-statuses
Required capability:
user_status
Method:
GET
Endpoint:
/
Data:
field | type | Description ——|------|————
limit
| int | Limit for paginationoffset
| int | Offset for pagination- Response:
- Status code:
200 OK
Fetch a specific user’s status
Required capability:
user_status
Method:
GET
Endpoint:
/{userId}
- Response:
- Status code:
200 OK
404 Not Found
If the user does not have a status set
Files Sharing
- The user-status is also exposed via the following Files Sharing APIs:
GET /ocs/v2.php/apps/files_sharing/api/v1/sharees
GET /ocs/v2.php/apps/files_sharing/api/v1/sharees_recommended
GET /ocs/v2.php/apps/files_sharing/api/v1/shares
GET /ocs/v2.php/apps/files_sharing/api/v1/shares/inherited
GET /ocs/v2.php/apps/files_sharing/api/v1/shares/pending
GET /ocs/v2.php/apps/files_sharing/api/v1/shares/{id}
POST /ocs/v2.php/apps/files_sharing//api/v1/shares
PUT /ocs/v2.php/apps/files_sharing/api/v1/shares/{id}