CRUD Operations using REST API in SharePoint Online/2013/2010

  1. Hello folks, in this tutorial we are going to perform CRUD (Create, Read, Update and Delete) operations using REST API in SharePoint.

Learn how to perform CRUD (Create, Read, Update and Delete) operations using REST API in SharePoint List. You can use it for SharePoint Online, 2010, 2013 and 2016.
.

Create SharePoint list Item using REST API Read SharePoint list Item using REST API Update SharePoint list Item using REST API Delete SharePoint list Item using REST API

Setup required

We are using a SharePoint custom list named “EmployeeDetails” with below columns:

Column Name Type
EmloyeeName (internal name is Title) Single line of text
Address Multiple lines of text
Country Choice (India, US, UK)
Age Number
Salary Currency
DateOfBirth Date and Time
IsEmployeeMarried Checkbox
ManagerName Person or group
ProfileUrl Hyperlink

Download: You can download the template of this SharePoint list here.

Create Item:

//Create a SharePoint List Item using REST Api

function createItem() {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('EmployeeDetails')/Items",
        type: 'POST',
        headers: {
            "Accept": "application/json;odata=verbose",
            "Content-Type": "application/json;odata=verbose",
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),
            "X-HTTP-Method": "POST"
        },
        data: JSON.stringify({
            __metadata: {
                type: "SP.Data.EmployeeDetailsListItem"
            },
            Title: "Mayuresh Dinkar Joshi",
            Address: "ABC Center, Near Sdftji Dfrtg 123123 Test",
            Country: 'India',
            Age: 25,
            Salary: 1000,
            DateOfBirth: "1993-09-21T07:00:00Z",
            IsEmployeeMarried: true,
            ManagerNameId: 16, //internalName is 'ManagerName' but we have to use 'ManagerNameId' to pass id of a person
            ProfileUrl: {
                __metadata: {
                    "type": "SP.FieldUrlValue"
                },
                Url: "http://test.com",
                Description: "Url Description"
            },
        }),
        success: function(data) {
            alert('Item created successfully!');
        },
        error: function(error) {
            alert(JSON.stringify(error));
        }
    });
}

Read Item:

//Read a SharePoint List Item using REST Api

function readItem() {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('EmployeeDetails')/Items(1)",
        type: 'GET',
        headers: {
            "accept": "application/json;odata=verbose",
        },
        success: function(data) {
            console.log(data.d);
            alert(" First name: " + data.d.Title +
                "\n Address: " + data.d.Address +
                "\n Country: " + data.d.Country +
                "\n Age: " + data.d.Age +
                "\n Salary: " + data.d.Salary +
                "\n DateOfBirth: " + data.d.DateOfBirth +
                "\n IsEmployeeMarried: " + data.d.IsEmployeeMarried +
                "\n ManagerName: " + data.d.ManagerNameId +
                "\n ProfileUrl: " + data.d.ProfileUrl.Url);
        },
        error: function(error) {
            alert(JSON.stringify(error));
        }
    });
}

Update Item

//Update a SharePoint List Item using REST Api

function updateItem() {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('EmployeeDetails')/Items(1)",
        type: "PATCH",
        headers: {
            "Accept": "application/json;odata=verbose",
            "Content-Type": "application/json;odata=verbose",
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),
            "IF-MATCH": "*",
            "X-HTTP-Method": "MERGE"
        },
        data: JSON.stringify({
            __metadata: {
                type: "SP.Data.EmployeeDetailsListItem"
            },
            Title: "updated Mayuresh Dinkar Joshi",
            Address: "updated ABC Center, Near Sdftji Dfrtg 123123 Test",
            Country: 'US',
            Age: 26,
            Salary: 2000,
            DateOfBirth: "1993-09-22T07:00:00Z",
            IsEmployeeMarried: false,
            ManagerNameId: 16, //internalName is 'ManagerName' but we have to use 'ManagerNameId' to pass id of a person
            ProfileUrl: {
                __metadata: {
                    "type": "SP.FieldUrlValue"
                },
                Url: "http://test1.com",
                Description: "updated Url Description"
            },
        }),
        success: function(data) {
            alert('Item updated successfully!');
        },
        error: function(error) {
            alert(JSON.stringify(error));
        }
    })
}

Delete Item

//Delete a SharePoint List Item using REST Api

function deleteItem() {
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('EmployeeDetails')/Items(1)",
        type: 'DELETE',
        headers: {
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),
            "IF-MATCH": "*",
            "X-HTTP-Method": "DELETE"
        },
        success: function(data) {
            alert('Item deleted');
        },
        error: function(error) {
            alert(JSON.stringify(error));
        }
    })
}

 

 

One thought on “CRUD Operations using REST API in SharePoint Online/2013/2010”

  1. Thanks for these scripts.It helped me to understand CRUD operations coding in an easy way. Thank You.

Leave a Reply

Your email address will not be published. Required fields are marked *