SharePoint 2013 has few changes related to REST access URL. SP 2013 has REST located at http://[web site URL]/_api/.
SharePoint 2013 REST endpoints map to SharePoint Client object model types and members. As we know that, SharePoint Client Object Model allows access to various objects in the hierarchy down from the Site Collection i.e. Site (Site Collection), Web (Web Site), List, ListItem etc.
Similarly, the SP 2013 REST allows access to object Site and the objects below it in the hierarchy.
SP 2010 REST API was allowing access to only lists and their items in a web site. SP 2010 REST never given access to Site or Web objects whereas SP 2013 REST can access these objects as well.
Let us see how REST works and how the REST endpoints are formed.
Access Site Collection Object and its properties
http://[Web Url]/_api/site
Use above URL format to access the site collection object in Atom feed format. Do you re-collect “Site” object in Client Object Model representing site collection? Here we used the same object after “_api/”.
Web URL can be any web site in the site collection. Site object can be accessed from any web site in the site collection.
Look at the below XML response for the site collection object.
There are two XML namespaces “m:” and “d:” representing metadata and data namespaces respectively. Complex types and collections are represented as Atom feeds in REST and belong to default namespace. The properties with primitive types belong to “<m:properties>” node.
The “term” attribute on the “<category>” node has value set to fully qualified name of the type of Client Object Model.
The <link> node represents the collections and complex type properties of the object. The “href” attribute provides the /site relative URL to access the atom feed for collection/complex type.
e.g. To access Root Web of the site collection, use
http://[web URL]/_api/site/RootWeb
Similarly one can access the primitive properties by appending the name property in URL after “/site/”. The response is not in Atom feed format. It is just a XML fragment. e.g. To know if the site collection allows use of SharePoint Designer, use
http://[web URL]/_api/site/AllowDesigner
The properties presented in REST response do not contain all
properties of “Site”
type. e.g “Site” has property “Usage”. There is no <link> node for it in
the response, but we can access the property using below URL.
http://[web URL]
/_api/site/usage
Access Web site and
its properties
http://[Web
Url]/_api/webTo read web “Title”, use
http://[web
URL]/_api/web/title
To read lists collection in a web site, use
http://[web
URL]/_api_web/lists
The response from above REST endpoint contains
To read the specific list details, use
http://[Web
Url]/_api/web/Lists(guid'[Guid of the list]')
To access the items of a
list, use
http://[Web
Url]/_api/web/Lists(guid'[guid of the list]')/Items
To access an item with specific ID, use
http://[Web
Url]/_api/web/Lists(guid'[guid of the list]')/Items([id of the item])