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

List Resource


A Sync List is an ordered collection of individual items, each storing separate JSON objects. Use Lists to push JSON into an ordered list and update existing items within the list.

After you create a List, you can add, retrieve, update, and delete items from your List with the ListItem resource. (That page contains more details on how items are stored in lists, including ordering, expiration, and limitations on each item's size.)

Lists can be created, updated, subscribed to and removed via the client JavaScript SDK. Servers wishing to manage these objects can do so via the REST API using the examples below.


List properties

list-properties page anchor
Property nameTypePIIDescription
sidSID<ES>
Not PII

The unique string that we created to identify the Sync List resource.

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

unique_namestring
PII MTL: 30 days

An application-defined string that uniquely identifies the resource. It can be used in place of the resource's sid in the URL to address the resource.


account_sidSID<AC>

The SID of the Account that created the Sync List 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

urlstring<uri>

The absolute URL of the Sync List resource.


linksobject<uri-map>

The URLs of the Sync List's nested resources.


revisionstring

The current revision of the Sync List, represented as a string.


date_expiresstring<date-time>

The date and time in GMT when the Sync List expires and will be deleted, specified in ISO 8601(link takes you to an external page) format. If the Sync List does not expire, this value is null. The Sync List might not be deleted immediately after it expires.


date_createdstring<date-time>

The date and time in GMT when the resource was created specified in ISO 8601(link takes you to an external page) format.


date_updatedstring<date-time>

The date and time in GMT when the resource was last updated specified in ISO 8601(link takes you to an external page) format.


created_bystring

The identity of the Sync List's creator. If the Sync List is created from the client SDK, the value matches the Access Token's identity field. If the Sync List was created from the REST API, the value is system.


POST https://sync.twilio.com/v1/Services/{ServiceSid}/Lists

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service to create the new Sync List in.

Property nameTypeRequiredPIIDescription
UniqueNamestringOptional

An application-defined string that uniquely identifies the resource. This value must be unique within its Service and it can be up to 320 characters long. The unique_name value can be used as an alternative to the sid in the URL path to address the resource.


TtlintegerOptional

Alias for collection_ttl. If both are provided, this value is ignored.


CollectionTtlintegerOptional

How long, in seconds, before the Sync List expires (time-to-live) and is deleted.

Create a SyncList

create-a-synclist 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 createSyncList() {
_18
const syncList = await client.sync.v1
_18
.services("ServiceSid")
_18
.syncLists.create();
_18
_18
console.log(syncList.sid);
_18
}
_18
_18
createSyncList();

Output

_16
{
_16
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_16
"created_by": "created_by",
_16
"date_expires": "2015-07-30T21:00:00Z",
_16
"date_created": "2015-07-30T20:00:00Z",
_16
"date_updated": "2015-07-30T20:00:00Z",
_16
"links": {
_16
"items": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Items",
_16
"permissions": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions"
_16
},
_16
"revision": "revision",
_16
"service_sid": "ServiceSid",
_16
"sid": "ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_16
"unique_name": "unique_name",
_16
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_16
}


GET https://sync.twilio.com/v1/Services/{ServiceSid}/Lists/{Sid}

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Sync List resource to fetch.


Sidstringrequired

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

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 fetchSyncList() {
_19
const syncList = await client.sync.v1
_19
.services("ServiceSid")
_19
.syncLists("Sid")
_19
.fetch();
_19
_19
console.log(syncList.sid);
_19
}
_19
_19
fetchSyncList();

Output

_16
{
_16
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_16
"created_by": "created_by",
_16
"date_expires": "2015-07-30T21:00:00Z",
_16
"date_created": "2015-07-30T20:00:00Z",
_16
"date_updated": "2015-07-30T20:00:00Z",
_16
"links": {
_16
"items": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Items",
_16
"permissions": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions"
_16
},
_16
"revision": "revision",
_16
"service_sid": "ServiceSid",
_16
"sid": "Sid",
_16
"unique_name": "unique_name",
_16
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_16
}


Read multiple List resources

read-multiple-list-resources page anchor
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Lists

(information)

Info

By default, this will return the first 50 Lists. Supply a PageSize parameter to fetch up to 100 items at once. See paging for more information.

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Sync List resources to read.

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.

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 listSyncList() {
_18
const syncLists = await client.sync.v1
_18
.services("ServiceSid")
_18
.syncLists.list({ limit: 20 });
_18
_18
syncLists.forEach((s) => console.log(s.sid));
_18
}
_18
_18
listSyncList();

Output

_12
{
_12
"lists": [],
_12
"meta": {
_12
"first_page_url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists?PageSize=50&Page=0",
_12
"key": "lists",
_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/Lists?PageSize=50&Page=0"
_12
}
_12
}


POST https://sync.twilio.com/v1/Services/{ServiceSid}/Lists/{Sid}

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Sync List resource to update.


Sidstringrequired

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

Property nameTypeRequiredPIIDescription
TtlintegerOptional

An alias for collection_ttl. If both are provided, this value is ignored.


CollectionTtlintegerOptional

How long, in seconds, before the Sync List expires (time-to-live) and is deleted.

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 updateSyncList() {
_19
const syncList = await client.sync.v1
_19
.services("ServiceSid")
_19
.syncLists("Sid")
_19
.update({ ttl: 54 });
_19
_19
console.log(syncList.sid);
_19
}
_19
_19
updateSyncList();

Output

_16
{
_16
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_16
"created_by": "created_by",
_16
"date_expires": "2015-07-30T21:00:00Z",
_16
"date_created": "2015-07-30T20:00:00Z",
_16
"date_updated": "2015-07-30T20:00:00Z",
_16
"links": {
_16
"items": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Items",
_16
"permissions": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Permissions"
_16
},
_16
"revision": "revision",
_16
"service_sid": "ServiceSid",
_16
"sid": "Sid",
_16
"unique_name": "unique_name",
_16
"url": "https://sync.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Lists/ESaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_16
}


DELETE https://sync.twilio.com/v1/Services/{ServiceSid}/Lists/{Sid}

Permanently delete a List along with all items belonging to it.

Property nameTypeRequiredPIIDescription
ServiceSidstringrequired

The SID of the Sync Service with the Sync List resource to delete.


Sidstringrequired

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

Delete a List with the REST API

delete-a-list-with-the-rest-api page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

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

Delete a List with the JavaScript SDK

delete-a-list-with-the-javascript-sdk page anchor

_10
syncClient.list('example_list').then(function(list) {
_10
list.removeList().then(function() {
_10
console.log('deleted list');
_10
});
_10
});


Rate this page: