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.
Property nameTypePIIDescription
The SID of the Account that created the Document Permission resource.
Pattern: ^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Sync Service the resource is associated with.
Pattern: ^IS[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Sync Document to which the Document Permission applies.
Pattern: ^ET[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The application-defined string that uniquely identifies the resource's User within the Service to an FPA token.
Whether the identity can read the Sync Document.
Whether the identity can update the Sync Document.
Whether the identity can delete the Sync Document.
The absolute URL of the Sync Document Permission resource.
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}
Property nameTypeRequiredPIIDescription
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
.
The application-defined string that uniquely identifies the User's Document Permission resource to fetch.
_20// Download the helper library from https://www.twilio.com/docs/node/install
_20const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_20// Find your Account SID and Auth Token at twilio.com/console
_20// and set the environment variables. See http://twil.io/secure
_20const accountSid = process.env.TWILIO_ACCOUNT_SID;
_20const authToken = process.env.TWILIO_AUTH_TOKEN;
_20const client = twilio(accountSid, authToken);
_20async function fetchDocumentPermission() {
_20 const documentPermission = await client.sync.v1
_20 .services("ServiceSid")
_20 .documents("DocumentSid")
_20 .documentPermissions("Identity")
_20 console.log(documentPermission.accountSid);
_20fetchDocumentPermission();
_10 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10 "service_sid": "ServiceSid",
_10 "document_sid": "DocumentSid",
_10 "identity": "Identity",
_10 "url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/ETaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions/identity"
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions
Property nameTypeRequiredPIIDescription
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
How many resources to return in each list page. The default is 50, and the maximum is 1000.
Minimum: 1
Maximum: 1000
The page index. This value is simply for client state.
Minimum: 0
The page token. This is provided by the API.
_19// Download the helper library from https://www.twilio.com/docs/node/install
_19const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19// Find your Account SID and Auth Token at twilio.com/console
_19// and set the environment variables. See http://twil.io/secure
_19const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19const authToken = process.env.TWILIO_AUTH_TOKEN;
_19const client = twilio(accountSid, authToken);
_19async function listDocumentPermission() {
_19 const documentPermissions = await client.sync.v1
_19 .services("ServiceSid")
_19 .documents("DocumentSid")
_19 .documentPermissions.list({ limit: 20 });
_19 documentPermissions.forEach((d) => console.log(d.accountSid));
_19listDocumentPermission();
_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 "previous_page_url": null,
_12 "url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/sidOrUniqueName/Permissions?PageSize=50&Page=0"
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
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
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
.
The application-defined string that uniquely identifies the User's Document Permission resource to update.
Property nameTypeRequiredPIIDescription
Whether the identity can read the Sync Document. Default value is false
.
Whether the identity can update the Sync Document. Default value is false
.
Whether the identity can delete the Sync Document. Default value is false
.
_24// Download the helper library from https://www.twilio.com/docs/node/install
_24const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_24// Find your Account SID and Auth Token at twilio.com/console
_24// and set the environment variables. See http://twil.io/secure
_24const accountSid = process.env.TWILIO_ACCOUNT_SID;
_24const authToken = process.env.TWILIO_AUTH_TOKEN;
_24const client = twilio(accountSid, authToken);
_24async function updateDocumentPermission() {
_24 const documentPermission = await client.sync.v1
_24 .services("ServiceSid")
_24 .documents("DocumentSid")
_24 .documentPermissions("Identity")
_24 console.log(documentPermission.accountSid);
_24updateDocumentPermission();
_10 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10 "service_sid": "ServiceSid",
_10 "document_sid": "DocumentSid",
_10 "identity": "Identity",
_10 "url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Documents/ETaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions/identity"
DELETE https://sync.twilio.com/v1/Services/{ServiceSid}/Documents/{DocumentSid}/Permissions/{Identity}
Property nameTypeRequiredPIIDescription
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
.
The application-defined string that uniquely identifies the User's Document Permission resource to delete.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function deleteDocumentPermission() {
_18 .services("ServiceSid")
_18 .documents("DocumentSid")
_18 .documentPermissions("Identity")
_18deleteDocumentPermission();