# Table of contents:
# Introduction
The Schematized Storage Service (SchematizedStore) is a SOAP (XML) Web Service. It was introduced with MSNP11, but is required for roaming in MSNP15.
It stores data relating to a user.
It's default HTTP URL is http://storage.msn.com/storageservice/schematizedstore.asmx.
It's default HTTPS URL is https://tkrdr.storage.msn.com/storageservice/SchematizedStore.asmx.
# Authentication
This service requires Passport Authentication, either using Passport SSI 1.4, Passport Request Security Token service or the Passport Request Security Token service, version 2.
There are two ways to authenticate.
# Using Cookies
The easiest way to authenticate is by setting the MSPAuth cookie to the MSPAuth value
from your Passport Compact Token (everything after t= and before &p=)
This can be done using a token for either storage.msn.com or messenger.msn.com.
# Using SOAP
Starting with Official Client 8.1.0064, the Official Client will use SOAP to authenticate with the service. See the StorageUserHeader section for more information.
This method of authentication only works with a token for storage.msn.com.
# Actions
All actions listed have the prefix of
http://www.msn.com/webservices/storage/, followed by the version, for example: w10.
Not much is known about the differences between versions of the service.
- GetItemVersion
- GetProfile
- CreateProfile
- UpdateProfile
- ShareItem
- CreateRelationships
- DeleteRelationships
- FindDocuments
- CreateDocument
# Actions that we don't know much about
- UpdateDocument (2008 namespace only)
# Shared Templates
This is used by all Actions listed, as far as we know.
# Client/Request
The following sub-headings are XML elements for the client's request.
# soap:EnvelopeThis element has three attributes:
xmlns:soap: This is always set tohttp://schemas.xmlsoap.org/soap/envelope/.xmlns:xsi: This is always set tohttp://www.w3.org/2001/XMLSchema-instance.xmlns:xsd: This is always set tohttp://www.w3.org/2001/XMLSchema.
There may be one optional attribute:
xmlns:soapenc: This is always set tohttp://schemas.xmlsoap.org/soap/encoding/. (This usually shows up if the client is using version 8 or higher of the Official Client.)
This element has two required children and only one optional child:
# StorageApplicationHeaderThis element has only one attribute:
xmlns: This is always set tohttp://www.msn.com/webservices/storage/, followed by the version of the schema.
This element has only one required child and only one optional child:
<ApplicationID>: The client used, usually in the form of "Messenger Client x", wherexis based on the client version:8.0: Official Client 8.1 to 8.5.9.0: Official Client 9.0 to 14.0.15: Official Client 15.0 to 15.4.Wave 5: Official Client 16.0+.
<Scenario>(optional): What caused this request to happen:Initial: This is the initial request to this action.RoamingIdentityChanged: The identity associated with a roaming profile was changed by the user.Timer: This request was done automatically on a timer.
This element has only one attribute:
xmlns: This is always set tohttp://www.msn.com/webservices/storage/, followed by the version of the schema.
This element has only one child and many optional children:
<Puid>Unused. This is always set to0.<TicketToken>(optional): This element contains the XML-encoded Passport Compact token forstorage.msn.com(see above). Added since MSNP15.<UserAuthCache>(optional): Possibly an authentication token? (seen in Official Client 7.0-7.5)<IPAddress>(optional): Possibly the user's IP address? (seen in Official Client 7.0-7.5)
This element has only one attribute:
xmlns: This is always set tohttp://www.msn.com/webservices/storage/, followed by the version of the schema.
This element has only one child:
<CacheKey>: The last cache version the client has received.
Your request element and it's children goes here.
# Server/Response
The following sub-headings are XML elements for the server's response.
# soap:EnvelopeThis element has three attributes:
xmlns:soap: This is always set tohttp://schemas.xmlsoap.org/soap/envelope/.xmlns:xsi: This is always set tohttp://www.w3.org/2001/XMLSchema-instance.xmlns:xsd: This is always set tohttp://www.w3.org/2001/XMLSchema.
This element only holds the server versions of
<AffinityCacheHeader> and <StorageUserHeader>.
This element has only one attribute:
xmlns: This is always set tohttp://www.msn.com/webservices/storage/, followed by the version of the schema.
This element has only one child:
<CacheKey>: The current or new storage caching key.
This element has only one attribute:
xmlns: This is always set tohttp://www.msn.com/webservices/storage/, followed by the version of the schema.
This element has multiple children and only one optional child:
<Puid>Unused. This is always set to0.<Cid>The user's Common ID.<ApplicationId>Unused. This is always set to0.<DeviceId>Unused. This is always set to0.<TicketToken>(optional): This element contains the XML-encoded Passport Compact token forstorage.msn.com(see above).<IsTrustedDevice>: Unused. This is always set tofalse.<IsStrongAuth>: Unused. This is always set tofalse.<IsAdmin>: Unused. This is always set tofalse.<LanguagePreference>Unused. This is always set to0.<Claims>Unused. This element is always empty.
This element contains the server's response elements and their children for the action.