Here are some basic examples using the Plaxo API REST binding commands. Currently, they are for reference only—we have more work to do to make them interactive. These commands use a sample test account, devtest@plaxo.com, connected to the Plaxo test server, testapi. To test these commands yourself, create your own account on testapi and replace the Identifier, Password, and ClientID keys in the commands below. When you are trying these on your own account, it's important to remember to update values for keys such as ItemID, FolderID, ServerItemID, etc. with the appropriate values from your account. Check your results by looking at the contacts in your account on testapi. Note that these commands are in a form to drop into a web browser. In practice, it is recommended to use POST instead.
![]() |
Example 1: Create a unique identifier for your client. Demonstrates use of CreatGUID command. The server returns Client ID (GUID) which the client will use in any following calls to the server. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['CreateGUID']%0a['/CreateGUID']
Output:
['Header', 'ProtoVer', '1']
['/Header']
['Status', 'Code', '200', 'Message', '200']
['Item', 'Type', 'GUID'],
['Data', 'GUID', 'PLXI:01000000000002661220152307630149']
['/Status']
|
![]() |
Example 2: Authentication using account devtest@plaxo.com. Demonstrates use of Identifier, AuthMethod, and Password keys for authenticating in Header command. Uses required keys (ProtoVer, ClientID, Identifier, AuthMethod, Password, Client, OS, Platform). Notice that server returns a Uhid of "969" for the devtest@plaxo.com account. We can use this in follow-on commands for authentication instead of keys Identifier and AuthMethod. The server returns 200 to show that the command completed successfully. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Identifier','devtest@plaxo.com','AuthMethod', 'Plaxo', 'Password','devpass', 'Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']
Output:
['Header', 'ProtoVer', '1', 'Uhid', '969', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Source', 'PLXI:01000000000002661220152307630149', 'Code', '200' , 'Message', '200' ]
['/Status']
|
![]() |
Example 3: List the folders in the devtest account. Demonstrates Get command. The server returns folders Contacts, Calendar, Tasks, Notes. Client uses Uhid to log in. Notice server doesn't return the Uhid in this case. Best practice is to use the Uhid once you have it from the first authentication with the server. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass', 'Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Get', 'Type', 'folder', 'Target', 'folders']['/Get']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'folders', 'Code', '200' , 'Message', '200' ]
['Item', 'Type', 'Folder', 'ServerItemID', '2977'], ['Data', 'FolderID', '2977', 'DisplayName', 'Calendar', 'Path', '\x5c\x5cPlaxo Online\x5cCalendar', 'Type', '1', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2978'], ['Data', 'FolderID', '2978', 'DisplayName', 'Tasks', 'Path', '\x5c\x5cPlaxo Online\x5cTasks', 'Type', '2', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2979'], ['Data', 'FolderID', '2979', 'DisplayName', 'Notes', 'Path', '\x5c\x5cPlaxo Online\x5cNotes', 'Type', '3', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2976'], ['Data', 'FolderID', '2976', 'DisplayName', 'Contacts', 'Path', '\x5c\x5cPlaxo Online\x5cContacts', 'Type', '0', 'IsDefault', '1', 'ItemCount', '0']
['/Status']
|
![]() |
Example 4: Initial Slow Sync from a client with an empty address book (no add) and the server account has one entry "Dev Friend" with a "Home Phone" number. Demonstrates Sync command and associated Map command. Shows data fields the server supports. Note the fields are in alphabetical order. The client immediately follows this with a Map command for the item the server asks to add. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['Add', 'Type', 'Contact', 'ItemID', '', 'ServerItemID', '68339'], ['Data','AIMScreenName', '','Anniversary', '','AssistantName', '','AssistantPhone', '','Birthday', '','BusinessEmail', '','BusinessEmail2', '','BusinessEmail3', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '','BusinessPhoto', '','BusinessWebPage', '','Category', '','Company', '','Department', '','DisplayName', 'Dev Friend','FamilyName', '','FirstName', 'Dev','HomeAddress', '','HomeAddress2', '','HomeAddress3', '','HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '650-555-1212','HomePhone2', '','HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Friend','ManagerName', '','MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '','OtherAddress', '','OtherAddress2', '','OtherAddress3', '','OtherCity', '','OtherCountry', '','OtherFax', '','OtherPhone', '','OtherState', '','OtherZipCode', '','PersonalEmail', '','PersonalEmail2', '','PersonalEmail3', '','PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '','PlaxoState', 'none','PreferredAddress', '','SkypeID', '','SkypeIn', '','SpouseName', '','WorkAddress', '','WorkAddress2', '','WorkAddress3', '','WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '','WorkPhone2', '','WorkState', '','WorkZipCode', '',]
['/Sync']
The Map command for the returned server add for the entry "Dev Friend". The client must update its anchors (LastAnchor and NextAnchor) after the server returns success for the map command. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Map', 'Target', 'Contacts', 'Source', 'DevLocalContacts']%0a['MapItem', 'Type', 'contact', 'ServerItemID', '68339', 'ItemID', '1']%0a['/Map']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
|
![]() |
Example 5: sync scenario of initial slow sync, server data update, subsequent fast sync. Demonstrates a series of commands: Slow Sync, Map, Ping, contact added to server, Ping, Fast Sync, Map. Initial Slow Sync from a client having one contact "Hunter Green" with a personal email address. Server has one entry, "Dev Friend". Client must send up all the fields that it supports. As before, server sends the one item it has in its database that the client doesn't have a match for, "Dev Friend". Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['Add', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter Green', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Green', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['Add', 'Type', 'Contact', 'ItemID', '', 'ServerItemID', '68339'], ['Data','AIMScreenName', '','Anniversary', '','AssistantName', '','AssistantPhone', '','Birthday', '','BusinessEmail', '','BusinessEmail2', '','BusinessEmail3', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '','BusinessPhoto', '','BusinessWebPage', '','Category', '','Company', '','Department', '','DisplayName', 'Dev Friend','FamilyName', '','FirstName', 'Dev','HomeAddress', '','HomeAddress2', '','HomeAddress3', '','HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '650-555-1212','HomePhone2', '','HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Friend','ManagerName', '','MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '','OtherAddress', '','OtherAddress2', '','OtherAddress3', '','OtherCity', '','OtherCountry', '','OtherFax', '','OtherPhone', '','OtherState', '','OtherZipCode', '','PersonalEmail', '','PersonalEmail2', '','PersonalEmail3', '','PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '','PlaxoState', 'none','PreferredAddress', '','SkypeID', '','SkypeIn', '','SpouseName', '','WorkAddress', '','WorkAddress2', '','WorkAddress3', '','WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '','WorkPhone2', '','WorkState', '','WorkZipCode', '',]
['/Sync']
The Map command for the returned server add for the entry "Dev Friend". The client must update its anchors (LastAnchor and NextAnchor) after the server returns success for the map command. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Map', 'Target', 'Contacts', 'Source', 'DevLocalContacts']%0a['MapItem', 'Type', 'contact', 'ServerItemID', '68339', 'ItemID', '1']%0a['/Map']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
Ping. Shouldn't be any updates since we just successfully synced and mapped. Ping is done over http, so must not use authentication. Just use the Uhid, no Password. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Ping', 'Target', 'Contacts', 'Source', 'DevLocalContacts']%0a['/Ping']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
To demonstrate what happens when a user makes a change to their server address book, I use Plaxo Online on testapi to add a contact to my devtest account address book, http://testapi.plaxo.com. I add a contact named "Third Contact". Now when the client pings the server, it should report that there has been a change. Ping again. Ping is done over http, so must not use authentication. Just use the Uhid, no Password. This time, the server should say that the client needs to sync by returning 205. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Ping', 'Target', 'Contacts', 'Source', 'DevLocalContacts']%0a['/Ping']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '205' , 'Message', '205' ]
['/Status']
Fast Sync. Since the client-server relationship has been established, subsequent sync commands only need to include the changes since the last sync. This is called a fast sync. Client does not have updates since the last sync, but the server responded to the previous ping that a sync is required. Notice the client has updated anchors in this example. As before, server sends the one item it has in its database that the client doesn't have a match for, "Third Contact". Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '1', 'NextAnchor', '2']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['Add', 'Type', 'Contact', 'ItemID', '', 'ServerItemID', '68357'], ['Data','AIMScreenName', '','Anniversary', '','AssistantName', '','AssistantPhone', '','Birthday', '','BusinessEmail', '','BusinessEmail2', '','BusinessEmail3', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '','BusinessPhoto', '','BusinessWebPage', '','Category', '','Company', '','Department', '','DisplayName', 'Third Contact','FamilyName', '','FirstName', 'Third','HomeAddress', '','HomeAddress2', '','HomeAddress3', '','HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '','HomePhone2', '','HomeState', '','HomeZipCode', '','JobTitle', 'Pizza Guy','LastName', 'Contact','ManagerName', '','MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '','OtherAddress', '','OtherAddress2', '','OtherAddress3', '','OtherCity', '','OtherCountry', '','OtherFax', '','OtherPhone', '','OtherState', '','OtherZipCode', '','PersonalEmail', '','PersonalEmail2', '','PersonalEmail3', '','PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '','PlaxoState', 'none','PreferredAddress', '','SkypeID', '','SkypeIn', '','SpouseName', '','WorkAddress', '','WorkAddress2', '','WorkAddress3', '','WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '(650) 967-5384','WorkPhone2', '','WorkState', '','WorkZipCode', '',]
['/Sync']
The map command for the returned server add for the entry "Third Contact". The client must update its anchors (LastAnchor and NextAnchor) after the server returns success for the map command. Input: https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Map', 'Target', 'Contacts', 'Source', 'DevLocalContacts']%0a['MapItem', 'Type', 'contact', 'ServerItemID', '68357', 'ItemID', '3']%0a['/Map']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
|
![]() |
Example 6: Handle a special character. (Builds on the previous example) Demonstrates special character handling of apostrophe. Subsequent Fast Sync with client editing "Hunter Green" contact changing last name to O'Ryan (to show handling of the '). Notice the client has updated anchors in this example and is sending up all of its supported fields. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '2', 'NextAnchor', '3']%0a['Replace', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter O\%27Ryan', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'O\%27Ryan', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
|
![]() |
Example 7: Sync with a delete from the client. (Builds on previous example) Demonstrates deleting a contact from the client and syncing with the server. Subsequent Fast Sync with client deleting "Third Contact" contact. Notice the client does not need to send data in this case. Notice the sync anchors have been incremented. (If you have mapped the wrong ServerID number, the server won't tell you when you later try to access it through your local ID.) Notice that the client doesn't need to remember the server ID for the item. The client uses its ItemID to delete "Third Contact." Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '3', 'NextAnchor', '4']%0a['Delete', 'Type', 'Contact', 'ItemID', '3']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
|
![]() |
Example 8: Sample error case: client forgets to update the anchors. Demonstrates an error condition when the client forgets to update the anchors. Client then slow syncs to restore proper synchronization. Subsequent Fast Sync with client forgetting to update the anchors. Notice that the server returns a status code of 412 to tell the client to slow sync. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '3', 'NextAnchor', '4']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '412' , 'Message', '412: Client sync anchor is bad.' ]
['/Status']
Slow Sync with client re-sending all of its data (2 contacts, "Dev Friend" and "Hunter O'Ryan") Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['Add', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter O\%27Ryan', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'O\%27Ryan', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['Add', 'Type', 'Contact', 'ItemID', '1',], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '', 'BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Dev Friend','FamilyName', '','FirstName', 'Dev','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '650-555-1212', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Friend', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', '', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
|
![]() |
Example 9: Sync with similar contact data being merged. Demonstrates the server merging similar data from the client and server. This example relies on having executed Example 8 first so you can see the changes to the contacts in the account on Plaxo Online. Slow Sync with full merge: 2 contacts, "Dev Friend" and "Hunter O'Ryan". Hunter has a company name. Dev Friend has some more address info. The server takes care of merging the data and reports the result of the merge to the client in the response. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['Add', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', 'Xyzzy', 'DisplayName', 'Hunter O\%27Ryan', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'O\%27Ryan', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['Add', 'Type', 'Contact', 'ItemID', '1',], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '', 'BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Dev Friend','FamilyName', '','FirstName', 'Dev','HomeAddress', '', 'HomeCity', 'Mountain View','HomeCountry', '','HomeFax', '','HomePhone', '650-555-1212', 'HomeState', 'CA','HomeZipCode', '94043','JobTitle', '','LastName', 'Friend', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', '', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
|
![]() |
Example 10: Syncing to a non-default folder. Demonstrates Get and Sync commands for specifying the target contacts folder to sync. First, using the Manage Folders link on Plaxo Online, I create a new contacts folder in the devtest account called Personal. Then I use Get to get the list of folders and their folder IDs. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass', 'Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Get', 'Type', 'folder', 'Target', 'folders']['/Get']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'folders', 'Code', '200' , 'Message', '200' ]
['Item', 'Type', 'Folder', 'ServerItemID', '2977'], ['Data', 'FolderID', '2977', 'DisplayName', 'Calendar', 'Path', '\x5c\x5cPlaxo Online\x5cCalendar', 'Type', '1', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2978'], ['Data', 'FolderID', '2978', 'DisplayName', 'Tasks', 'Path', '\x5c\x5cPlaxo Online\x5cTasks', 'Type', '2', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2979'], ['Data', 'FolderID', '2979', 'DisplayName', 'Notes', 'Path', '\x5c\x5cPlaxo Online\x5cNotes', 'Type', '3', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2976'], ['Data', 'FolderID', '2976', 'DisplayName', 'Contacts', 'Path', '\x5c\x5cPlaxo Online\x5cContacts', 'Type', '0', 'IsDefault', '1', 'ItemCount', '0']
['Item', 'Type', 'Folder', 'ServerItemID', '2995'], ['Data', 'FolderID', '2995', 'DisplayName', 'Personal', 'Path', '\x5c\x5cPlaxo Online\x5cPersonal', 'Type', '0', 'IsDefault', '0', 'ItemCount', '0']
['/Status']
Now I add a contact, Hunter Green, to the Personal folder, using Target of 'Contacts/2995' to indicate that I am updating contacts in FolderID 2995 (which was returned in the Get command). Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts/2995', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['Add', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter Green', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Green', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts/2995', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts/2995', 'Source', 'DevLocalContacts']
['/Sync']
|
![]() |
Example 11: Multiple subcommands in a sync command. Demonstrates Sync command with Add, Replace, and Delete. Starting with an empty address book, client adds 2 contacts: Hunter Green and Seth Travers. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '0', 'NextAnchor', '1']%0a['Add', 'Type', 'Contact', 'ItemID', '1'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter Green', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Green', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['Add', 'Type', 'Contact', 'ItemID', '2'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Seth Travers', 'FamilyName', '','FirstName', 'Seth','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Travers', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'seth@canto.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
Client now modifies Hunter Green to Hunter Grên, and deletes Seth Travers—remembering to update anchors. Input:https://testapi.plaxo.com/rest?package=['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149', 'Uhid','969', 'Password','devpass','Client', 'Dev Clientname/1.0', 'OS', 'windows/service pack infinity', 'Platform', 'Outlook/2005']%0a['/Header']%0a['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'LastAnchor', '1', 'NextAnchor', '2']%0a['Replace', 'Type', 'Contact', 'ItemID', '1'], ['Data','AIMScreenName', '', 'Birthday', '','BusinessEmail', '','BusinessIM', '','BusinessMicroBlog', '','BusinessMobilePhone', '', 'Category', '','Company', '', 'DisplayName', 'Hunter Gr\u00ean', 'FamilyName', '','FirstName', 'Hunter','HomeAddress', '', 'HomeCity', '','HomeCountry', '','HomeFax', '','HomePhone', '', 'HomeState', '','HomeZipCode', '','JobTitle', '','LastName', 'Gr\u00ean', 'MiddleName', '','NameSuffix', '','NameTitle', '','NickName', '','Notes', '', 'PersonalEmail', 'green@xyzzy.com', 'PersonalIM', '','PersonalMicroBlog', '','PersonalMobilePhone', '','PersonalPhoto', '','PersonalWebPage', '', 'PreferredAddress', '', 'WorkAddress', '', 'WorkCity', '','WorkCountry', '','WorkFax', '','WorkPager', '','WorkPhone', '', 'WorkState', '','WorkZipCode', '']%0a['Delete', 'Type', 'Contact', 'ItemID', '2']%0a['/Sync']
Output:
['Header', 'ProtoVer', '1', 'ClientID', 'PLXI: 01000000000002661220152307630149']
['/Header']
['Status', 'Target', 'Contacts', 'Source', 'DevLocalContacts', 'Code', '200' , 'Message', '200' ]
['/Status']
['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']
['/Sync']
|






