# 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 or Passport SOAP (RST).
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
Clients from MSNP15 and up use SOAP to authenticate with the service. See the StorageUserHeader section for more info.
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.
# Actions that we don't know much about
- GetItemVersion
- GetProfile
- CreateProfile
- FindDocuments
- UpdateDocument
- ShareItem
# 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: Is always set tohttp://schemas.xmlsoap.org/soap/envelope/.xmlns:xsi: Is always set tohttp://www.w3.org/2001/XMLSchema-instance.xmlns:xsd: Is always set tohttp://www.w3.org/2001/XMLSchema.
There may be one optional attribute:
xmlns:soapenc: 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: 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.y", where x.y is the client version, usually 8.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: 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: 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: Is always set tohttp://schemas.xmlsoap.org/soap/envelope/.xmlns:xsi: Is always set tohttp://www.w3.org/2001/XMLSchema-instance.xmlns:xsd: 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: 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: 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.