In case of an oCIS server, using the Graph API to create a link over any item. Similar to the link creation over an space.
1. Permission:
same as share with user/groups. No specific permission for links, to show the + option
2. Create Link
Link is conformed by:
- Name: optional. If empty
Unnamed Link (with translations)
- Permission: mandatory.
- Password: depends on server parameters and capabilities (password policy)
OCIS_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD
OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD
- Expiration date: optional
As the spaces, password and expiration date will be displayed once one of the permissions is selected.
Permissions, to be hardcoded like the spaces
| Files |
Folders |
 |
 |
3. Submission
POST https://<url>:9200/graph/v1beta1/drives/<drive-id>/items/<item-id>/createLink
with body
{
"password": "UX}H[8Uq/%'Mz-lq4HUin:e{|G46&Rttjt,WT7Y[u6&,",
"displayName": "A",
"type": "view",
"expirationDateTime": "2026-08-26T11:53:08.664Z"
}
type: view, edit, createOnly
"expirationDateTime" only if it was set.
Response body like:
{
"createdDateTime": "2026-08-19T11:55:13.45495517Z",
"hasPassword": true,
"id": "IAfiUVqqpslHpNK",
"link": {
"@libre.graph.displayName": "",
"@libre.graph.quickLink": false,
"preventsDownload": false,
"type": "edit",
"webUrl": "https://<url>:9200/s/ioRkSIBBVDTKzxy"
}
}
TASKS
In case of an oCIS server, using the Graph API to create a link over any item. Similar to the link creation over an space.
1. Permission:
same as
share with user/groups. No specific permission for links, to show the+option2. Create Link
Link is conformed by:
Unnamed Link(with translations)OCIS_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORDOCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORDAs the spaces, password and expiration date will be displayed once one of the permissions is selected.
Permissions, to be hardcoded like the spaces
3. Submission
POST https://<url>:9200/graph/v1beta1/drives/<drive-id>/items/<item-id>/createLinkwith body
type:
view,edit,createOnly"expirationDateTime" only if it was set.
Response body like:
TASKS