This article describes accessing the objects present on the Office 365 project web app site collection using REST API.
PWA abbreviated as Project Web App, is available on Office 365, and it used for easily and efficiently planning projects, track status, and collaborate with other virtually. It is an application built on top of SharePoint, which has collaborating features. Any PWA site collection will have the project web app settings feature enabled on the site collection. To know more about PWA, refer to the official documentation available on the MSDN site.
Let us see the high level REST API (service end points), which can be used for accessing objects available on Office 365 PWA site collections.
Note: Replace the Office 365 PWA url with your respective URL.
To access the project server and list of available objects, https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer
The REST APIs used for accessing objects available on the project servers are explained below.
Custom Fields:
The enterprise custom fields are created on the project plans for managing additional project attributes. The custom field can be at project or task level. The following API is used to access all the enterprise custom fields. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/CustomFields
One specific field can be accessed using the field GUID: https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/CustomFields('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
The lookup tables associated to the custom fields can be accessed using the following REST API. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/CustomFields('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/LookupTable
The lookup table entries associated to the custom fields can be accessed by the following REST API. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/CustomFields('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/LookupEntries
Lookup Tables:
These enterprise custom lookup tables are associated with the enterprise custom fields on project web apps. Any field can have lookup tables for easily accessing the data. The lookup tables are accessed using the REST API, https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/LookupTables
The specific lookup table can be accessed by using its GUID. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/LookupTables('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
The lookup table associated to a custom field can be accessed by any of the following APIs. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/LookupTables('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/CustomFields('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/LookupTable
The lookup table entries can be accessed by https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/LookupTables('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/entries
Project Types:
To get the enterprise project types. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseProjectTypes
The specific project type is accessed with the help of GUID. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseProjectTypes('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
The project detail pages within the project types are access by, https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseProjectTypes('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/ProjectDetailPages
Resources:
To get the enterprise resources. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseResources
The specific resource is accessed with the help of GUID. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseResources('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Under any specific resource, the objects like assignments, basecalendars, customfields, engagements, userpermissions, etc present. All these objects have relative REST API, which are listed in the above URL.
Entity Types:
To get the project server entity types. There are four entity types, and they are assignment, project, resource and task. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/EntityTypes
The four entity types are accessed by,
Assignment Entity: /_api/ProjectServer/EntityTypes/AssignmentEntity
Project Entity: /_api/ProjectServer/EntityTypes/ProjectEntity
Resource Entity: /_api/ProjectServer/EntityTypes/ResourceEntity
Task Entity: /_api/ProjectServer/EntityTypes/TaskEntity
Projects:
The projects available on the PWA can be accessed by, https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/Projects
Any project and project information can be accessed with GUID. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
The other major properties of the project are accessed using REST APIs.
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/CheckedOutBy
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/CustomFields
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Engagements
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/EnterpriseProjectType
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/UserPermissions
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Phase
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/ProjectSummaryTask
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/QueueJobs
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Stage
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Assignments
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Calendar
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Draft
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/EntityLinks
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/IncludeCustomFields
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/TaskLinks
/_api/ProjectServer/Projects('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/Tasks
Project Detail Pages:
These pages are used to create, edit, and view the projects available on PWA. To get the project detail pages: https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/ProjectDetailPages
Calendars:
To get the list of calendars available on the PWA: https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/Calendars
The specific calendar can be accessed with the help of its GUID. https://nakkeerann.sharepoint.com/sites/pwa/_api/ProjectServer/Calendars('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Comments