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

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