Live Services SDK
Using Windows Live Contacts API

The Windows Live™ Contacts API enables an application to access Windows Live Contacts services by using HTTP/1.1.

Accessing Windows Live Contacts Services Using HTTP/1.1

To access Windows Live Contacts by using HTTP-based Representational State Transfer (REST) calls, an application must use the HTTP/1.1 protocol over an assigned port. Accessing Windows Live Contacts Services enables the use of any language and platform that supports the HTTP/1.1 protocol.

Data Formats Supported

The REST protocol for manipulating data is not dependent on any particular data format. This version of the Windows Live Contacts API supports the XML data format. For more information about the XML data format, see Windows Live Contacts API Reference: Address Book Schema.

Servicing Requests

Windows Live provides the gateway, the authentication layer, and the proxy for REST calls over the HTTP/1.1 protocol to Windows Live Contacts and other services.

Windows Live Contacts, along with other Windows Live services, such as Windows Live Messenger, Windows Live Expo, Windows Live Spaces and Windows Live Storage, will integrate with the Windows Live services.

Windows Live handles the authentication process by confirming the caller's identity so that Windows Live Contacts can identify the outside caller and the target Windows Live Contacts address book.

After checking to make sure that the caller has the appropriate consent that it needs to execute the call on the user's address book, Windows Live Contacts processes the API call and returns the data to the caller.

The address book owner can revoke the permissions given to the caller at any time. Additionally, Windows Live can revoke entire domains at the authentication layer, if necessary.

Parental Controls and Managed Windows Live Accounts

If a call is made on behalf of a Managed Restricted account (as defined by the Family Safety Settings service), Windows Live Contacts refuses to enable any access control lists (ACLs) to be created for the third-party site (ISV).

If the managed user attempts to accept a permission request from the ISV, Windows Live returns a "401 Unauthorized" error status that indicates a "ParentRequired" error and continues as if the user had refused to grant access.

Windows Live Contacts Request URI Format, Headers, and Owner Identifier

In general, the Universal Resource Identifier (URI) format points to a specific resource. If any filter parameters exist, these parameters are provided within the header sections of the HTTP/1.1 request.

Windows Live receives calls through the HTTP/1.1 request for Windows Live Contacts in the following format:

https://livecontacts.services.live.com/users/@L@<lid>/rest/LiveContacts/...

The <lid> section of the URI identifies the target address book (obtained from the lid parameter in the Delegated Authentication consent token).

Windows Live Contacts API request calls can contain the request URI and assorted RFC 2616-compliant headers (Header) and an optional Message-body (Body). The Body provides any additional information needed.

The Request Line will consist of the following:

<method> <URI> <Protocol Version to Use>

For example:

POST …/LiveContacts HTTP/1.1

Windows Live Contacts responses consist of the Status-line and assorted RFC 2616-compliant headers (Header) and an optional Message-body (Body). The Header and Body of the response provide any data that is returned.

The Status-line header will consist of the following:

<http-version> <3 digit Status-Code> <Reason Phrase>

For example:

HTTP/1.1 200 OK
See Also

Concepts

Windows Live Contacts API: Error/Response Codes

Other Resources

Windows Live Contacts API Reference

Page view tracker