Latest Posts

Create Sub Site in SharePoint using REST API

The example in this topic show how to use REST API to Create Sub Site in SharePoint
  • REST-API is based on OData (Open Data) Protocol and hence it doesn't require any dll or JS library to run the commands on the SharePoint objects.
  • REST-API calls require proper end-point URL and proper Header implementation in your REST call.

How to use SharePoint REST API?

  • Note: This is just a sample, you can go ahead with your implementation.
  • You can also use this method in your SPFx Component.
  • Open your Site. Create a webpart page.
  • Put a Content Editor Web part and a Script Editor Web part on it.
  • Webpart page content editor and scipt editor
  • I have added below Html in Content Editor webpart. You can replace MainFunction with your actual method name.

    <button onclick="MainFunction();" type="button">Click me​</button>

  • And below references in Script Editor Webpart. ScriptFile.js is a JavaScript file where you can keep below function i.e. your actual logic.

    <script src="https://MyServer/sites/SiteCollection/style library/js/ScriptFile.js"></script>

  • Once you are done with setting your page, click on the button and your method should get executed.

  • function CreateSubSite()
  • {
  •        // _spPageContextInfo.webAbsoluteUrl - will give absolute URL of the site where you are running the code.
  •        // You can replace this with other site URL where you want to apply the function
  •        $.ajax 
  •     ({   
  •         url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/webinfos/add",
  •         type: "POST",   
  •         data: JSON.stringify({
  •                      'parameters': {
  •                    "__metadata": { "type": "SP.WebInfoCreationInformation" },
  •                     // This is relative URL of the url provided in context
  •                     'Url': 'NewSubSite',  
  •                        'Description': 'NewSubSite description'
  •                        'Title': 'NewSubSite Site'
  •                        'Language': 1033, 
  •                        // "STS#0" is the code for 'Team Site' template
  •                        'WebTemplate': 'STS#0'
  •                        // This will inherit permission from parent site
  •                        'UseUniquePermissions': true   
  •                        }           
  •                   }),
  •         headers:
  •         {
  •             // Accept header: Specifies the format for response data from the server.
  •             "Accept": "application/json;odata=verbose",
  •             //Content-Type header: Specifies the format of the data that the client is sending to the server
  •             "Content-Type": "application/json;odata=verbose",
  •             // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header
  •             "X-RequestDigest": $("#__REQUESTDIGEST").val()
  •         },   
  •         success: function(data){   
  •             console.log("Success");            
  •         },   
  •         error: function (xhr, status, error)
  •         {
  •               console.log("Failed");
  •            }  
  •     });
  • }

Thank you for reading this article. This code was tested in SharePoint 2013

We value your Feedback:

Page URL:




© 2023 Code SharePoint