Referencia de webs de las API de REST

Aprenda sobre los recursos y extremos relacionados con el sitio en las API de REST de SharePoint.

Última modificación: jueves, 15 de septiembre de 2016

Hace referencia a: apps for SharePoint | SharePoint Online | SharePoint Server 2013

Acerca de los ejemplos de solicitudes en este artículo

En los ejemplos de este artículo se usan solicitudes jQuery AJAX. Antes de usar los ejemplos, haga lo siguiente:

  • Cambie los datos de <url de sitio> y otros marcadores de posición, como cualquier identificador, nombre o ruta de acceso de entidades de SharePoint.

  • Si utiliza la biblioteca entre dominios, tendrá que cambiar el formato de la solicitud. Por ejemplo, podría ser similar al siguiente.

    executor.executeAsync({
      url: "<app web url>/_api/SP.AppContextSite(@target)/web/getchanges?@target='<host web url>'",
      method: "POST",
      body: "{ 'query': { '__metadata': { 'type': 'SP.ChangeQuery' }, 'Web': true, 'Update': true } }",
      headers: {
        "accept": "application/json;odata=verbose",
        "content-type": "application/json;odata=verbose"
      },
      success: successHandler,
      error: errorHandler
    });
    
  • Si está utilizando OAuth, agregue un encabezado Authorization ("Authorization": "Bearer " + <access token>) para enviar el token de acceso OAuth.

  • Quite los saltos de línea de los valores de propiedad url y data en los ejemplos de solicitud. Los saltos de línea se han agregado para facilitar la lectura.

  • Si quiere que el servidor devuelva respuestas en formato Atom, quite el encabezado "accept": "application/json;odata=verbose".

Consulte Cómo difieren las solicitudes REST por entorno. para obtener más información acerca del cambio de solicitudes. Consulte Recursos adicionales para obtener más información acerca del uso de la biblioteca entre dominios, OAuth y el servicio REST de SharePoint.

Sugerencia

El servicio REST de SharePoint Online admite la combinación de varias solicitudes en una sola llamada al servicio mediante el uso de la opción de consulta $batch de OData. Para obtener información detallada y vínculos a los ejemplos de código, vea Realizar solicitudes de lote con las API de REST. Esta opción aún no está disponible para la implementación de SharePoint local.

Recurso web

URI del extremo  |  Propiedades  |  Métodos  |  Representación OData

Representa un sitio de SharePoint. Un sitio es un tipo de SP.SecurableObject.

URI del extremo

http://<url del sitio>/_api/web

Métodos HTTP compatibles

GET  |  POST  |  DELETE  |  MERGE  |  PUT

Ejemplos de solicitudes

Ejemplo de solicitud GET: obtener un sitio

$.ajax({
  url: "http://<site url>/_api/web",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Ejemplo de solicitud POST: crear un sitio con el método Add del recurso WebCollection

$.ajax({
  url: "http://<site url>/_api/web/webs/add",
  type: "POST",
  data: "{ 'parameters': { '__metadata': { 'type': 'SP.WebCreationInformation' },
    'Title': 'Team projects', 'Url': 'TeamProjects', 'WebTemplate': 'STS',
    'UseSamePermissionsAsParentSite': true } }",
  headers: { 
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "content-length": <length of body data>
  },
  success: successHandler,
  error: errorHandler
});

O bien, puede utilizar el método Add del recurso WebInformationCollection, como se muestra en Creación de un sitio con REST.

Ejemplo de solicitud MERGE: cambiar un sitio

$.ajax({
  url: "http://<site url>/_api/web",
  type: "POST",
  data: "{ '__metadata': { 'type': 'SP.Web' }, 'Description': 'All team projects',
    'EnableMinimalDownload': false }",
  headers: { 
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "content-length": <length of body data>,
    "X-HTTP-Method": "MERGE"
  },
  success: successHandler,
  error: errorHandler
});

Ejemplo de solicitud DELETE: eliminar un sitio

$.ajax({
  url: "http://<site url>/_api/web",
  type: "POST",
  headers: { 
    "X-RequestDigest": <form digest value>,
    "X-HTTP-Method": "DELETE"
  },
  success: successHandler,
  error: errorHandler
});

Propiedades web

Para obtener una propiedad, envíe una solicitud GET al extremo de la propiedad, tal como se muestra en el siguiente ejemplo.

$.ajax({
  url: "http://<site url>/_api/web/<property name>",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Propiedad

Tipo

L/E

Devuelta con recurso

Descripción

AllowCreateDeclarativeWorkflowForCurrentUser

Boolean

L

No

Especifica si el usuario actual puede crear flujos de trabajo declarativos. Si no se ha deshabilitado en la aplicación web, el valor es el mismo que la propiedad AllowCreateDeclarativeWorkflow de la colección de sitios. Valor predeterminado: true.

AllowDesignerForCurrentUser

Boolean

L

No

Obtiene un valor que especifica si se permite al usuario actual usar una aplicación de diseñador para personalizar este sitio.

AllowMasterPageEditingForCurrentUser

Boolean

L

No

Obtiene un valor que especifica si se permite al usuario actual editar la página maestra.

AllowRevertFromTemplateForCurrentUser

Boolean

L

No

Obtiene un valor que especifica si se permite al usuario actual revertir el sitio a una plantilla de sitio predeterminada.

AllowRssFeeds

Boolean

L

Obtiene un valor que especifica si el sitio permite fuentes RSS.

AllowSaveDeclarativeWorkflowAsTemplateForCurrentUser

Boolean

L

No

Especifica si el usuario actual puede guardar flujos de trabajo declarativos como plantilla. Si no se ha deshabilitado en la aplicación web, el valor es el mismo que la propiedad AllowSaveDeclarativeWorkflowAsTemplate de la colección de sitios. Valor predeterminado: true.

AllowSavePublishDeclarativeWorkflowForCurrentUser

Boolean

LE

No

Especifica si el usuario actual puede guardar flujos de trabajo declarativos. Si no se ha deshabilitado en la aplicación web, el valor es el mismo que la propiedad AllowSavePublishDeclarativeWorkflowAsTemplate de la colección de sitios. Cuando está habilitado, únicamente el administrador de la colección de sitios puede establecerlo. Valor predeterminado: true.

AllProperties

SP.PropertyValues

L

No

Obtiene una colección de metadatos para el sitio web.

AppInstanceId

GUID

L

El identificador de instancia de la instancia de la aplicación que representa esta web.

AssociatedMemberGroup

SP.Group

LE

No

Obtiene o establece el grupo de usuarios a los que se han asignado permisos de colaboración en el sitio web.

AssociatedOwnerGroup

SP.Group

LE

No

Obtiene o establece el grupo de propietarios asociados del sitio web.

AssociatedVisitorGroup

SP.Group

LE

No

Obtiene o establece el grupo de visitantes asociados del sitio web.

AvailableContentTypes

SP.ContentTypeCollection

L

No

Obtiene la colección de todos los tipos de contenido que se aplican al ámbito actual, incluidos los del sitio web actual al igual que los de cualquier sitio web primario.

AvailableFields

SP.FieldCollection

L

No

Obtiene un valor que especifica la colección de todos los campos disponibles para el ámbito actual, incluidos los del sitio actual al igual que los de cualquier sitio primario.

Configuration

Int16

L

Obtiene el identificador (Id.) de la configuración de la definición de sitios que se usó para crear el sitio o el identificador de la configuración de la definición de sitios desde la que se derivó la plantilla de sitios usada para crear el sitio.

ContentTypes

SP.ContentTypeCollection

L

No

Obtiene la colección de los tipos de contenido del sitio web.

Created

DateTime

L

Obtiene un valor que especifica cuándo se creó el sitio.

CurrentUser

SP.User

L

No

Obtiene el usuario actual del sitio.

CustomMasterUrl

String

LE

Obtiene o establece la dirección URL para un archivo de página maestra personalizada para aplicar al sitio web.

Description

String

LE

Obtiene o establece la descripción del sitio.

DesignerDownloadUrlForCurrentUser

String

L

No

Obtiene la dirección URL donde el usuario actual puede descargar SharePoint Designer.

DocumentLibraryCalloutOfficeWebAppPreviewersDisabled

Boolean

L

Determina si los controladores de vista previa WAC de las llamadas a la biblioteca de documentos están habilitados o no.

EffectiveBasePermissions

SP.BasePermissions

L

No

Representa la intersección de permisos de la entidad de seguridad de la aplicación y la entidad de seguridad del usuario. En el caso de la aplicación únicamente, esta propiedad devuelve solo los permisos de la entidad de seguridad de la aplicación.

Para comprobar los permisos del usuario solamente (ignorando los permisos de la aplicación), use el método GetUserEffectivePermissions.

EnableMinimalDownload

Boolean

LE

Obtiene o establece un valor booleano que especifica si el sitio web debería usar la estrategia de descarga mínima.

EventReceivers

SP.EventReceiverCollection

L

No

Obtiene la colección de definiciones de receptores de eventos que hay actualmente disponibles en el sitio web.

Features

SP.FeatureCollection

L

No

Obtiene un valor que especifica la colección de características activas actualmente en el sitio.

Campos

SP.FieldCollection

L

No

Obtiene la colección de objetos de campo que representa todos los campos del sitio web.

Carpetas

SP.FolderCollection

L

No

Obtiene la colección de todas las carpetas de primer nivel del sitio web.

Id

GUID

L

Obtiene un valor que especifica el identificador de sitio del sitio.

Language

Int32

L

Obtiene un valor que especifica el LCID del idioma usado en el sitio.

LastItemModifiedDate

DateTime

L

Obtiene un valor que especifica cuándo se modificó por última vez un elemento en el sitio.

Listas

SP.ListCollection

L

No

Obtiene la colección de todas las listas incluidas en el sitio web disponibles para el usuario actual en función de sus permisos.

ListTemplates

SP.ListTemplateCollection

L

No

Obtiene un valor que especifica la colección de definiciones de lista y plantillas de lista disponibles para crear listas en el sitio.

MasterUrl

String

LE

Obtiene o establece la dirección URL de la página maestra que se usa para el sitio web.

Navegación

SP.Navigation

L

No

Obtiene un valor que especifica la estructura de navegación del sitio, incluidas el área Inicio rápido y la barra de navegación superior.

ParentWeb

SP.Web

L

No

Obtiene el sitio web primario del sitio web especificado.

PushNotificationSubscribers

SP.PushNotificationSubscriberCollection

L

No

Obtiene la colección de suscriptores de notificación de inserción a través del sitio.

QuickLaunchEnabled

Boolean

LE

Obtiene o establece un valor que especifica si el área Inicio rápido está habilitada en el sitio.

RecycleBin

SP.RecycleBin

L

No

Especifica la colección de elementos de papelera de reciclaje de la papelera de reciclaje del sitio.

RecycleBinEnabled

Boolean

L

Obtiene o establece un valor que determina si la papelera de reciclaje está habilitada para el sitio web.

RegionalSettings

SP.RegionalSettings

L

No

Obtiene la configuración regional que está actualmente implementada en el sitio web.

RoleDefinitions

SP.RoleDefinitionCollection

L

No

Obtiene la colección de las definiciones de roles del sitio web.

RootFolder

SP.Folder

L

No

Obtiene la carpeta raíz del sitio web.

SaveSiteAsTemplateEnabled

Boolean

LE

No

Obtiene o establece un valor booleano que especifica si el sitio web se puede guardar como plantilla de sitio.

ServerRelativeUrl

String

LE

Obtiene o establece la dirección URL relativa al servidor del sitio web.

ShowUrlStructureForCurrentUser

Boolean

L

No

Obtiene un valor que especifica si el usuario actual puede ver la estructura del sistema de archivos de este sitio.

SiteGroups

SP.GroupCollection

L

No

Obtiene la colección de grupos de la colección de sitios.

SiteUserInfoList

SP.List

L

No

Obtiene la lista UserInfo de la colección de sitios que contiene el sitio web.

SiteUsers

SP.UserCollection

L

No

Obtiene la colección de todos los usuarios que pertenecen a la colección de sitios.

SupportedUILanguageIds

Collection(Int32)

L

No

Especifica los identificadores de configuración regional (LCID) de los idiomas que están habilitados para el sitio.

SyndicationEnabled

Boolean

LE

Obtiene o establece un valor que especifica si las fuentes RSS están habilitadas en el sitio.

ThemeInfo

SP.ThemeInfo

L

No

La información del tema de este sitio. Esto incluye información como colores, fuentes, tamaños de radios del borde, etc.

Title

String

LE

Obtiene o establece el título del sitio web.

TreeViewEnabled

Boolean

LE

Obtiene o establece un valor que especifica si la vista de árbol está habilitada en el sitio.

UIVersion

Int32

LE

Obtiene o establece la versión de la interfaz de usuario (UI) del sitio web.

UIVersionConfigurationEnabled

Boolean

LE

Obtiene o establece un valor que especifica si se muestra u oculta la interfaz de usuario de configuración para la actualización visual.

Url

String

L

Obtiene la dirección URL absoluta del sitio web.

UserCustomActions

SP.UserCustomActionCollection

L

No

Obtiene un valor que especifica la colección de acciones personalizadas de usuario del sitio.

WebInfos

SP.WebInformation

L

No

Representa las propiedades clave de los subsitios de un sitio.

Webs

SP.WebCollection

L

No

Obtiene el objeto de colección de sitios web que representa todos los sitios web que se encuentran inmediatamente por debajo del sitio web, a excepción de sus sitios web secundarios.

WebTemplate

String

L

Obtiene el nombre de la definición de sitios o la plantilla de sitios que se usó para crear el sitio.

WorkflowAssociations

SP.WorkflowAssociationCollection

L

No

Obtiene un valor que especifica la colección de todas las asociaciones de flujo de trabajo del sitio.

WorkflowTemplates

SP.WorkflowTemplateCollection

L

No

Obtiene un valor que especifica la colección de plantillas de flujo de trabajo asociadas con el sitio.

Métodos web

ApplyTheme
ApplyWebTemplate
BreakRoleInheritance
DeleteObject
DoesPushNotificationSubscriberExist
DoesUserHavePermissions
EnsureUser
ExecuteRemoteLOB
GetAppBdcCatalog
GetAppBdcCatalogForAppInstance
GetAppInstanceById
GetAppInstancesByProductId
GetAvailableWebTemplates
GetCatalog
GetChanges
GetContextWebInformation
GetEntity
GetDocumentLibraries
GetFileByServerRelativeUrl
GetFolderByServerRelativeUrl
GetList
GetPushNotificationSubscriber
GetPushNotificationSubscribersByArgs
GetPushNotificationSubscribersByUser
GetSubwebsFilteredForCurrentUser
GetUserById
GetUserEffectivePermissions
GetWebUrlFromPageUrl
LoadAndInstallApp
LoadAndInstallAppInSpecifiedLocale
LoadApp
MapsToIcon
ProcessExternalNotification
RegisterPushNotificationSubscriber
ResetRoleInheritance
UnregisterPushNotificationSubscriber

Método ApplyTheme

Aplica el tema especificado por los contenidos de cada uno de los archivos especificados en los argumentos del sitio.

Extremo

/applytheme(colorpaletteurl, fontschemeurl, backgroundimageurl, sharegenerated)

Parámetros

colorpaletteurl

Tipo: String
La URL relativa al servidor del archivo de paleta de colores.

fontschemeurl

Tipo: String
La URL relativa al servidor del esquema de fuentes.

backgroundimageurl

Tipo: String
La URL relativa al servidor de la imagen de fondo.

sharegenerated

Tipo: Boolean
true para almacenar los archivos de tema generados en el sitio de raíz o false para almacenarlos en este sitio.

HTTP method

POST

Respuesta

Ninguna

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /applytheme(colorpaletteurl='/_catalogs/theme/15/palette011.spcolor',
        fontschemeurl='/_catalogs/theme/15/fontscheme007.spfont',
        backgroundimageurl='/piclibrary/th.jpg', sharegenerated=true)",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

O bien, puede enviar los parámetros en el cuerpo: { 'colorPaletteUrl':'/_catalogs/theme/15/palette011.spcolor', 'fontSchemeUrl':'/_catalogs/theme/15/fontscheme007.spfont', 'backgroundImageUrl':'/piclibrary/pics/th.jpg', 'shareGenerated':true }

Consulte Introducción a los temas para SharePoint 2013.

Método ApplyWebTemplate

Aplica la definición de sitio o plantilla de sitio especificada al sitio web al que no se ha aplicado ninguna plantilla.

Nota

Puede generarse un bucle infinito cuando se llama a este método dentro de una función de devolución de llamada de aprovisionamiento de sitio definida dentro de la misma configuración de definición de sitio que se aplica. En su lugar, cree dos configuraciones similares de definición de sitio dentro de la definición de sitio, una que sea visible y una que está oculta. La configuración visible puede contener una devolución de llamada de ensamblado de aprovisionamiento que aplica la configuración oculta a los sitios.

Extremo

/applywebtemplate('<nombre de plantilla web o definición de sitio>')

Parámetros

Tipo: String
El nombre de la definición de sitio o el nombre de la plantilla de sitio. Use el método GetAvailableWebTemplates para obtener los nombres de las plantillas de sitio disponibles.

HTTP method

POST

Respuesta

Ninguna

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /applywebtemplate(@v)?@v='blog%230'",
  type: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método BreakRoleInheritance

Crea asignaciones de roles únicas para el objeto protegible.

Extremo

/breakroleinheritance(copyroleassignments, clearsubscopes)

Parámetros

copyroleassignments

Tipo: Boolean
true para copiar las asignaciones de roles del objeto protegible primario; false para quitar las asignaciones de roles heredadas excepto una que contiene el usuario actual.

clearsubscopes

Tipo: Boolean
Opcional. true para hacer que todos los objetos protegibles secundarios hereden asignaciones de roles del objeto actual; false (valor predeterminado) para dejar asignaciones de roles sin cambios para objetos protegibles secundarios que no heredan asignaciones de roles del objeto primario.

HTTP method

POST

Respuesta

Ninguna

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /breakroleinheritance(copyroleassignments=false, clearsubscopes=true)",
  method: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método DeleteObject

Ejemplos

Método DoesPushNotificationSubscriberExist

Comprueba si existe el suscriptor de notificaciones de inserción para el usuario actual con el identificador especificado de la instancia de aplicación del dispositivo.

Extremo

/doespushnotificationsubscriberexist('<id. de instancia de aplicación de dispositivo>')

Parámetros

Tipo: GUID
El identificador de la instancia de la aplicación del dispositivo.

HTTP method

GET

Respuesta

Tipo: Booleantrue si existe la suscripción; de lo contrario, false.

Método DoesUserHavePermissions

Devuelve si el usuario actual tiene el conjunto de permisos determinado.

Extremo

/doesuserhavepermissions(@v)?@v={'High':'<valor>', 'Low':'<valor>'}

Parámetros

Tipo: SP.BasePermissions
El intervalo de permisos altos y bajos. Use el extremo …/_api/web/roledefinitions para obtener los valores de permisos altos y bajos para los roles en el sitio.

HTTP method

GET

Respuesta

Tipo: Boolean
true si el usuario tiene los permisos; de lo contrario, false.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /doesuserhavepermissions(@v)?@v={'High':'432', 'Low':'1012866047'}",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método EnsureUser

Comprueba si el nombre de inicio de sesión especificado pertenece a un usuario válido en el sitio. Si el usuario no existe, agrega el usuario al sitio.

Extremo

/ensureuser

Parámetros

logonName

Tipo: String
El nombre de inicio de sesión del usuario. Pase el parámetro logonName en el cuerpo de solicitud, tal como se muestra en el ejemplo de la solicitud.

HTTP method

POST

Respuesta

Tipo: SP.User
El usuario especificado.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /ensureuser",
  type: "POST",
  data: "{ 'logonName': 'i:0#.f|membership|user@domain.onmicrosoft.com' }",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Método ExecuteRemoteLOB

Envía datos a un servicio de OData.

Este método es el punto de entrada para una conectividad híbrida y se utiliza para invocar el servicio de OData desde un servidor local. Se necesitan parámetros de entrada para hacer que la llamada de servicio de OData pase como encabezados HTTP predeterminados. Consulte ExecuteRemoteLOB.

Extremo

/executeremotelob

Parámetros

inputStream

Tipo: Stream
El objeto de entrada de OData. Se usa para operaciones de creación o actualización solamente.

HTTP method

POST

Respuesta

Tipo: Stream
La respuesta OData del servicio OData.

Método GetAppBdcCatalog

Extremo

/getappbdccatalog

Parámetros

Ninguna

HTTP method

POST

Respuesta

Tipo: SP.BusinessData.AppBdcCatalog
El MetadataCatalog Servicio de conectividad a datos empresariales (BDC) para la instancia actual de la aplicación.

Método GetAppBdcCatalogForAppInstance

Extremo

/getappbdccatalogforappinstance('<id. de instancia de aplicación>')

Parámetros

Tipo: GUID
El identificador de la instancia de la aplicación.

HTTP method

POST

Respuesta

Tipo: SP.BusinessData.AppBdcCatalog
El MetadataCatalog BDC para la instancia actual de la aplicación especificada.

Método GetAppInstanceById

Recupera una instancia de aplicación instalada en este sitio.

Extremo

/getappinstancebyid('<id. de instancia de aplicación>')

Parámetros

Tipo: GUID
El identificador de la instancia de la aplicación.

HTTP method

GET

Respuesta

Tipo: SP.AppInstance
La instancia de aplicación especificada.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getappinstancebyid('3122ea58-8435-4d9a-a302-345599838671')",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetAppInstancesByProductId

Recupera todas las instancias de aplicación instaladas en este sitio que son instancias de la aplicación especificada.

Extremo

/getappinstancesbyproductid('<id. de producto>')

Parámetros

Tipo: GUID
El identificador de la aplicación.

HTTP method

GET

Respuesta

Tipo: Collection(SP.AppInstance)
Las instancias de la aplicación instaladas en el sitio para el producto especificado.

Método GetAvailableWebTemplates

Devuelve una colección de plantillas de sitio disponibles para el sitio.

Extremo

/getavailablewebtemplates(lcid, doincludecrosslanguage)

Parámetros

lcid

Tipo: Int64
El LCID de las plantillas de sitio por obtener.

doincludecrosslanguage

Tipo: Boolean
true para incluir plantillas de sitio con lenguaje neutro; de lo contrario, false.

HTTP method

GET

Respuesta

Tipo: SP.WebTemplateCollection
La colección de plantillas de sitio disponibles. Devuelve una colección vacía si el LCID especificado no es válido.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getavailablewebtemplates(lcid=1033, doincludecrosslanguage=true)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetCatalog

Devuelve la galería de listas en el sitio.

Extremo

/getcatalog(<tipo de galería>)

Parámetros

Tipo: Int32
El tipo de galería. Representa un valor ListTemplateType como WebTemplateCatalog = 111, WebPartCatalog = 113 ListTemplateCatalog = 114, MasterPageCatalog = 116, SolutionCatalog = 121, ThemeCatalog = 123, DesignCatalog = 124, AppDataCatalog = 125.

HTTP method

GET

Respuesta

Tipo: SP.List
La galería para el tipo de lista especificado. Devuelve null si no existe galería con el tipo especificado o si el tipo de plantilla de lista no es válido.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getcatalog(113)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetChanges

Devuelve la colección de todos los cambios del registro de cambios realizados dentro del ámbito del sitio, en función de la consulta especificada.

Extremo

/getchanges

Parámetros

query

Tipo: SP.ChangeQuery
La consulta de cambio. Pase el parámetro query en el cuerpo de solicitud, tal como se muestra en el ejemplo de la solicitud.

HTTP method

POST

Respuesta

Tipo: SP.ChangeCollection
Los cambios en el sitio que coinciden con los criterios de la consulta de cambio especificada.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getchanges",
  type: "POST",
  data: "{ 'query': { '__metadata': { 'type': 'SP.ChangeQuery' },
    'Web': true, 'Update': true, 'Add': true } }",
  headers: {
    "X-RequestDigest": <form digest value>
    "accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "content-length": <length of body data>
  },
  success: successHandler,
  error: errorHandler
});

GetContextWebInformation

Obtiene la información de contexto para el sitio. Método estático.

Extremo

http://<url de sitio>/_api/contextinfo

Parámetros

Ninguna

HTTP method

POST

Respuesta

Tipo: SP.ContextWebInformation
La información de contexto para el sitio.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /contextinfo",
  type: "POST",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

Método GetCustomListTemplates

Obtiene las plantillas de lista personalizada para el sitio.

Extremo

/getcustomlisttemplates

Parámetros

Ninguna

HTTP method

GET

Respuesta

Tipo: SP.ListTemplateCollection
Las plantillas de lista personalizada para el sitio.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getcustomlisttemplates",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetDocumentLibraries

Obtiene las bibliotecas de documentos en un sitio. Método estático. (SharePoint Online solamente)

Extremo

http://<url de sitio>/_api/sp.web.getdocumentlibraries(@v)?@v='<url completa de sitio>'

Parámetros

Tipo: String
La dirección URL completa del sitio.

HTTP method

GET

Respuesta

Tipo: Collection(SP.DocumentLibraryInformation)
Las propiedades de las bibliotecas de documentos en el sitio. Este método no devuelve bibliotecas privadas, bibliotecas de imágenes, bibliotecas de catálogo, bibliotecas de activos, listas de aplicación o bibliotecas para las que el usuario no tiene permisos para ver elementos.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /sp.web.getdocumentlibraries(@v)?@v='https://contoso.sharepoint.com'",
  method: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler});

Método GetEntity

Obtiene el tipo de contenido externo especificado en una aplicación del sistema de línea de negocio.

Extremo

/getentity(namespace, name)

Parámetros

namespace

Tipo: String
El espacio de nombres del tipo de contenido externo.

name

Tipo: String
El nombre del tipo de contenido externo.

HTTP method

POST

Respuesta

Tipo: SP.BusinessData.Entity
El tipo de contenido externo.

Método GetFileByServerRelativeUrl

Devuelve el objeto de archivo ubicado en la dirección URL relativa al servidor especificada.

Extremo

/getfilebyserverrelativeurl('<url relativa al servidor>')

Parámetros

Tipo: String
La dirección URL relativa al servidor del archivo.

HTTP method

GET

Respuesta

Tipo: SP.File
El campo especificado.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getfilebyserverrelativeurl('/templates/ResourceRequest.docx')",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetFolderByServerRelativeUrl

Devuelve el objeto de carpeta ubicado en la dirección URL relativa al servidor especificada.

Extremo

/getfolderbyserverrelativeurl('<url relativa al servidor >')

Parámetros

Tipo: String
La dirección URL relativa al servidor de la carpeta.

HTTP method

GET

Respuesta

Tipo: SP.Folder
La carpeta especificada.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getfolderbyserverrelativeurl('/templates/test')",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetList

Obtiene la lista en la dirección URL relativa del sitio que se especificó.

Extremo

/getlist('<url de lista>')

Parámetros

Tipo: String
La dirección URL relativa al sitio de la lista.

HTTP method

GET

Respuesta

Tipo: SP.List
La lista especificada.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getlist('/lists/ideas')",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetPushNotificationSubscriber

Obtiene el suscriptor de notificaciones de inserción a través del sitio para el identificador especificado de la instancia de aplicación del dispositivo.

Extremo

/getpushnotificationsubscriber('<id. de instancia de aplicación de dispositivo>')

Parámetros

Tipo: GUID
El identificador de la instancia de la aplicación del dispositivo.

HTTP method

GET

Respuesta

Tipo: SP.PushNotificationSubscriber
El suscriptor de notificaciones de inserción registrado.

Método GetPushNotificationSubscribersByArgs

Consulta los suscriptores de notificaciones de inserción a través del sitio para el valor especificado de los argumentos personalizados. Los argumentos personalizados nulos o vacíos devolverán suscriptores sin ningún filtro.

Extremo

/getpushnotificationsubscribersbyargs('<argumentos>')

Parámetros

Tipo: String
Argumentos para filtrar los resultados. Se comparan los argumentos pasados con los argumentos personalizados de los suscriptores en el almacén. Pase argumentos nulos o vacíos para devolver los resultados sin filtrar.

HTTP method

GET

Respuesta

Tipo: SP.PushNotificationSubscriberCollection
Los suscriptores de notificación de inserción registrados que coinciden con los argumentos. Devuelve una colección vacía si no se encuentra ninguna coincidencia.

Método GetPushNotificationSubscribersByUser

Consulta los suscriptores de notificaciones de inserción a través del sitio para el usuario especificado.

Extremo

/getpushnotificationsubscribersbyuser(@v)?@v='<nombre de inicio de sesión>'

Parámetros

Tipo: String
El nombre de inicio de sesión del usuario. Vea Usuario para conocer los formatos utilizados para pasar nombres de inicio de sesión en la cadena de consulta.

HTTP method

GET

Respuesta

Tipo: SP.PushNotificationSubscriberCollection
Los suscriptores de notificación de inserción registrados para el usuario.

Método GetSubwebsFilteredForCurrentUser

Devuelve la colección de sitios secundarios del sitio actual en función de la consulta especificada.

Disponible solo en SharePoint Online.

Extremo

/getsubwebsfilteredforcurrentuser(nwebtemplatefilter, nconfigurationfilter)

Parámetros

nwebtemplatefilter

Tipo: Int32
El identificador de la plantilla que se usa en la definición de los sitios.

nconfigurationfilter

Tipo: Int16
El identificador de la plantilla de sitio que se usa para aprovisionar los sitios.

HTTP method

GET

Respuesta

Tipo: Collection(SP.WebInformation)
Información sobre los sitios a los que puede tener acceso el usuario actual.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getsubwebsfilteredforcurrentuser(nwebtemplatefilter=-1,nconfigurationfilter=0)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetUserById

Devuelve el usuario correspondiente al identificador de miembro especificado para el sitio actual.

Extremo

/getuserbyid(<id. de usuario>)

Parámetros

Tipo: Int32
El identificador del usuario.

HTTP method

GET

Respuesta

Tipo: SP.User
El usuario especificado.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getuserbyid(12)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetUserEffectivePermissions

Obtiene el permiso efectivo que el usuario especificado tiene dentro del ámbito de la aplicación actual.

Para comprobar los permisos de un usuario distinto del usuario actual, las aplicaciones deben tener permisos Full Control para el sitio.

Extremo

/getusereffectivepermissions(@v)?@v='<nombre de inicio de sesión>'

Parámetros

Tipo: String
El nombre de inicio de sesión del usuario. Vea Usuario para conocer los formatos utilizados para pasar nombres de inicio de sesión en la cadena de consulta.

HTTP method

GET

Respuesta

Tipo: SP.BasePermissions
Los permisos del usuario especificado.

Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /getusereffectivepermissions(@v)?@v='i%3A0%23.f%7Cmembership%7Cuser%40domain.onmicrosoft.com'",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método GetWebUrlFromPageUrl

Obtiene la dirección URL del sitio desde una dirección URL de la página. Método estático.

Extremo

http://<url de sitio>/_api/sp.web.getweburlfrompageurl(@v)?@v='<url completa de página>'

Parámetros

Tipo: String
La dirección URL completa de la página SharePoint, con caracteres codificados de URL según sea necesario.

HTTP method

GET

Respuesta

Tipo: String
La dirección URL completa del sitio SharePoint.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api
    /sp.web.getweburlfrompageurl(@v)?@v='https://contoso.sharepoint.com/subsite/_layouts/15/start.aspx'",
  method: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método LoadAndInstallApp

Carga e instala un paquete de aplicaciones en este sitio.

Este sitio debe habilitarse para desarrollo remoto.

Extremo

/loadandinstallapp

Parámetros

appPackageStream

Tipo: Stream
La secuencia de paquete de aplicación.

Método HTTP

POST

Respuesta

Tipo: SP.AppInstance
La instancia de aplicación.

Método LoadAndInstallAppInSpecifiedLocale

Carga e instala un paquete de aplicación en el sitio en una configuración regional especificada.

Extremo

/loadandinstallappinspecifiedlocale

Parámetros

appPackageStream

Tipo: Stream
La secuencia de paquete de aplicación.

installationLocaleLCID

Tipo: Int32
El LCID de la configuración regional para usar a la hora de crear la instancia de la aplicación.

HTTP method

POST

Respuesta

Tipo: SP.AppInstance
La instancia de aplicación.

Método LoadApp

Carga un paquete de aplicación y crea una instancia a partir de él.

Extremo

/loadapp

Parámetros

appPackageStream

Tipo: Stream
La secuencia de paquete de aplicación.

installationLocaleLCID

Tipo: Int32
El LCID de la configuración regional para usar a la hora de crear la instancia de la aplicación.

HTTP method

POST

Respuesta

Tipo: SP.AppInstance
La instancia de aplicación.

Método MapToIcon

Devuelve el nombre del archivo de imagen del icono que se usa para representar el archivo especificado.

Extremo

/maptoicon(filename, progid, size)

Parámetros

filename

Tipo: String
El nombre del archivo. Si este parámetro está vacío, el servidor devuelve una cadena vacía.

progid

Tipo: String
El ProgID de la aplicación que se usó para crear el archivo, en la forma OLEServerName.ObjectName (por ejemplo, Excel.Sheet o PowerPoint.Slide). Este es el identificador que el registro de Windows usa para identificar de forma exclusiva un objeto.

size

Tipo: Int32
El tamaño del icono: 16 x 16 píxeles = 0, 32 x 32 píxeles = 1.

HTTP method

GET

Respuesta

Tipo: String
El nombre del archivo de imagen del icono.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /maptoicon(filename='spectemplate.docx', progid='', size=0)",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Método ProcessExternalNotification

Procesa una notificación de un sistema externo.

Extremo

/processexternalnotification

Parámetros

stream

Tipo: Stream
El mensaje de notificación del sistema externo.

HTTP method

POST

Respuesta

Tipo: String
El estado de procesamiento: Success indica un procesamiento correcto, SubscriptionNotRequired indica que la suscripción ya no es necesaria y se puede eliminar de forma segura.

Método RegisterPushNotificationSubscriber

Registra al suscriptor para notificaciones de inserción a través del sitio. Si el registro ya existe, el token de servicio se actualiza con el nuevo valor.

Extremo

/registerpushnotificationsubscriber(deviceappinstanceid, servicetoken)

Parámetros

deviceappinstanceid

Tipo: GUID
El identificador de la instancia de la aplicación del dispositivo.

servicetoken

Tipo: String
El token proporcionado por el servicio de notificación en el dispositivo para recibir notificaciones.

HTTP method

POST

Respuesta

Tipo: SP.PushNotificationSubscriber
El suscriptor de notificaciones de inserción registrado.

Método ResetRoleInheritance

Restablece la herencia de roles para el objeto protegible y hereda asignaciones de roles del objeto protegible primario.

Extremo

/resetroleinheritance

Parámetros

Ninguna

HTTP method

POST

Respuesta

Ninguna

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web
    /resetroleinheritance",
  method: "POST",
  headers: { "X-RequestDigest": <form digest value> },
  success: successHandler,
  error: errorHandler
});

Método UnregisterPushNotificationSubscriber

Anula el registro del suscriptor para notificaciones de inserción del sitio.

Extremo

/unregisterpushnotificationsubscriber('<id. de instancia de aplicación de dispositivo>')

Parámetros

Tipo: GUID
El identificador de la instancia de la aplicación del dispositivo.

HTTP method

POST

Respuesta

Ninguna

Representación OData

El siguiente ejemplo representa un recurso Web en formato JSON.

    {"d":{
      "__metadata":{
        "id":"https://<site url>/_api/Web",
        "uri":"https://<site url>/_api/Web",
        "type":"SP.Web"
      },
      "FirstUniqueAncestorSecurableObject":{"__deferred":{"uri":"https://<site url>/_api/Web/FirstUniqueAncestorSecurableObject"}},
      "RoleAssignments":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleAssignments"}},
      "AllProperties":{"__deferred":{"uri":"https://<site url>/_api/Web/AllProperties"}},
      "AssociatedMemberGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedMemberGroup"}},
      "AssociatedOwnerGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedOwnerGroup"}},
      "AssociatedVisitorGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedVisitorGroup"}},
      "AvailableContentTypes":{"__deferred":{"uri":"https://<site url>/_api/Web/AvailableContentTypes"}},
      "AvailableFields":{"__deferred":{"uri":"https://<site url>/_api/Web/AvailableFields"}},
      "ContentTypes":{"__deferred":{"uri":"https://<site url>/_api/Web/ContentTypes"}},
      "CurrentUser":{"__deferred":{"uri":"https://<site url>/_api/Web/CurrentUser"}},
      "DescriptionResource":{"__deferred":{"uri":"https://<site url>/_api/Web/DescriptionResource"}},
      "EventReceivers":{"__deferred":{"uri":"https://<site url>/_api/Web/EventReceivers"}},
      "Features":{"__deferred":{"uri":"https://<site url>/_api/Web/Features"}},
      "Fields":{"__deferred":{"uri":"https://<site url>/_api/Web/Fields"}},
      "Folders":{"__deferred":{"uri":"https://<site url>/_api/Web/Folders"}},
      "Lists":{"__deferred":{"uri":"https://<site url>/_api/Web/Lists"}},
      "ListTemplates":{"__deferred":{"uri":"https://<site url>/_api/Web/ListTemplates"}},
      "Navigation":{"__deferred":{"uri":"https://<site url>/_api/Web/Navigation"}},
      "ParentWeb":{"__deferred":{"uri":"https://<site url>/_api/Web/ParentWeb"}},
      "PushNotificationSubscribers":{"__deferred":{"uri":"https://<site url>/_api/Web/PushNotificationSubscribers"}},
      "RecycleBin":{"__deferred":{"uri":"https://<site url>/_api/Web/RecycleBin"}},
      "RegionalSettings":{"__deferred":{"uri":"https://<site url>/_api/Web/RegionalSettings"}},
      "RoleDefinitions":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleDefinitions"}},
      "RootFolder":{"__deferred":{"uri":"https://<site url>/_api/Web/RootFolder"}},
      "SiteGroups":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups"}},
      "SiteUserInfoList":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteUserInfoList"}},
      "SiteUsers":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteUsers"}},
      "ThemeInfo":{"__deferred":{"uri":"https://<site url>/_api/Web/ThemeInfo"}},
      "TitleResource":{"__deferred":{"uri":"https://<site url>/_api/Web/TitleResource"}},
      "UserCustomActions":{"__deferred":{"uri":"https://<site url>/_api/Web/UserCustomActions"}},
      "Webs":{"__deferred":{"uri":"https://<site url>/_api/Web/Webs"}},
      "WebInfos":{"__deferred":{"uri":"https://<site url>/_api/Web/WebInfos"}},
      "WorkflowAssociations":{"__deferred":{"uri":"https://<site url>/_api/Web/WorkflowAssociations"}},
      "WorkflowTemplates":{"__deferred":{"uri":"https://<site url>/_api/Web/WorkflowTemplates"}},
      "AllowRssFeeds":true,
      "AppInstanceId":"d025f690-8281-4cb7-ab11-04793e232661",
      "Configuration":0,
      "Created":"2014-02-27T20:08:25",
      "CustomMasterUrl":"/_catalogs/masterpage/app.master",
      "Description":"",
      "DocumentLibraryCalloutOfficeWebAppPreviewersDisabled":false,
      "EnableMinimalDownload":false,
      "Id":"ba0bfd3d-ba13-4400-aacf-f60d56eecfbc",
      "Language":1033,
      "LastItemModifiedDate":"2014-02-27T20:08:28Z",
      "MasterUrl":"/_catalogs/masterpage/app.master",
      "QuickLaunchEnabled":true,
      "RecycleBinEnabled":true,
      "ServerRelativeUrl":"",
      "SyndicationEnabled":true,
      "Title":"ParseUm",
      "TreeViewEnabled":false,
      "UIVersion":15,
      "UIVersionConfigurationEnabled":false,
      "Url":"https://<site url>",
      "WebTemplate":"APP"
    }}

Recurso WebCollection

URI del extremo  |  Métodos  |  Representación OData

Representa una colección de sitios.

URI del extremo

http://<url del sitio>/_api/web/webs

Métodos HTTP compatibles

GET  |  POST

Ejemplos de solicitudes

Ejemplo de solicitud GET: obtener todos los subsitios de un sitio

$.ajax({
  url: "http://<site url>/_api/web/webs",
  type: "GET",
  headers: { "accept": "application/json;odata=verbose" },
  success: successHandler,
  error: errorHandler
});

Ejemplo de solicitud POST: crear un sitio web con el Método Add

$.ajax({
  url: "http://<site url>/_api/web/webs/add",
  type: "POST",
  data: "{ 'parameters': { '__metadata': { 'type': 'SP.WebCreationInformation' },
    'Title': 'Social Meetup', 'Url': 'social', 'WebTemplate': 'MPS#3',
    'UseSamePermissionsAsParentSite': true } }",
  headers: { 
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "content-length": <length of body data>
  },
  success: successHandler,
  error: errorHandler
});

O bien, puede utilizar el método Add del recurso WebInformationCollection, como se muestra en Creación de un sitio con REST.

Ejemplos

Métodos WebCollection

Add

Método Add

Agrega un sitio web nuevo a la colección.

Extremo

/add

Parámetros

parameters

Tipo: SP.WebCreationInformation
Las propiedades que definen el nuevo sitio. Envíe este parámetro en el cuerpo de la solicitud, como se muestra en el ejemplo de solicitud.

HTTP method

POST

Respuesta

Tipo: SP.Web
El nuevo sitio.

  Ejemplo de solicitud

$.ajax({
  url: "http://<site url>/_api/web/webs
    /add",
  type: "POST",
  data: "{ 'parameters': { '__metadata': { 'type': 'SP.WebCreationInformation' },
    'Title': 'Social Meetup', 'Url': 'social', 'WebTemplate': 'MPS#3',
    'UseSamePermissionsAsParentSite': true } }",
  headers: {
    "X-RequestDigest": <form digest value>,
    "accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "content-length": <length of body data>
  },
  success: successHandler,
  error: errorHandler
});

Use el método GetAvailableWebTemplates para obtener los nombres de las plantillas de sitio disponibles.

Representación OData

El siguiente ejemplo representa un recurso WebCollection en formato JSON.

    {"d":{
      "results":[{
          "__metadata":{
            "id":"https://<site url>/_api/Web",
            "uri":"https://<site url>/_api/Web",
            "type":"SP.Web"
          },
          "FirstUniqueAncestorSecurableObject":{"__deferred":{"uri":"https://<site url>/_api/Web/FirstUniqueAncestorSecurableObject"}},
          "RoleAssignments":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleAssignments"}},
          "AllProperties":{"__deferred":{"uri":"https://<site url>/_api/Web/AllProperties"}},
          "AssociatedMemberGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedMemberGroup"}},
          "AssociatedOwnerGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedOwnerGroup"}},
          "AssociatedVisitorGroup":{"__deferred":{"uri":"https://<site url>/_api/Web/AssociatedVisitorGroup"}},
          "AvailableContentTypes":{"__deferred":{"uri":"https://<site url>/_api/Web/AvailableContentTypes"}},
          "AvailableFields":{"__deferred":{"uri":"https://<site url>/_api/Web/AvailableFields"}},
          "ContentTypes":{"__deferred":{"uri":"https://<site url>/_api/Web/ContentTypes"}},
          "CurrentUser":{"__deferred":{"uri":"https://<site url>/_api/Web/CurrentUser"}},
          "DescriptionResource":{"__deferred":{"uri":"https://<site url>/_api/Web/DescriptionResource"}},
          "EventReceivers":{"__deferred":{"uri":"https://<site url>/_api/Web/EventReceivers"}},
          "Features":{"__deferred":{"uri":"https://<site url>/_api/Web/Features"}},
          "Fields":{"__deferred":{"uri":"https://<site url>/_api/Web/Fields"}},
          "Folders":{"__deferred":{"uri":"https://<site url>/_api/Web/Folders"}},
          "Lists":{"__deferred":{"uri":"https://<site url>/_api/Web/Lists"}},
          "ListTemplates":{"__deferred":{"uri":"https://<site url>/_api/Web/ListTemplates"}},
          "Navigation":{"__deferred":{"uri":"https://<site url>/_api/Web/Navigation"}},
          "ParentWeb":{"__deferred":{"uri":"https://<site url>/_api/Web/ParentWeb"}},
          "PushNotificationSubscribers":{"__deferred":{"uri":"https://<site url>/_api/Web/PushNotificationSubscribers"}},
          "RecycleBin":{"__deferred":{"uri":"https://<site url>/_api/Web/RecycleBin"}},
          "RegionalSettings":{"__deferred":{"uri":"https://<site url>/_api/Web/RegionalSettings"}},
          "RoleDefinitions":{"__deferred":{"uri":"https://<site url>/_api/Web/RoleDefinitions"}},
          "RootFolder":{"__deferred":{"uri":"https://<site url>/_api/Web/RootFolder"}},
          "SiteGroups":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteGroups"}},
          "SiteUserInfoList":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteUserInfoList"}},
          "SiteUsers":{"__deferred":{"uri":"https://<site url>/_api/Web/SiteUsers"}},
          "ThemeInfo":{"__deferred":{"uri":"https://<site url>/_api/Web/ThemeInfo"}},
          "TitleResource":{"__deferred":{"uri":"https://<site url>/_api/Web/TitleResource"}},
          "UserCustomActions":{"__deferred":{"uri":"https://<site url>/_api/Web/UserCustomActions"}},
          "Webs":{"__deferred":{"uri":"https://<site url>/_api/Web/Webs"}},
          "WebInfos":{"__deferred":{"uri":"https://<site url>/_api/Web/WebInfos"}},
          "WorkflowAssociations":{"__deferred":{"uri":"https://<site url>/_api/Web/WorkflowAssociations"}},
          "WorkflowTemplates":{"__deferred":{"uri":"https://<site url>/_api/Web/WorkflowTemplates"}},
          "AllowRssFeeds":true,
          "AppInstanceId":"9f85a4a6-3609-44d6-9427-e7a5f16ceeeb",
          "Configuration":0,
          "Created":"2013-10-03T19:45:27",
          "CustomMasterUrl":"/apppart/_catalogs/masterpage/app.master",
          "Description":"",
          "DocumentLibraryCalloutOfficeWebAppPreviewersDisabled":false,
          "EnableMinimalDownload":false,
          "Id":"2dbf86de-6538-4d1a-b4fe-2a8e9816d692",
          "Language":1033,
          "LastItemModifiedDate":"2013-10-03T19:45:30Z",
          "MasterUrl":"/apppart/_catalogs/masterpage/app.master",
          "QuickLaunchEnabled":true,
          "RecycleBinEnabled":true,
          "ServerRelativeUrl":"/apppart",
          "SyndicationEnabled":true,
          "Title":"apppart",
          "TreeViewEnabled":false,
          "UIVersion":15,
          "UIVersionConfigurationEnabled":false,
          "Url":"https://<site url>",
          "WebTemplate":"APP"
        },{
        "__metadata":{
          "id":"https://<site url>,
          "uri":"https://<site url>,
          "type":"SP.Web"
        },
          "FirstUniqueAncestorSecurableObject":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/FirstUniqueAncestorSecurableObject"}},
          "RoleAssignments":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/RoleAssignments"}},
          "AllProperties":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AllProperties"}},
          "AssociatedMemberGroup":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AssociatedMemberGroup"}},
          "AssociatedOwnerGroup":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AssociatedOwnerGroup"}},
          "AssociatedVisitorGroup":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AssociatedVisitorGroup"}},
          "AvailableContentTypes":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AvailableContentTypes"}},
          "AvailableFields":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/AvailableFields"}},
          "ContentTypes":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/ContentTypes"}},
          "CurrentUser":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/CurrentUser"}},
          "DescriptionResource":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/DescriptionResource"}},
          "EventReceivers":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/EventReceivers"}},
          "Features":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Features"}},
          "Fields":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Fields"}},
          "Folders":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Folders"}},
          "Lists":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Lists"}},
          "ListTemplates":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/ListTemplates"}},
          "Navigation":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Navigation"}},
          "ParentWeb":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/ParentWeb"}},
          "PushNotificationSubscribers":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/PushNotificationSubscribers"}},
          "RecycleBin":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/RecycleBin"}},
          "RegionalSettings":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/RegionalSettings"}},
          "RoleDefinitions":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/RoleDefinitions"}},
          "RootFolder":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/RootFolder"}},
          "SiteGroups":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/SiteGroups"}},
          "SiteUserInfoList":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/SiteUserInfoList"}},
          "SiteUsers":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/SiteUsers"}},
          "ThemeInfo":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/ThemeInfo"}},
          "TitleResource":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/TitleResource"}},
          "UserCustomActions":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/UserCustomActions"}},
          "Webs":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/Webs"}},
          "WebInfos":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/WebInfos"}},
          "WorkflowAssociations":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/WorkflowAssociations"}},
          "WorkflowTemplates":{"__deferred":{"uri":"https://<site url>/TeamProjects/_api/Web/WorkflowTemplates"}},
          "AllowRssFeeds":true,
          "AppInstanceId":"00000000-0000-0000-0000-000000000000",
          "Configuration":0,
          "Created":"2014-02-28T21:41:11",
          "CustomMasterUrl":"/TeamProjects/_catalogs/masterpage/seattle.master",
          "Description":"",
          "DocumentLibraryCalloutOfficeWebAppPreviewersDisabled":false,
          "EnableMinimalDownload":true,
          "Id":"3a37226d-8f0b-41bd-a720-6f63fd1e2abb",
          "Language":1033,
          "LastItemModifiedDate":"2014-02-28T21:41:23Z",
          "MasterUrl":"/TeamProjects/_catalogs/masterpage/seattle.master",
          "QuickLaunchEnabled":true,
          "RecycleBinEnabled":true,
          "ServerRelativeUrl":"/TeamProjects",
          "SyndicationEnabled":true,
          "Title":"Team projects",
          "TreeViewEnabled":false,
          "UIVersion":15,
          "UIVersionConfigurationEnabled":false,
          "Url":"https://<site url>/TeamProjects",
          "WebTemplate":"STS"
        },{
          ...
        }
      }]
    }}

Recursos adicionales