Map Resource
A Sync Map stores unordered JSON objects accessible via a developer-defined key. It is an unordered collection of individual Map items .
After you create a Map, use the MapItem resource to add, retrieve, update, and delete items from your Map.
A few notes about Sync Maps:
Full map modification history persists with every change that triggers a new revision.
Strict ordering of map mutation events is guaranteed, but the map item order is not defined.
By default, data persists permanently, but maps will expire and be deleted automatically if eviction is configured via the TTL parameter.
Maps 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.
Each Map object root resource has the following properties.
Unique name and expiration date attributes are optional and may be null.
Resource properties sid
type: SID<MP>
The unique string that we created to identify the Sync Map resource.
Pattern:
^MP[0-9a-fA-F]{32}$
unique_name
type: string
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.
url
type: string<uri>
The absolute URL of the Sync Map resource.
links
type: object<uri-map>
The URLs of the Sync Map's nested resources.
revision
type: string
The current revision of the Sync Map, represented as a string.
date_expires
type: string<date-time>
The date and time in GMT when the Sync Map expires and will be deleted, specified in ISO 8601(link takes you to an external page) format. If the Sync Map does not expire, this value is null
. The Sync Map might not be deleted immediately after it expires.
date_created
type: string<date-time>
date_updated
type: string<date-time>
created_by
type: string
The identity of the Sync Map's creator. If the Sync Map is created from the client SDK, the value matches the Access Token's identity
field. If the Sync Map was created from the REST API, the value is system
.
POST https://sync.twilio.com/v1/Services/{ServiceSid}/Maps
Create a new Map in this Service Instance, optionally giving it a unique name and assigning an expiration deadline.
URI parameters Request body parameters UniqueName
type: string
An application-defined string that uniquely identifies the resource. It can be used as an alternative to the sid
in the URL path to address the resource.
Ttl
type: integer
An alias for collection_ttl
. If both parameters are provided, this value is ignored.
CollectionTtl
type: integer
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(sync_map => console.log(sync_map.sid));
_16 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_16 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_16 "revision": "revision",
_16 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "unique_name": "unique_name",
_16 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .create({uniqueName: 'my_first_map'})
_11 .then(sync_map => console.log(sync_map.sid));
_16 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_16 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_16 "revision": "revision",
_16 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "unique_name": "my_first_map",
_16 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Set TTL (in seconds) for expiring this Map instance
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(sync_map => console.log(sync_map.sid));
_16 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_16 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_16 "revision": "revision",
_16 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "unique_name": "unique_name",
_16 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Maps/{Sid}
URI parameters Sid
type: string
The SID of the Sync Map resource to fetch. Can be the Sync Map's sid
or its unique_name
.
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .syncMaps('MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(sync_map => console.log(sync_map.uniqueName));
_16 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_16 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_16 "revision": "revision",
_16 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "unique_name": "unique_name",
_16 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
GET https://sync.twilio.com/v1/Services/{ServiceSid}/Maps
Retrieve a list of all Maps belonging to this Service Instance.
Info By default, this will return the first 50 Maps. Supply a PageSize parameter to fetch up to 100 items at once. See paging for more information.
URI parameters PageSize
type: integer
How many resources to return in each list page. The default is 50, and the maximum is 1000.
Page
type: integer
The page index. This value is simply for client state.
PageToken
type: string
The page token. This is provided by the API.
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(syncMaps => syncMaps.forEach(s => console.log(s.sid)));
_29 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_29 "created_by": "created_by",
_29 "date_expires": "2015-07-30T21:00:00Z",
_29 "date_created": "2015-07-30T20:00:00Z",
_29 "date_updated": "2015-07-30T20:00:00Z",
_29 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_29 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_29 "revision": "revision",
_29 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_29 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_29 "unique_name": "unique_name",
_29 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_29 "first_page_url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps?PageSize=50&Page=0",
_29 "next_page_url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps?PageSize=50&Page=1",
_29 "previous_page_url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps?PageSize=50&Page=0",
_29 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps?PageSize=50&Page=0"
POST https://sync.twilio.com/v1/Services/{ServiceSid}/Maps/{Sid}
URI parameters Sid
type: string
The SID of the Sync Map resource to update. Can be the Sync Map's sid
or its unique_name
.
Request body parameters Ttl
type: integer
An alias for collection_ttl
. If both parameters are provided, this value is ignored.
CollectionTtl
type: integer
_11 // Download the helper library from https://www.twilio.com/docs/node/install
_11 // Find your Account SID and Auth Token at twilio.com/console
_11 // and set the environment variables. See http://twil.io/secure
_11 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11 const authToken = process.env.TWILIO_AUTH_TOKEN;
_11 const client = require('twilio')(accountSid, authToken);
_11 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .syncMaps('MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11 .then(sync_map => console.log(sync_map.uniqueName));
_16 "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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 "items": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Items",
_16 "permissions": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Permissions"
_16 "revision": "revision",
_16 "service_sid": "ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "sid": "MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_16 "unique_name": "unique_name",
_16 "url": "https://sync.twilio.com/v1/Services/ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Maps/MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
DELETE https://sync.twilio.com/v1/Services/{ServiceSid}/Maps/{Sid}
Permanently delete a specific Map along with all items belonging to it from a given Sync Service Instance.
URI parameters Sid
type: string
The SID of the Sync Map resource to delete. Can be the Sync Map's sid
or its unique_name
.
_10 // Download the helper library from https://www.twilio.com/docs/node/install
_10 // Find your Account SID and Auth Token at twilio.com/console
_10 // and set the environment variables. See http://twil.io/secure
_10 const accountSid = process.env.TWILIO_ACCOUNT_SID;
_10 const authToken = process.env.TWILIO_AUTH_TOKEN;
_10 const client = require('twilio')(accountSid, authToken);
_10 client.sync.v1.services('ISXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10 .syncMaps('MPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_10 syncClient.map('users').then(function (map) {
_10 map.removeMap().then(function () {
_10 console.log('map deleted');