REST API reference and samples

Find documentation on MSDN about the SharePoint 2013 representational state transfer (REST) interface.

This page contains links to commonly used REST resources that are available for SharePoint 2013 developers.

Applies to: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Server 2013

In this article
SharePoint 2013 REST reference
SharePoint 2013 REST overviews
SharePoint 2013 REST code samples
Additional resources

Watch the video: SharePoint 2013 REST and OData fundamentals

Tip

The SharePoint Online REST service supports combining multiple requests into a single call to the service by using the OData $batch query option. For details and links to code samples, see Make batch requests with the REST APIs. This option is not yet supported for on-premise SharePoint.

SharePoint 2013 REST reference

Note

Some of the following links open to the documentation for the corresponding JavaScript object, which displays the REST endpoint at the bottom of the page.

REST core endpoints

Resource

Description

SP.ChangeCollection object (sp.js)

Represents a collection of SP.Change objects.

SP.EventReceiverDefinitionCollection object (sp.js)

Represents a collection of EventReceiverDefinition objects that are used to enumerate a list of registered event receivers for Microsoft SharePoint Foundation objects.

SP.EventReceiverDefinition object (sp.js)

SP.FeatureCollection object (sp.js)

Represents a collection of SP.Feature objects.

SP.Feature object (sp.js)

Represents an activated feature.

SP.RecycleBinItemCollection object (sp.js)

Represents a collection of SP.RecycleBinItem objects.

SP.RecycleBinItem object (sp.js)

Represents a Recycle Bin item in the Recycle Bin of a site or a site collection.

SP.RegionalSettings object (sp.js)

Represents regional settings that are used on the server that is running Microsoft SharePoint Foundation.

SP.Site object (sp.js)

Represents a collection of sites in a Web application, including a top-level Web site and all its subsites.

SP.TimeZoneCollection object (sp.js)

SP.TimeZone object (sp.js)

Web

Represents a SharePoint site.

SP.WebTemplateCollection object (sp.js)

Specifies a collection of site templates.

SP.WebTemplate object (sp.js)

Specifies a site definition or a site template that is used to instantiate a site.

REST list-related endpoints

Resource

Description

ListCollection

Represents a collection of List resources.

List

Represents a list on a SharePoint Web site.

ListItemCollection

Represents a collection of ListItem resources.

ListItem

Represents an item or row in a list.

SP.ContentTypeCollection object (sp.js)

Represents a collection of Web site or list content types.

SP.ContentType object (sp.js)

Represents a website, or list, content type.

FieldCollection

Represents a collection of Field resources.

Field

Represents a field in a list on a Microsoft SharePoint Foundation Web site.

SP.FieldLinkCollection object (sp.js)

Represents a collection of SP.FieldLink objects that are column or field references in a content type.

SP.FieldLink object (sp.js)

Specifies a reference to a field or field definition for a content type.

SP.FormCollection object (sp.js)

Represents a collection of SP.Form objects for a list.

SP.Form object (sp.js)

A form provides a display and editing interface for a single list item.

SP.InformationRightsManagementSettings object (sp.js)

SP.ListTemplateCollection object (sp.js)

Represents a collection of SP.ListTemplate objects.

SP.ListTemplate object (sp.js)

Specifies a list template.

SP.RelatedFieldCollection object (sp.js)

Represents a collection of SP.RelatedField objects storing properties of relationship lookup fields.

SP.RelatedField object (sp.js)

Specifies a relationship to a lookup field.

ViewCollection

Represents a collection of View resources.

View

Specifies a list view.

ViewFieldCollection

Represents a collection of fields in a list view.

REST endpoints for files and folders

Resource

Description

FileCollection

Represents a collection of File resources.

File

Represents a file in a SharePoint Web site that can be a Web Part Page, an item in a document library, or a file in a folder.

FileVersionCollection

Represents a collection of FileVersion resources.

FileVersion

Represents a version of an File resource.

FolderCollection

Represents a collection of Folder resources.

Folder

Represents a folder on a SharePoint Web site.

REST endpoints for users and groups

Resource

Description

GroupCollection

Represents a collection of Group resources.

Group

Represents a group on a Microsoft SharePoint Foundation website.

RoleAssignmentCollection

Represents a collection of RoleAssignment resources that defines all the role assignments for a securable object.

RoleAssignment

Defines the securable object role assignments for a user or group on the Web site, list, or list item.

RoleDefinitionCollection

Represents the collection of RoleDefinition resources which define the role definitions that are available for use within the site.

RoleDefinition

Defines a single role definition, including a name, description, and set of rights.

RoleDefinitionBindingCollection

Defines the role definitions that are bound to a role assignment object.

UserCollection

Represents a collection of User resources.

User

Represents a user in Microsoft SharePoint Foundation.

UserCustomActionCollection

Represents a collection of UserCustomAction resources.

UserCustomAction

Represents a custom action associated with a SharePoint list, Web site, or subsite.

REST complex types

Resource

Description

AppLicense

Represents an app license for the specified user for the specified SharePoint Add-in.

AppLicenseCollection

AppPrincipalConfiguration

The configuration associated with an app principal.

AppPrincipalCredentialReference

Represents a reference to a credential for an app principal.

BasePermissions

Represents base permissions for a role definition.

CamlQuery

Specifies a Collaborative Application Markup Language (CAML) query on a list or joined lists.

ChangeLogItemQuery

Represents the input parameter of the GetListItemChangesSinceToken method.

ChangeQuery

Defines a query that is performed against the change log.

ChangeToken

Represents the unique sequential location of a change within the change log.

ContentTypeCreationInformation

Specifies properties that are used as parameters to initialize a new content type.

ContentTypeId

Represents the content type identifier (ID) of a content type.

ContextWebInformation

The context information for a site.

DocumentLibraryInformation

Represents information about a document library.

EventReceiverDefinitionCreationInformation

Specifies event receiver creation information.

ExternalAppPrincipalCreationParameters

Represents the object that encapsulates all parameters used to create a new external app principal.

FieldCalculatedErrorValue

Represents the value of the calculated field of a list item when the value of the field is a calculation error, such as division by zero or overflow.

FieldCreationInformation

Represents properties that can be set when creating a field.

FieldGeolocationValue

Represents altitude, latitude, longitude and measure values for a geolocation field.

FieldLookupValue

Specifies the value of a lookup for a field within a list item.

FieldRatingScaleQuestionAnswer

Represents a specific sub question and answer within a rating scale field of a list item.

FieldUrlValue

Specifies the hyperlink and the description values for FieldURL.

FieldUserValue

Represents the value of a user field for a list item.

FileCreationInformation

Represents properties that can be set when creating a file by using the FileCollection.Add method.

GroupCreationInformation

An object used to facilitate creation of a cross-site group.

KeyValue

Represents a dictionary of key and value pairs.

Language

Represents a natural language used within the context of Microsoft SharePoint Foundation.

ListDataSource

Represents information associated with a connection to an external data source.

ListDataValidationExceptionValue

The exception that is thrown when the data for a list field or list item fails validation.

ListDataValidationFailure

Describes a specific validation failure when a list item is inserted or updated.

ListItemCollectionPosition

Specifies the information required to get the next page of data for a list view.

ListItemCreationInformation

Specifies the properties of the new list item.

ListItemFormUpdateValue

Represents properties of a list item field and its value.

MenuNode

Represents a navigation node in the navigation hierarchy. A navigation hierarchy is a tree structure of navigation nodes.

MenuState

Represents the menu state of the default SiteMapProvider ("SPSiteMapProvider") where the dump starts at the site's root node with a depth of 10 levels.

NavigationNodeCreationInformation

Describes a new navigation node to be created.

RelatedItem

RenderListDataParameters

Represents the parameters to use to render list data as a JavaScript Object Notation (JSON) string.

RoleDefinitionCreationInformation

Contains properties that are used as parameters to initialize a role definition.

SimpleDataRow

Represents a row in a data table.

SimpleDataTable

Represents a data table.

TimeZoneInformation

Represents information about a time zone.

UpgradeInfo

Represents the site collection upgrade information.

UsageInfo

Provides fields that are used to access information about site collection usage.

UserCreationInformation

Parameters to invite a user.

UserIdInfo

Represents an identity provider’s unique identifier information.

ViewCreationInformation

Specifies the properties used to create a new list view.

WebCreationInformation

Specifies the properties of a new site.

WebInfoCreationInformation

Represents metadata about site creation.

WebRequestInfo

Represents the data from the caller needed to make the outbound web request.

WebResponseInfo

Contains a copy of the third-party service response.

XmlSchemaFieldCreationInformation

Represents properties that can be set when creating a field.

SharePoint 2013 REST overviews

Resource

Description

Get to know the SharePoint 2013 REST service

Get the basics of using the SharePoint 2013 REST service to access and update SharePoint data, using the REST and OData web protocol standards.

Complete basic operations using SharePoint 2013 REST endpoints

Learn how to perform basic CRUD operations with the SharePoint 2013 REST interface.

SharePoint Search REST API overview

Add search functionality to client and mobile applications using the Search REST service in SharePoint Server 2013 and any technology that supports REST web requests.

User profiles REST API reference

Learn about SharePoint 2013 REST endpoints for user PeopleManager, ProfileLoader, UserProfile, and related resources.

Social feed REST API reference for SharePoint 2013

Learn about SharePoint 2013 REST endpoints for feed-related tasks.

Following people and content REST API reference for SharePoint 2013

Learn about SharePoint 2013 REST endpoints for following people and content.

SharePoint 2013 REST code samples

Resource

Description

SharePoint 2013: Hello World remote app using REST

Learn how to create a basic "hello world" provider-hosted SharePoint Add-in that uses the SharePoint REST interface to read information about a SharePoint 2013 site from a remote web application.

SharePoint 2013: Using the search REST service from an app for SharePoint

Learn how to submit a search query to Search in SharePoint 2013 from within an SharePoint Add-in.

SharePoint 2013: Build REST queries and use REST to traverse a site

Learn how to use the SharePoint REST APIs to traverse a SharePoint 2013 site, and to create an app that builds queries that perform basic data operations on basic SharePoint entities that are exposed at REST endpoints.

SharePoint 2013: Perform basic data access operations by using REST in apps

Learn how to use the SharePoint REST APIs to perform basic data access operations on SharePoint 2013 lists and list items.

SharePoint 2013: Perform basic data operations on files and folders using REST

A code sample using REST and the SharePointJavaScript cross-domain library to perform basic operations on document libraries and files.

SharePoint 2013: Make app-only policy type calls in a remote app (REST)

Learn how to use the AllowAppOnlyPolicy attribute, with REST and OAuth, to call back into SharePoint 2013.

SharePoint 2013: Accessing external list with REST

Learn how to create an SharePoint Add-in that will use RESTful URLs to query and manipulate data in an external list.

SharePoint 2013: Use the chrome control and the cross-domain library (REST)

Learn how to include a remote webpage that hosts the chrome control and retrieves information from the host web by using the cross-domain library and REST in SharePoint 2013.

SharePoint 2013: Get list items by using the cross-domain library (REST)

Learn how to use the cross-domain library in SharePoint Add-ins to read items in a list hosted in the app web.

SharePoint 2013: Get the host web title using the cross-domain library (REST)

Learn how to use the cross-domain library in SharePoint 2013 to read the title property of the host web.

Set custom permissions on a list by using the REST interface

Learn how to define custom, fine-grained permissions on a SharePoint list by using the REST interface and JavaScript.

Additional resources