Basic CRUD operations in Project Add-ins using the REST APIs


Use the Project REST endpoints to perform create, read, update, and delete operations onprojects from a Project Add-in.

Applies to

  • Project Online and on-premise Project 2013 and later


As a Project/Program/Portfolio portfolio manager, I would like to use an app that displays the projects and allows me create, update and delete projects.

Using App

  1. Update the PWA site in the Project-Add-in-REST-OData-BasicDataOperations Project
  2. Update the login/password to your PWA site.
  3. Run the app


To use this code sample, you need the following:

  • PWA Site (Project Online, Project Server 2013 or Project Server 2016)
  • Visual Studio 2013 or later

How the sample affects your tenant data

This sample runs CSOM methods that create, edit the project name and delete projects in the PWA instance for the specified user.

Additional resources

Copyright (c) 2016 Microsoft. All rights reserved.


This sample requires the following:

Description of the code

The code that uses the REST APIs is located in the Default.aspx.cs file of the SharePoint-Add-in-REST-OData-BasicDataOperationsWeb project. The Default.aspx page of the add-in appears after you install and launch the add-in and looks similar to the following.

The add-in start page with a table listing all the list on the site by name and ID.

The sample demonstrates the following:

  • How to read and write data to and from a SharePoint host web. This data conforms with the OData protocol to the REST endpoints where the list and list item entities are exposed.

  • How to parse Atom-formatted XML returned from these endpoints and how to construct JSON-formatted representations of the list and list item entities so that you can perform Create and Update operations on them.

  • Best practices for retrieving form digest and eTag values that are required for Create and Update operations on lists and list items.

To use the sample

  1. Open Visual Studio as an administrator.
  2. Open the .sln file.
  3. In Solution Explorer, highlight the SharePoint add-in project and replace the Site URL property with the URL of your SharePoint developer site.
  4. Press F5.
  5. After the add-in installs, the consent page opens. Click Trust It.
  6. Enter a string in the text box beside the Add List button and click the button. In a moment, the page refreshes and the new list is in the table.
  7. Click the ID of the list, and then click Retrieve List Items. There will initially be no items on the list. Some additional buttons will appear.
  8. Add a string to the text box beside the Add Item button and press the button. The new item will appear in the table in the row for the list.
  9. Add a string to the text box beside the Change List Title button and press the button. The title will change in the table.
  10. Press the Delete the List button and the list is deleted.

Do not delete any of the built-in SharePoint lists. If you mistakenly do so, recover the list from the SharePoint Recycle Bin.


Problem Solution
Visual Studio does not open the browser after you press the F5 key. Set the SharePoint Add-in project as the startup project.
HTTP error 405 Method not allowed. Locate the applicationhost.config file in %userprofile%\Documents\IISExpress\config.

Locate the handler entry for StaticFile, and add the verbs GET, HEAD, POST, DEBUG, and TRACE.

Questions and comments

We'd love to get your feedback on this sample. You can send your questions and suggestions to us in the Issues section of this repository.

Additional resources

Get to know the SharePoint 2013 REST service.

Open Data Protocol

OData: JavaScript Object Notation (JSON) Format

OData: AtomPub Format.

Copyright (c) Microsoft. All rights reserved.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact with any additional questions or comments.