Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Document Permission Resource


The Document Permission resource represents the permissions that apply to any SDKs authenticated with a matching Identity specified in the Auth Token.

Permissions bind an identity to an object with flags that specify the permission to read, write, and manage the object. Permissions do not have a SID or a unique path; instead, they are identified by the Service, Object, and Token Identity specified in the URL.

Permissions can be updated, fetched, and read. Deleting a Document Permission resource is the same as setting all permissions to false.

We recommend following the standard URI specification and avoid the following reserved characters ! * ' ( ) ; : @ & = + $ , / ? % # [ ] for values such as identity and friendly name.


Document Permission properties

document-permission-properties page anchor
Property nameTypePIIDescription
account_sidSID<AC>
Not PII

The SID of the Account that created the Document Permission resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

service_sidSID<IS>

The SID of the Sync Service the resource is associated with.

Pattern: ^IS[0-9a-fA-F]{32}$Min length: 34Max length: 34

document_sidSID<ET>

The SID of the Sync Document to which the Document Permission applies.

Pattern: ^ET[0-9a-fA-F]{32}$Min length: 34Max length: 34

identitystring
PII MTL: 30 days

The application-defined string that uniquely identifies the resource's User within the Service to an FPA token.


readboolean

Whether the identity can read the Sync Document.


writeboolean

Whether the identity can update the Sync Document.


manageboolean

Whether the identity can delete the Sync Document.


urlstring<uri>

The absolute URL of the Sync Document Permission resource.


Fetch a Document Permission resource

fetch-a-document-permission-resource page anchor
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Document Permission resource to fetch.


DocumentSidstringrequired

The SID of the Sync Document with the Document Permission resource to fetch. Can be the Document resource's sid or its unique_name.


Identitystringrequired

The application-defined string that uniquely identifies the User's Document Permission resource to fetch.

Fetch a Document Permission resource

fetch-a-document-permission-resource-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_20
// Download the helper library from https://www.twilio.com/docs/node/install
_20
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_20
_20
// Find your Account SID and Auth Token at twilio.com/console
_20
// and set the environment variables. See http://twil.io/secure
_20
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_20
const authToken = process.env.TWILIO_AUTH_TOKEN;
_20
const client = twilio(accountSid, authToken);
_20
_20
async function fetchDocumentPermission() {
_20
const documentPermission = await client.sync.v1
_20
.services("ServiceSid")
_20
.documents("DocumentSid")
_20
.documentPermissions("Identity")
_20
.fetch();
_20
_20
console.log(documentPermission.accountSid);
_20
}
_20
_20
fetchDocumentPermission();

Output

_10
{
_10
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10
"service_sid": "ServiceSid",
_10
"document_sid": "DocumentSid",
_10
"identity": "Identity",
_10
"read": true,
_10
"write": true,
_10
"manage": true,
_10
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/ETaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions/identity"
_10
}


Read multiple Document Permission resources

read-multiple-document-permission-resources page anchor
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Document Permission resources to read.


DocumentSidstringrequired

The SID of the Sync Document with the Document Permission resources to read. Can be the Document resource's sid or its unique_name.

Property nameTypeRequiredPIIDescription
PageSizeintegerOptional

How many resources to return in each list page. The default is 50, and the maximum is 1000.

Minimum: 1Maximum: 1000

PageintegerOptional

The page index. This value is simply for client state.

Minimum: 0

PageTokenstringOptional

The page token. This is provided by the API.

Read multiple Document Permission resources

read-multiple-document-permission-resources-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function listDocumentPermission() {
_19
const documentPermissions = await client.sync.v1
_19
.services("ServiceSid")
_19
.documents("DocumentSid")
_19
.documentPermissions.list({ limit: 20 });
_19
_19
documentPermissions.forEach((d) => console.log(d.accountSid));
_19
}
_19
_19
listDocumentPermission();

Output

_12
{
_12
"permissions": [],
_12
"meta": {
_12
"first_page_url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/sidOrUniqueName/Permissions?PageSize=50&Page=0",
_12
"key": "permissions",
_12
"next_page_url": null,
_12
"page": 0,
_12
"page_size": 50,
_12
"previous_page_url": null,
_12
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/sidOrUniqueName/Permissions?PageSize=50&Page=0"
_12
}
_12
}


Update a Document Permission resource

update-a-document-permission-resource page anchor
POST https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}

Updates the permissions of the document for the Identity specified in the URL.

(warning)

Warning

Permissions only take effect if the ACLEnabled flag is set on your Service instance.

Your servers are always in "God Mode", meaning they have full access to all your account's Sync resources regardless of the value of the Service's ACLEnabled flag or how the Permissions are configured.

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Document Permission resource to update.


DocumentSidstringrequired

The SID of the Sync Document with the Document Permission resource to update. Can be the Document resource's sid or its unique_name.


Identitystringrequired

The application-defined string that uniquely identifies the User's Document Permission resource to update.

Property nameTypeRequiredPIIDescription
Readbooleanrequired

Whether the identity can read the Sync Document. Default value is false.


Writebooleanrequired

Whether the identity can update the Sync Document. Default value is false.


Managebooleanrequired

Whether the identity can delete the Sync Document. Default value is false.

Update a Document Permission resource

update-a-document-permission-resource-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_24
// Download the helper library from https://www.twilio.com/docs/node/install
_24
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_24
_24
// Find your Account SID and Auth Token at twilio.com/console
_24
// and set the environment variables. See http://twil.io/secure
_24
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_24
const authToken = process.env.TWILIO_AUTH_TOKEN;
_24
const client = twilio(accountSid, authToken);
_24
_24
async function updateDocumentPermission() {
_24
const documentPermission = await client.sync.v1
_24
.services("ServiceSid")
_24
.documents("DocumentSid")
_24
.documentPermissions("Identity")
_24
.update({
_24
manage: false,
_24
read: true,
_24
write: true,
_24
});
_24
_24
console.log(documentPermission.accountSid);
_24
}
_24
_24
updateDocumentPermission();

Output

_10
{
_10
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10
"service_sid": "ServiceSid",
_10
"document_sid": "DocumentSid",
_10
"identity": "Identity",
_10
"read": true,
_10
"write": true,
_10
"manage": false,
_10
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/ETaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions/identity"
_10
}


Delete a Document Permission resource

delete-a-document-permission-resource page anchor
DELETE https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Document Permission resource to delete.


DocumentSidstringrequired

The SID of the Sync Document with the Document Permission resource to delete. Can be the Document resource's sid or its unique_name.


Identitystringrequired

The application-defined string that uniquely identifies the User's Document Permission resource to delete.

Delete a Document Permission resource

delete-a-document-permission-resource-1 page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_18
// Download the helper library from https://www.twilio.com/docs/node/install
_18
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18
_18
// Find your Account SID and Auth Token at twilio.com/console
_18
// and set the environment variables. See http://twil.io/secure
_18
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18
const authToken = process.env.TWILIO_AUTH_TOKEN;
_18
const client = twilio(accountSid, authToken);
_18
_18
async function deleteDocumentPermission() {
_18
await client.sync.v1
_18
.services("ServiceSid")
_18
.documents("DocumentSid")
_18
.documentPermissions("Identity")
_18
.remove();
_18
}
_18
_18
deleteDocumentPermission();


Rate this page: