Managing Permissions - Alfresco Federation Services - 3.2 - 3.2 - Ready - Alfresco - external - Alfresco/Alfresco-Federation-Services/3.2/Alfresco-Federation-Services/Configure/Connectors/CMIS/Managing-Permissions - 2025-03-04

Alfresco Federation Services

Platform
Alfresco
Product
Alfresco Federation Services
Release
3.2
License
ft:locale
en-US

The API supports GET, POST, and DELETE calls.

All the endpoints take the “id” parameter, which takes the form of a string.

For example: 5dba1525-44a6-45ed-a42e-4a155a3f0539

Read Permissions (ACLs)

Request:

GET /api/repo/(connectorid)/acls?id=(id)

Description:

Retrieves a list of in the format of [“principalID:permission1,permissions2”,….. ]

Path Parameters:

connectorid:The connector id of your content service connector

Query Parameters:

id:The repository id of the item.

GET /api/repo/cmis/acls?id=5dba1525-44a6-45ed-a42e-4a155a3f0539

Returns:

{
"results": [
"user@alfresco.com:cmis:all"
],
"success": true
}

Example With CURL

curl -u admin:admin
        "localhost:8081/3sixty-admin/api/repo/cmis/acls?id=5dba1525-44a6-45ed-a42e-4a155a3f0539" |
        json_pp

Write Permissions (ACLs)

Request:

POST /repo/(connectorid)/acls?id=(id)&acls=(acls)

Description:

Adds a principal to an object with the specified permissions. If the object exists, replace its permissions with those supplied.

Path Parameters:

connectorid:The connector id of your content service connector

Query Parameters:

id:The repository id of the item. acls: A JSON String in the format of {“principalID”:”permission1,permission2”,….}

POST
        /api/repo/cmis/acls?id=5dba1525-44a6-45ed-a42e-4a155a3f0539&acls={"newuser@alfresco.com":"cmis:read,cmis:write"}

Returns:

{
"results": [
"user@alfresco.com:cmis:all",
"newuser@alfresco.com:cmis:read,cmis:write"
],
"success": true
}

Delete Permissions (ACLs)

Request:

DELETE /repo/(connectorid)/acls?id=(id)&acls=(acls)

Description:

Remove a principle from an object.

Path Parameters: connectorid: The connector id of your content service connector

Query Parameters: id:The repository id of the item. aclId:a comma delimited link of principal Ids to remove from the target document.

DELETE
        /api/repo/cmis/acls?id=5dba1525-44a6-45ed-a42e-4a155a3f0539&aclId=newuser@alfresco.com

Returns:

{
"success": true
}

And the following GET call should return:

{
"results": [
"user@alfresco.com:cmis:all"
],
"success": true
}

Example With CURL

curl -u admin:admin -X DELETE
        "localhost:8081/3sixty-admin/repo/fn/acls?id=5dba1525-44a6-45ed-a42e-4a155a3f0539&aclId=newuser@alfresco.com|
        json_pp