All REST Endpoints

Activity

The Activity service enables you to manage aspects of a project related to an activity. An activity is a unit of work performed during the course of a project. Activities have the following characteristics:

  • They can be subdivided into activity steps
  • They often have activity expenses and resource assignments associated with them
  • They have a parent WBS (Note: Activities assigned to the root WBS are considered to be assigned to the project itself.)
  • They can have user defined fields (UDFs) and codes assigned to them. To assign UDFs and activity codes to an activity, use the UDFValue and ActivityCodeAssignment services, respectively.
Create Activities
Method: post
Path: /activity
Delete Activities
Method: delete
Path: /activity
Read Activities
Method: get
Path: /activity
Update Activities
Method: put
Path: /activity
View Activity Field Length
Method: get
Path: /activity/getFieldLength/{fieldName}
View Activity fields
Method: get
Path: /activity/fields
ActivityCode

Activity codes are user-defined codes to classify and categorize activities according to the organization's and project's needs. They can be defined by project as well as globally across all projects. Activity codes are hierarchical objects.

For example, if your organization has more than one location, you can create a Location code type with values such as New York, Los Angeles, and Chicago. You can then associate activities with a specific location, such as New York.

You can define three types of activity codes, global activity codes, EPS activity codes, and project activity codes. You can assign global activity codes and values to activities in all projects. You can assign EPS activity codes and values to activities only in projects in the EPS for which the codes were created. You can assign project activity codes and values to activities only in the project for which the codes were created. Each activity code can have an unlimited number of values.

Create ActivityCodes
Method: post
Path: /activityCode
Delete ActivityCodes
Method: delete
Path: /activityCode
Read ActivityCodes
Method: get
Path: /activityCode
Update ActivityCodes
Method: put
Path: /activityCode
View Activity fields
Method: get
Path: /activityCode/fields
View ActivityCode Field Length
Method: get
Path: /activityCode/getFieldLength/{fieldName}
ActivityCodeAssignment

An activity code assignment business object represents the assignment of an activity code to an activity. For each activity code type, an activity may have zero or one activity codes assigned.

Note that this business object has a multi-part object ID; its object ID is a combination of its activity object ID and its activity code object ID.

Create ActivityCodeAssignments
Method: post
Path: /activityCodeAssignment
Delete ActivityCodeAssignments
Method: delete
Path: /activityCodeAssignment
Read ActivityCodeAssignments
Method: get
Path: /activityCodeAssignment
Update ActivityCodeAssignments
Method: put
Path: /activityCodeAssignment
View ActivityCodeAssignment Field Length
Method: get
Path: /activityCodeAssignment/getFieldLength/{fieldName}
View ActivityCodeAssignment fields
Method: get
Path: /activityCodeAssignment/fields
ActivityCodeType

Activity code types provide a way of classifying activity codes. Activity codes are user-defined codes to classify and categorize activities according to the organization's and project's needs. For example, if your organization has more than one location, you can create a Location code type with values such as New York, Los Angeles, and Chicago. You can then associate activities with a specific location, such as New York. You can define activity codes at three different scopes: global activity codes, EPS activity codes, and project activity codes. You can assign global activity codes and values to activities in all projects. You can assign EPS and project activity codes and values to activities only in the EPS and project for which the codes were created. Each ActivityCode can have an unlimited number of values. You can change the scope of an ActivityCodeType from project to EPS, project to Global, and EPS to global. However, you cannot change the scope from EPS to project or from global to anything else. Within the EPS scope, you can always move an ActivityCodeType to a higher level in the EPS structure. However, moving it to a lower level or outside of the EPS hierarchy is possible only if the ActivityCodeType's values are not assigned to any activities. If the ActivityCodeType value assignment exists, an exception will be thrown.

Create ActivitiyCodeTypes
Method: post
Path: /activityCodeType
Delete ActivitiyCodeTypes
Method: delete
Path: /activityCodeType
Read ActivityCodeTypes
Method: get
Path: /activityCodeType
Update ActivitiyCodeTypes
Method: put
Path: /activityCodeType
View ActivitiyCodeType Field Length
Method: get
Path: /activityCodeType/getFieldLength/{fieldName}
View ActivitiyCodeType fields
Method: get
Path: /activityCodeType/fields
ActivityComment

An activity comment business object represents a comment made on an activity.

Create ActivityComments
Method: post
Path: /activityComment
Read ActivityComments
Method: get
Path: /activityComment
Update ActivityComments
Method: put
Path: /activityComment
View ActivityComment Field Length
Method: get
Path: /activityComment/getFieldLength/{fieldName}
View ActivityComment fields
Method: get
Path: /activityComment/fields
ActivityExpense

Activity expenses are non-resource costs associated with a project and assigned to a project's activities. They are typically one-time expenditures for non-reusable items. Examples of expenses include materials, facilities, travel, overhead, and training.

You can categorize expenses, indicate a unit of measure for expenses, and specify whether an expense accrues at the start or end of an activity or uniformly over its duration. Each expense has a planned cost, actual cost, and estimated remaining cost.

Expenses are not the same as resources. Resources are time-based and generally extend across multiple activities and/or multiple projects. Examples of resources are personnel and equipment. Unlike resources, expenses are project-specific and they are not time-based. Expenses are not included when resources are leveled.

The ActivityExpense service supports user defined fields (UDFs). To assign UDFs to an activity expense, use the UDFValue service.

Create ActivityExpenses
Method: post
Path: /activityExpense
Delete ActivityExpenses
Method: delete
Path: /activityExpense
Read ActivityExpenses
Method: get
Path: /activityExpense
Update ActivityExpenses
Method: put
Path: /activityExpense
View ActivityExpense Field Length
Method: get
Path: /activityExpense/getFieldLength/{fieldName}
View ActivityExpense fields
Method: get
Path: /activityExpense/fields
ActivityFilter

An activity filter business object represents a filter made for an activity.

Create ActivityFilters
Method: post
Path: /activityFilter
Deletes ActivityFilters
Method: delete
Path: /activityFilter
Read ActivityFilters
Method: get
Path: /activityFilter
Update ActivityFilters
Method: put
Path: /activityFilter
View ActivityFilter Field Length
Method: get
Path: /activityFilter/getFieldLength/{fieldName}
View ActivityFilter fields
Method: get
Path: /activityFilter/fields
ActivityNote

Use activity notes to specify one or more notes for an activity. You can specify one note on each activity for every notebook topic that exists. Notes can only be set as HTML.

Create ActivityNotes
Method: post
Path: /activityNote
Delete ActivityNotes
Method: delete
Path: /activityNote
Read ActivityNotes
Method: get
Path: /activityNote
Update ActivityNotes
Method: put
Path: /activityNote
View ActivityNote Field Length
Method: get
Path: /activityNote/getFieldLength/{fieldName}
View ActivityNote fields
Method: get
Path: /activityNote/fields
ActivityOwner

Activity owner objects provide a way to specify a user to be in charge of an activity for statusing in P6. Instead of assigning resources to activities, a user is able to assign a specific user to the activity. The activity owner, in conjunction with Contributor module access, gives users similar capabilities as a resource with Contributor module access.

Note that this business object has a multi-part object ID; its object ID is a combination of its activity object ID and its user object ID.

Create ActivityOwners
Method: post
Path: /activityOwner
Delete ActivityOwners
Method: delete
Path: /activityOwner
Read ActivityOwners
Method: get
Path: /activityOwner
Update ActivityOwners
Method: put
Path: /activityOwner
View ActivityOwner Field Length
Method: get
Path: /activityOwner/getFieldLength/{fieldName}
View ActivityOwner fields
Method: get
Path: /activityOwner/fields
ActivityPeriodActual

Activity period actuals represent the actual values on an activity during a financial period.

The following rules apply to activity period actuals:

  • They can be tracked only for in-progress or completed activities.
  • Negative values are allowed.
  • If both units and costs are simultaneously updated on a period actual instance, units are the driving value.
  • There is no relation between the units and costs on a period actual instance.
  • They must have at least one non-zero field value for a corresponding database record to exist.
  • Costs can be calculated only when a project default price per unit is defined.
  • Values for a particular resource type (labor, nonlabor, material) can be tracked at the activity level only if the activity has no resource assignments of the same type. If resource assignments exist, activity period actuals are derived from those assignments and cannot be edited.
  • If assignments exist, activity period actual values (labor, non labor, material) are calculated from resource assignments of the corresponding type.
  • For material resources, only ActualMaterialCost can be tracked.

Note that this business object has a multi-part object ID, which is a combination of its financial period object ID and its activity object ID.

Create ActivityPeriodActuals
Method: post
Path: /activityPeriodActual
Delete ActivityPeriodActuals
Method: delete
Path: /activityPeriodActual
Reads ActivityPeriodActuals.
Method: get
Path: /activityPeriodActual
Update ActivityPeriodActuals
Method: put
Path: /activityPeriodActual
View ActivityPeriodActuals Field Length
Method: get
Path: /activityPeriodActual/getFieldLength/{fieldName}
View ActivityPeriodActuals fields
Method: get
Path: /activityPeriodActual/fields
ActivityRisk

The activity risk object stores the relationship between a single Activity and a single Risk.

Note that this business object has a multi-part object ID; its object ID is a combination of its activity object ID and its risk object ID.

Create ActivityRisk
Method: post
Path: /activityRisk
Delete ActivityRisk
Method: delete
Path: /activityRisk
Reads ActivityRisks.
Method: get
Path: /activityRisk
View ActivityRisk Field Length
Method: get
Path: /activityRisk/getFieldLength/{fieldName}
View ActivityRisk fields
Method: get
Path: /activityRisk/fields
ActivityStep

Activity steps provide a way to break activities down into smaller units and track the completion of those units. For example, the activity Prepare for System Integration and Testing might contain the following steps:

  • Establish test cases and test procedures
  • Create test data
  • Update SDFs

You can add as many steps to an activity as you need: some activities will require more steps to complete than others and some activities may require no additional steps at all. If progress occurs on the step, enter a percent complete or set the IsCompleted flag if the step is 100% complete. You can also assign additional information to steps, such as cost, start and finish dates, and text.

Weighted steps

Weighted steps enable you to track the progress of an activity based on the number of steps completed. When activity percent complete is specified to be based on activity steps, and physical is chosen as the activity's percent complete type, activity percent complete is updated based on the weight you assign to each activity step.

For example, in the activity Prepare for System Integration and Testing mentioned above, the steps are assigned weights of 3.0, 2.0, and 1.0 respectively. When you specify the step Establish Test Cases and Test Procedures to be complete, the activity's physical percent complete is updated to 50 percent (because the total weight for the steps in this activity is 6.0 and the weight for this step is 3.0; therefore, half the work on this activity, according to the weight of the steps, has been completed).

The ActivityStep service supports user defined fields (UDFs). Use the UDFValue service to assign UDFs.

Create ActivitySteps
Method: post
Path: /activityStep
Delete ActivitySteps
Method: delete
Path: /activityStep
Read ActivitySteps
Method: get
Path: /activityStep
Update ActivitySteps
Method: put
Path: /activityStep
View ActivityStep Field Length
Method: get
Path: /activityStep/getFieldLength/{fieldName}
View ActivityStep fields
Method: get
Path: /activityStep/fields
ActivityStepTemplate

Activity step templates enable you to define a group of steps common to multiple activities, and then assign the template to activities. Your organization may have several activities that repeat within a project or across projects. For example, every time you start a project, several specifications must be written and approved. Developing a specification is a multi-step process that never changes.

As an example, the "Write Specifications" activity could have the following steps:

  • Submit initial spec
  • Review initial spec
  • Revise initial spec
  • CFinal review
  • Final revision

These steps may apply to many or all "Write Specifications" activities in a project or across all projects. Rather than manually inputting these steps into each "Write Specifications" activity, you can create an activity step template containing these steps and assign the template to each applicable activity at once. One activity step template may contain several activity steps. Each activity template step is represented by the ActivityStepTemplateItem business object.

This is a read-only business object.

Create ActivityStepTemplates
Method: post
Path: /activityStepTemplate
Delete ActivityStepTemplates
Method: delete
Path: /activityStepTemplate
Read ActivityStepTemplates
Method: get
Path: /activityStepTemplate
Update ActivityStepTemplates
Method: put
Path: /activityStepTemplate
View ActivityStepTemplate Field Length
Method: get
Path: /activityStepTemplate/getFieldLength/{fieldName}
View ActivityStepTemplate fields
Method: get
Path: /activityStepTemplate/fields
ActivityStepTemplateItem

An activity step template item is one of the defined steps in the associated activity template. See the ActivityStepTemplate Service for more information about activity step templates. This is a read-only service.

The ActivityStepTemplateItem service supports user defined fields (UDFs). Use the UDFValue Service to read the associated UDF assignments.

Create ActivityStepTemplateItems
Method: post
Path: /activityStepTemplateItem
Delete ActivityStepTemplateItems
Method: delete
Path: /activityStepTemplateItem
Read ActivityStepTemplateItems
Method: get
Path: /activityStepTemplateItem
Update ActivityStepTemplateItems
Method: put
Path: /activityStepTemplateItem
View ActivityStepTemplateItem Field Length
Method: get
Path: /activityStepTemplateItem/getFieldLength/{fieldName}
View ActivityStepTemplateItem fields
Method: get
Path: /activityStepTemplateItem/fields
BaselineProject

A baseline is a complete copy of a project plan that you can compare to the current schedule to evaluate progress. Baselines can be used to perform cost and schedule analysis. Before you update a schedule for the first time, you should create a baseline plan in the Project Management application.

The simplest baseline plan is a complete copy, or snapshot, of the original schedule. This snapshot provides a target against which you can track a project's cost, schedule, and performance. When you create a baseline, you can save a copy of the current project to use as the baseline or you can choose to convert another project in the EPS hierarchy to a baseline for the current project.

You can save an unlimited number of baselines per project; however, the number of baselines you can actually save per project is determined by administrative preference settings, which are typically controlled by the project controls coordinator or administrator. Regardless of the number of baselines you save for a project, at any given time you can select only up to three baselines for comparison purposes. The Baselines feature includes an option for you to specify which baselines you want to use for comparison. You must select a primary baseline. The primary baseline is used for project/activity usage spreadsheets and profiles, as well as earned value calculations. Second and third baselines are not required.

BaselineProjects may not be directly summarized by the summarizer job service. Baseline projects will have summary data if the summarizer job service was used to summarize the project that was used to create the baseline before the baseline was created. The StartDate and FinishDate fields are based on summary data.

This business object supports user defined fields (UDFs) and codes. Use the UDFValue business object to assign UDFs, and the ProjectCodeAssignment business object to assign ProjectCodes

Create BaselineProjects
Method: post
Path: /baselineProject
Delete BaselineProjects
Method: delete
Path: /baselineProject
Read BaselineProjects
Method: get
Path: /baselineProject
Update BaselineProjects
Method: put
Path: /baselineProject
View BaselineProject Field Length
Method: get
Path: /baselineProject/getFieldLength/{fieldName}
View BaselineProject fields
Method: get
Path: /baselineProject/fields
BaselineType

Since the large number of baselines per project could be challenging to maintain, baseline types are introduced to help categorize, or track, multiple baselines for a single project. By assigning a type to a baseline that reflects its purpose, baseline types help you to maintain or track a large number of baselines in a project. For example, you could use the baseline types 'initial planning', 'what-if', and 'midproject' to organize a project's baselines. The BaselineType service enables you to create new baseline types or maintain (update, delete) existing ones. The BaselineType Service also allows you to load multiple associated BaselineProject objects from the database.

Create BaselineTypes
Method: post
Path: /baselineType
Delete BaselineTypes
Method: delete
Path: /baselineType
Read BaselineTypes
Method: get
Path: /baselineType
Update BaselineTypes
Method: put
Path: /baselineType
View BaselineType Field Length
Method: get
Path: /baselineType/getFieldLength/{fieldName}
View BaselineType fields
Method: get
Path: /baselineType/fields
CBS

You can use Primavera Unifier to perform advanced cost, cash flow and earned value analysis on your P6 projects.

If your P6 deployment is integrated with Primavera Unifier, you can send P6 data to Primavera Unifier and import some data from Primavera Unifier back into P6. Once the link between a P6 project and a Primavera Unifier project and schedule sheet or summary sheet is set up, P6 will retrieve the Cost Breakdown Structure (CBS) from the Primavera Unifier project regularly.

Create CBSs
Method: post
Path: /cbs
Delete CBSs
Method: delete
Path: /cbs
Read CBSs
Method: get
Path: /cbs
Update CBSs
Method: put
Path: /cbs
View CBS Field Length
Method: get
Path: /cbs/getFieldLength/{fieldName}
View CBS fields
Method: get
Path: /cbs/fields
CBSDurationSummary

Provides a summary of the actual, planned, and remaining: duration, finish date, start date, and percent complete for an activity in a CBS.

Create CBSDurationSummarys
Method: post
Path: /cbsDurationSummary
Delete CBSDurationSummarys
Method: delete
Path: /cbsDurationSummary
Read CBSDurationSummarys
Method: get
Path: /cbsDurationSummary
Update CBSDurationSummarys
Method: put
Path: /cbsDurationSummary
View CBSDurationSummary Field Length
Method: get
Path: /cbsDurationSummary/getFieldLength/{fieldName}
View CBSDurationSummary fields
Method: get
Path: /cbsDurationSummary/fields
Calendar

Calendars defined the available work hours in each calendar day. Three types exist: global, resource, and project. Either resource or global calendars can be assigned to resources, and either global or project calendars can be assigned to activities.

You can specify national holidays, your organization's holidays, project-specific work/nonworkdays, and resource vacation days. Calendar assignments are used for activity scheduling, tracking, and resource leveling. Whether an activity uses its assigned calendar or the calendar of an assigned resource depends on the activity type you specify.

You can link resource and project calendars to global calendars. Then, if you make changes to a global calendar, your changes apply to all resource and project calendars that are linked to the modified global calendar.

Copy Calendar
Method: post
Path: /calendar/copyCalendar
Create Calendars
Method: post
Path: /calendar
Delete Calendars
Method: delete
Path: /calendar
Load Calendar DetailedWorkHours
Method: get
Path: /calendar/detailedWorkHours
Load Calendar HolidayExceptionDates
Method: get
Path: /calendar/holidayExceptionDates
Load Calendar StandardDetailedWorkHours
Method: get
Path: /calendar/standardDetailedWorkHours
Load Calendar StandardTotalWorkHours
Method: get
Path: /calendar/standardTotalWorkHours
Load Calendar TotalWorkHours
Method: get
Path: /calendar/totalWorkHours
Read Calendars
Method: get
Path: /calendar
Update Calendars
Method: put
Path: /calendar
Update DetailedWorkHours of Calendar
Method: put
Path: /calendar/detailedWorkHours
Update StandardDetailedWorkHours of Calendar
Method: put
Path: /calendar/standardDetailedWorkHours
View Calendar Field Length
Method: get
Path: /calendar/getFieldLength/{fieldName}
View Calendar fields
Method: get
Path: /calendar/fields
CostAccount

Cost accounts contain the organization's cost account IDs. Available across all projects, they support tracking of costs and earned value based on the organization's cost account IDs. Cost accounts are hierarchical objects.

You can specify a project's default cost account. This cost account is used for resource assignments to activities and project expenses in the open project.

Create CostAccount
Method: post
Path: /costAccount
Delete CostAccount
Method: delete
Path: /costAccount
Read CostAccount
Method: get
Path: /costAccount
Update CostAccount
Method: put
Path: /costAccount
View CostAccount Field Length
Method: get
Path: /costAccount/getFieldLength/{fieldName}
View CostAccount fields
Method: get
Path: /costAccount/fields
Currency

Currencies allow you to specify the types of currencies you want to use for costs. A currency type is set for every database. The user is able to specify the currency, its symbol, decimal symbol, number of decimal places, the positive and negative currency format and the digit grouping symbol.

Create Currencies
Method: post
Path: /currency
Delete Currencies
Method: delete
Path: /currency
Read Currencies
Method: get
Path: /currency
Update Currencies
Method: put
Path: /currency
View Currency Field Length
Method: get
Path: /currency/getFieldLength/{fieldName}
View Currency fields
Method: get
Path: /currency/fields
Document

Documents are guidelines, procedures, standards, plans, design templates, worksheets, or other information related to a project. A document, or work product, can provide standards and guidelines for performing project work, or it can be formally identified as a project standard. Documents can be identified as project deliverables that will be given to the end user or customer at the end of the project. Documents can be assigned to activities and to work breakdown structure (WBS) elements. You can maintain general information about documents, such as revision date, location, and author. Documents are hierarchical objects.

The Document service supports user defined fields (UDFs). Use the UDFValue service to assign UDFs.

Note: This service provides create, read, update, and delete operations that apply to WP and Docs. You cannot assign external documents to an activity or WBS using this service.

Checkin Document
Method: post
Path: /document/checkinDocument
Checkout Document
Method: get
Path: /document/checkoutDocument
Create Document
Method: post
Path: /document
Delete Document
Method: delete
Path: /document
Download Document
Method: get
Path: /document/downloadDocument
Read Document
Method: get
Path: /document
Update Document
Method: put
Path: /document
Upload Document
Method: post
Path: /document/uploadDocument
View Document Field Length
Method: get
Path: /document/getFieldLength/{fieldName}
View Document fields
Method: get
Path: /document/fields
DocumentCategory

Document categories are used to organize and standardize documents across projects.

Create DocumentCategory
Method: post
Path: /documentCategory
Delete DocumentCategory
Method: delete
Path: /documentCategory
Read DocumentCategory
Method: get
Path: /documentCategory
Update DocumentCategory
Method: put
Path: /documentCategory
View DocumentCategory Field Length
Method: get
Path: /documentCategory/getFieldLength/{fieldName}
View DocumentCategory fields
Method: get
Path: /documentCategory/fields
DocumentStatusCode

Document status codes are used to identify and track the current state of work products and documents.

Create DocumentStatusCode
Method: post
Path: /documentStatusCode
Delete DocumentStatusCode
Method: delete
Path: /documentStatusCode
Read DocumentStatusCode
Method: get
Path: /documentStatusCode
Update DocumentStatusCode
Method: put
Path: /documentStatusCode
View DocumentStatusCode Field Length
Method: get
Path: /documentStatusCode/getFieldLength/{fieldName}
View DocumentStatusCode fields
Method: get
Path: /documentStatusCode/fields
EPS

EPS (Enterprise Project Structure) is the hierarchical structure of projects in the database. It is used to perform top-down budgeting, manage multiple projects, implement coding standards, and maintain security throughout the enterprise. EPSs are hierarchical objects. EPS objects can only be deleted from the database if they and their EPS children have no child projects. To delete an EPS, you must first move or delete all projects that are children of that EPS or of that EPS node's EPS children.

The EPS service supports user defined fields (UDFs). Use the UDFValue service to assign UDFs.

Create EPS
Method: post
Path: /eps
Delete EPS
Method: delete
Path: /eps
Read EPS
Method: get
Path: /eps
Update EPS
Method: put
Path: /eps
View EPS Field Length
Method: get
Path: /eps/getFieldLength/{fieldName}
View EPS fields
Method: get
Path: /eps/fields
EPSBudgetChangeLog

The EPS budget change log is used to track changes made from the original budget. You can set the status of the change as pending, approve or not approved, assign a responsible person, and specify the amount of the change. The EPS budget change log applies to EPS.

Create EPSBudgetChangeLog to the store
Method: post
Path: /epsBudgetChangeLog
Delete EPSBudgetChangeLog
Method: delete
Path: /epsBudgetChangeLog
Read EPSBudgetChangeLog
Method: get
Path: /epsBudgetChangeLog
Update EPSBudgetChangeLog
Method: put
Path: /epsBudgetChangeLog
View EPSBudgetChangeLog Field Length
Method: get
Path: /epsBudgetChangeLog/getFieldLength/{fieldName}
View EPSBudgetChangeLog fields
Method: get
Path: /epsBudgetChangeLog/fields
EPSFunding

An EPS funding represents the assignment of a funding source to a particular EPS. The assigned funding source has an amount and fund share, or percentage.

Create EPSFunding
Method: post
Path: /epsFunding
Delete EPSFunding
Method: delete
Path: /epsFunding
Read EPSFunding
Method: get
Path: /epsFunding
Update EPSFunding
Method: put
Path: /epsFunding
View EPSFunding Field Length
Method: get
Path: /epsFunding/getFieldLength/{fieldName}
View EPSFunding fields
Method: get
Path: /epsFunding/fields
EPSNote

EPS notes are used as a way of specifying one or more notes on an EPS element. You may specify one note on each EPS for every notebook topic that exists.

Create EPSNote
Method: post
Path: /epsNote
Delete EPSNote
Method: delete
Path: /epsNote
Read EPSNote
Method: get
Path: /epsNote
Update EPSNote
Method: put
Path: /epsNote
View EPSNote Field Length
Method: get
Path: /epsNote/getFieldLength/{fieldName}
View EPSNote fields
Method: get
Path: /epsNote/fields
EPSSpendingPlan

EPS spending plans represent monthly spending amounts for an EPS.

Create EPSSpendingPlan
Method: post
Path: /epsSpendingPlan
Delete EPSSpendingPlan
Method: delete
Path: /epsSpendingPlan
Read EPSSpendingPlan
Method: get
Path: /epsSpendingPlan
Update EPSSpendingPlan
Method: put
Path: /epsSpendingPlan
View EPSSpendingPlan Field Length
Method: get
Path: /epsSpendingPlan/getFieldLength/{fieldName}
View EPSSpendingPlan fields
Method: get
Path: /epsSpendingPlan/fields
ExpenseCategory

Expense categories are used to categorize project expenses. They are used for standardizing expenses and for rolling up expenses across projects.

Create ExpenseCategories
Method: post
Path: /expenseCategory
Delete ExpenseCategories
Method: delete
Path: /expenseCategory
Read ExpenseCategories
Method: get
Path: /expenseCategory
Update ExpenseCategories
Method: put
Path: /expenseCategory
View ExpenseCategory Field Length
Method: get
Path: /expenseCategory/getFieldLength/{fieldName}
View ExpenseCategory fields
Method: get
Path: /expenseCategory/fields
Export

This service lets you export one or more projects to XML. The ExportProject operation exports one project to XML, and the ExportProjects operation exports one or more projects to XML. For each project, the export includes the project and all related business objects supported by the exporter and in use in the project. For example, the project's activities, resource assignments, and associated resources are included. The Export service uses MTOM (Message Transmission Optimization Mechanism) to send the output files as attachments.

Download Files
Method: post
Path: /export/downloadFiles
Export ImpdarProject
Method: post
Path: /export/exportIpmdarProject
Export Project
Method: post
Path: /export/exportProject
Export Projects
Method: post
Path: /export/exportProjects
FinancialPeriod

Use customized financial periods to provide accurate display and reporting of actual units and costs. Rather than spreading costs evenly throughout the length of a project, users can view how actual costs were incurred by defining customized financial periods with a StartDate and EndDate. The minimum financial period duration is one day. Financial periods cannot overlap each other and do not have to be contiguous.

Past period actuals are stored at the activity and resource/role assignment level using the ActivityPeriodActual and ResourceAssignmentPeriodActual services.

You can not delete a financial period if there are existing activity or resource assignment period actual values stored. To delete a financial period with stored actual values, first use the ReadResourceAssignmentPeriodActuals operation of the ResourceAssignmentPeriodActual Service to load all resource assignment period actuals for that financial period, then delete each instance. Repeat the process for activity period actuals using the ReadActivityPeriodActuals operation of the ActivityPeriodActual Service.

Create FinancialPeriods
Method: post
Path: /financialPeriod
Delete FinancialPeriods
Method: delete
Path: /financialPeriod
Read FinancialPeriods
Method: get
Path: /financialPeriod
Update FinancialPeriods
Method: put
Path: /financialPeriod
View FinancialPeriod Field Length
Method: get
Path: /financialPeriod/getFieldLength/{fieldName}
View FinancialPeriod fields
Method: get
Path: /financialPeriod/fields
FundingSource

Funding sources are hierarchical objects used to specify the names and descriptions of nonprofit, government-allocated, or other funding sources. You can assign funding sources to budgets as you develop projects.

Create FundingSources
Method: post
Path: /fundingSource
Delete FundingSources
Method: delete
Path: /fundingSource
Read FundingSources
Method: get
Path: /fundingSource
Update FundingSources
Method: put
Path: /fundingSource
View FundingSource Field Length
Method: get
Path: /fundingSource/getFieldLength/{fieldName}
View FundingSource fields
Method: get
Path: /fundingSource/fields
GlobalPreferences

Global preferences are generally established by an administrator. There is only one global preferences object in the database and it cannot be deleted.

Read GlobalPreferences
Method: get
Path: /globalPreferences
Update GlobalPreferences
Method: put
Path: /globalPreferences
View GlobalPreferences Field Length
Method: get
Path: /globalPreferences/getFieldLength/{fieldName}
View GlobalPreferences fields
Method: get
Path: /globalPreferences/fields
GlobalProfile

A global profile defines a set of privileges for access to global, or application-wide, information such as cost accounts, resources, and roles. To control user access to global information, you create global profiles, and then assign specific profiles to individual users. All users are required to have a global profile.

To allow complete access to all global information and all projects, a global profile called Admin Superuser is provided. You can assign the Admin Superuser profile to as many users as you like. However, since the Admin Superuser profile enables access to all information, you would typically restrict the number of users to whom you assign this profile.

Create GlobalProfiles
Method: post
Path: /globalProfile
Delete GlobalProfiles
Method: delete
Path: /globalProfile
Read GlobalProfile
Method: get
Path: /globalProfile
Update GlobalProfile
Method: put
Path: /globalProfile
View GlobalProfile Field Length
Method: get
Path: /globalProfile/getFieldLength/{fieldName}
View GlobalProfile fields
Method: get
Path: /globalProfile/fields
GlobalReplace

P6 provides a way to replace data in multiple activities, WBS elements, and projects. You can configure a Global Search & Replace template to determine the data which will be replaced.

You can create a template to filter the data to be changed and specify what changes to make. You can save templates to be used later, and modify or delete templates. You can apply the changes and review the data before committing to the change. At the review stage, you can exclude certain rows from being changed and modify data in one or more rows before applying the change

Read GlobalReplace
Method: get
Path: /globalReplace
Update GlobalReplace
Method: put
Path: /globalReplace
View GlobalReplace Field Length
Method: get
Path: /globalReplace/getFieldLength/{fieldName}
View GlobalReplace fields
Method: get
Path: /globalReplace/fields
Import

This service lets you import one or more projects from XML. The CreateProject operation imports one project from XML, and the ImportProjects operation imports one or more projects from XML. For each project, the import includes the project and all related business objects supported by the importer and in use in the project. For example, the project's activities, resource assignments, and associated resources are included.

CreateNewProject
Method: post
Path: /import/createNewProject
ImportProjectAsyncASAP
Method: post
Path: /import/importProjectAsyncASAP
ImportProjects
Method: post
Path: /import/importProjects
UpdateExistingProject
Method: post
Path: /import/updateExistingProject
ImportOptionsTemplate

Import options templates

Read ImportOptionsTemplate
Method: get
Path: /importOptionsTemplate
View ImportOptionsTemplate Field Length
Method: get
Path: /importOptionsTemplate/getFieldLength/{fieldName}
View ImportOptionsTemplate fields
Method: get
Path: /importOptionsTemplate/fields
IssueHistory

Issue histories represent the commentary recorded for a project issue. Separate entry comments are referenced by date and user who recorded the comment. Issue histories may only be added in the Project Management application.

Read IssueHistory
Method: get
Path: /issueHistory
View IssueHistory Field Length
Method: get
Path: /issueHistory/getFieldLength/{fieldName}
View IssueHistory fields
Method: get
Path: /issueHistory/fields
Job

The Job service enables you to initiate and process specialized jobs asynchronously. You can check the status of a job by using the ReadJobStatus operation. To cancel a job, use the CancelJob operation. Note that cancelling the job has no effect if the job has already run.

Apply Actual
Method: post
Path: /job/applyActuals
CancelJob
Method: post
Path: /job/cancelJob
GetCurrentJobs
Method: post
Path: /job/getCurrentJobs
Leveling Project
Method: post
Path: /job/level
ReadJobLog
Method: post
Path: /job/readJobLog
ReadJobStatus
Method: get
Path: /job/readJobStatus
RecalculateAssignmentCosts
Method: post
Path: /job/recalculateAssignmentCosts
Schedule Project
Method: post
Path: /job/schedule
ScheduleCheck
Method: post
Path: /job/scheduleCheck
SendToUnifier
Method: post
Path: /job/sendToUnifier
StorePeriodPerformance
Method: post
Path: /job/storePeriodPerformance
Summarize CBS
Method: post
Path: /job/summarizeCBS
Summarize EPS
Method: post
Path: /job/summarizeEPS
Summarize Project
Method: post
Path: /job/summarizeProject
Update Baseline
Method: post
Path: /job/updateBaseline
JobService

You can import the byte array and data for the following job types:

  • Schedule
  • Summarize
  • Apply Actuals
  • Store Period Performance
  • Sync Actual This Period
  • Level
  • Recalculate Assignment Costs
  • Send To Unifier
  • Update Baseline
  • Import Project
  • ScheduleCheck
  • ExportCheck
Create JobService
Method: post
Path: /jobService
Delete JobService
Method: delete
Path: /jobService
Read JobService
Method: get
Path: /jobService
Update JobService
Method: put
Path: /jobService
View JobService Field Length
Method: get
Path: /jobService/getFieldLength/{fieldName}
View ScheduleOptions fields
Method: get
Path: /jobService/fields
LeanTask

Use lean tasks to integrate P6 with Oracle Primavera Cloud for lean task integration.

Create LeanTasks
Method: post
Path: /leanTask
Delete LeanTasks
Method: delete
Path: /leanTask
Read LeanTasks
Method: get
Path: /leanTask
Update LeanTasks
Method: put
Path: /leanTask
View LeanTask Field Length
Method: get
Path: /leanTask/getFieldLength/{fieldName}
View LeanTask fields
Method: get
Path: /leanTask/fields
Location

The location dictionary is used to store address locations including latitude and longitude. These locations can be assigned to resources, projects and/or activities.

Create Locations
Method: post
Path: /location
Delete Locations
Method: delete
Path: /location
Read Locations
Method: get
Path: /location
Update Locations
Method: put
Path: /location
View Location Field Length
Method: get
Path: /location/getFieldLength/{fieldName}
View Location fields
Method: get
Path: /location/fields
Login
Login Description
Login
Method: post
Path: /login
Logout
Logout Description
Logout
Method: post
Path: /logout
MSPTemplate

Import options templates.

Read MSPTemplate
Method: get
Path: /mspTemplate
View MSPTemplate Field Length
Method: get
Path: /mspTemplate/getFieldLength/{fieldName}
View MSPTemplate fields
Method: get
Path: /mspTemplate/fields
NotebookTopic

Notebook topics are used to categorize notes on EPS, project, WBS, and activity objects. Notebook topics are defined globally, and are usually specified by an administrator.

Create NotebookTopics
Method: post
Path: /notebookTopic
Delete NotebookTopics
Method: delete
Path: /notebookTopic
Read NotebookTopics
Method: get
Path: /notebookTopic
Update NotebookTopics
Method: put
Path: /notebookTopic
View NotebookTopic Field Length
Method: get
Path: /notebookTopic/getFieldLength/{fieldName}
View NotebookTopic fields
Method: get
Path: /notebookTopic/fields
OBS

The Organizational Breakdown Structure (OBS) is a hierarchical arrangement of an organization's management structure. User access and privileges to nodes and projects within the Enterprise Project Structure (EPS) hierarchy are implemented via a responsible manager defined in the enterprise-wide OBS hierarchy.

Create OBS
Method: post
Path: /obs
Delete OBS
Method: delete
Path: /obs
Read OBS
Method: get
Path: /obs
Update OBS
Method: put
Path: /obs
View OBS Field Length
Method: get
Path: /obs/getFieldLength/{fieldName}
View OBS fields
Method: get
Path: /obs/fields
OverheadCode

Overhead codes are used to log timesheet hours for activities, which are not associated with any current projects.

Create OverheadCodes
Method: post
Path: /overheadCode
Delete OverheadCodes
Method: delete
Path: /overheadCode
Read OverheadCodes
Method: get
Path: /overheadCode
Update OverheadCodes
Method: put
Path: /overheadCode
View OverheadCode Field Length
Method: get
Path: /overheadCode/getFieldLength/{fieldName}
View OverheadCode fields
Method: get
Path: /overheadCode/fields
Project

A project is a temporary endeavor undertaken to create a unique product, service, or result. Projects usually contain a work breakdown structure (WBS) and activities.

The Project service supports user defined fields (UDFs) and codes. Use the UDFValue Service to assign UDFs, and the ProjectCodeAssignment Service to assign project codes.

Assign Project As Baseline
Method: post
Path: /project/assignProjectAsBaseline
Calculate Project Score
Method: get
Path: /project/calculateProjectScore
Copy Project
Method: post
Path: /project/copyProject
Copy Project as Baseline
Method: post
Path: /project/copyProjectAsBaseline
Copy WBS from Template
Method: post
Path: /project/copyWBSFromTemplate
Create Project
Method: post
Path: /project
Create Project From Template
Method: post
Path: /project/createProjectFromTemplate
Delete Project
Method: delete
Path: /project
Is Project locked
Method: get
Path: /project/isProjectLocked
Publish Project
Method: post
Path: /project/publishProject
Read Projects
Method: get
Path: /project
Update Project
Method: put
Path: /project
View Project Field Length
Method: get
Path: /project/getFieldLength/{fieldName}
View Project fields
Method: get
Path: /project/fields
ProjectBudgetChangeLog

The project budget change log is used to track changes made from the original budget. You can set the status of the change as pending, approve or not approved, assign a responsible person, and specify the amount of the change. The project budget change log applies to each WBS and project.

Create ProjectBudgetChangeLog
Method: post
Path: /projectBudgetChangeLog
Delete ProjectBudgetChangeLog
Method: delete
Path: /projectBudgetChangeLog
Read ProjectBudgetChangeLog
Method: get
Path: /projectBudgetChangeLog
Update ProjectBudgetChangeLog
Method: put
Path: /projectBudgetChangeLog
View ProjectBudgetChangeLog Field Length
Method: get
Path: /projectBudgetChangeLog/getFieldLength/{fieldName}
View ProjectBudgetChangeLog fields
Method: get
Path: /projectBudgetChangeLog/fields
ProjectCode

Project codes are user-defined codes to classify and categorize projects across the enterprise. They are defined globally. Project codes are hierarchical objects.

You can organize the projects in your EPS in groups according to specific categories, such as location and manager, using project codes. You can define unlimited hierarchical project codes to fulfill the filtering, sorting, and reporting requirements for your projects, and arrange them hierarchically for easier management and assignment.

The Project Codes dictionary is global to the entire enterprise. Assign a project code value to projects for each project code you create.

Use project codes to group projects, consolidate large amounts of information, and to distinguish one project from another. All projects assigned a value for a code are grouped by their corresponding values when you group and sort by project code in the Project Management application.

Create ProjectCodes
Method: post
Path: /projectCode
Delete ProjectCodes
Method: delete
Path: /projectCode
Read ProjectCodes
Method: get
Path: /projectCode
Update ProjectCodes
Method: put
Path: /projectCode
View ProjectCode Field Length
Method: get
Path: /projectCode/getFieldLength/{fieldName}
View ProjectCode fields
Method: get
Path: /projectCode/fields
ProjectCodeAssignment

A project code assignment business object represents the assignment of a project code to a project. For each project code type, a project may have zero or one project codes assigned.

Note that this business object has a multi-part object ID; its object ID is a combination of its project object ID and its project code object ID.

Create ProjectCodeAssignment
Method: post
Path: /projectCodeAssignment
Delete Project Code Assignment
Method: delete
Path: /projectCodeAssignment
Read ProjectCodeAssignment
Method: get
Path: /projectCodeAssignment
Update ProjectCodeAssignment
Method: put
Path: /projectCodeAssignment
View ProjectCodeAssignment Field
Method: get
Path: /projectCodeAssignment/fields
View ProjectCodeAssignment Field Length
Method: get
Path: /projectCodeAssignment/getFieldLength/{fieldName}
ProjectCodeType

Project code types provide a way of classifying project codes. Project codes are user-defined codes to classify and categorize projects across the enterprise. They are defined globally.

You can organize the projects in your EPS in groups according to specific categories, such as location and manager, using project codes. You can define unlimited hierarchical project codes to fulfill the filtering, sorting, and reporting requirements for your projects, and arrange them hierarchically for easier management and assignment.

The Project Codes dictionary is global to the entire enterprise. Assign a project code value to projects for each project code you create.

Use project codes to group projects, consolidate large amounts of information, and to distinguish one project from another. All projects assigned a value for a code are grouped by their corresponding values when you group and sort by project code in the Project Management application.

Create ProjectCodeTypes
Method: post
Path: /projectCodeType
Delete ProjectCodeTypes
Method: delete
Path: /projectCodeType
Read ProjectCodeTypes
Method: get
Path: /projectCodeType
Update ProjectCodeTypes
Method: put
Path: /projectCodeType
View ProjectCodeType Field Length
Method: get
Path: /projectCodeType/getFieldLength/{fieldName}
View ProjectCodeType fields
Method: get
Path: /projectCodeType/fields
ProjectDeployment
ProjectDeployment Description
Create ProjectDeployment
Method: post
Path: /projectDeployment
Delete ProjectDeployment
Method: delete
Path: /projectDeployment
Read ProjectDeployment
Method: get
Path: /projectDeployment
Update ProjectDeployment
Method: put
Path: /projectDeployment
View ProjectDeployment Field Length
Method: get
Path: /projectDeployment/getFieldLength/{fieldName}
View ProjectResourceQuantity fields
Method: get
Path: /projectDeployment/fields
ProjectDocument

Documents are guidelines, procedures, standards, plans, design templates, worksheets, or other information related to a project. A document, or work product, can provide standards and guidelines for performing project work, or it can be formally identified as a project standard. Documents can be identified as project deliverables that will be given to the end user or customer at the end of the project. Documents can be assigned to activities and to work breakdown structure (WBS) elements. You can maintain general information about documents, such as revision date, location, and author. Documents are hierarchical objects.

This business object supports user defined fields (UDFs). Use the UDFValue business object to assign UDFs.

Create ProjectDocument
Method: post
Path: /projectDocument
Delete ProjectDocument
Method: delete
Path: /projectDocument
Read ProjectDocument
Method: get
Path: /projectDocument
Update ProjectDocument
Method: put
Path: /projectDocument
View ProjectDocument Field Length
Method: get
Path: /projectDocument/getFieldLength/{fieldName}
View ProjectDocument fields
Method: get
Path: /projectDocument/fields
ProjectFunding

An project funding represents the assignment of a funding source to a particular project. The assigned funding source has an amount and fund share, or percentage.

Creates ProjectFunding
Method: post
Path: /projectFunding
Delete ProjectFunding
Method: delete
Path: /projectFunding
Read ProjectFunding
Method: get
Path: /projectFunding
Update ProjectFunding
Method: put
Path: /projectFunding
View ProjectFunding Field Length
Method: get
Path: /projectFunding/getFieldLength/{fieldName}
View ProjectFunding fields
Method: get
Path: /projectFunding/fields
ProjectIssue

Issues are known problems within a project plan that require attention or corrective action. You can manually create issues, or you can generate issues in the Project Management application by defining project thresholds. You can associate these issues with work breakdown structure (WBS) elements, activities, or resources.

When you add an issue, you can assign a priority level, tracking layout, and responsible manager to the issue. An issue's tracking layout assignment is helpful when you want to quickly open the tracking layout that best displays the problem area. An issue's responsible manager assignment identifies the person responsible for addressing the issue. You can record historical details for the issue and e-mail issue details, along with your notes and the issue's history, to any member of the project's staff.

This business object supports user defined fields (UDFs). Use the UDFValue business object to assign UDFs.

Create ProjectIssue
Method: post
Path: /projectIssue
Delete ProjectIssue
Method: delete
Path: /projectIssue
Reads ProjectIssue
Method: get
Path: /projectIssue
Update ProjectIssue
Method: put
Path: /projectIssue
View Project fields
Method: get
Path: /projectIssue/fields
View ProjectIssue Field Length
Method: get
Path: /projectIssue/getFieldLength/{fieldName}
ProjectNote

Project notes are used as a way of specifying one or more notes on a project or WBS element. You may specify one note on each project or WBS for every notebook topic that exists.

Create ProjectNote
Method: post
Path: /projectNote
Delete ProjectNote
Method: delete
Path: /projectNote
Read ProjectNote
Method: get
Path: /projectNote
Update ProjectNote
Method: put
Path: /projectNote
View ProjectNote Field Length
Method: get
Path: /projectNote/getFieldLength/{fieldName}
View ProjectNote fields
Method: get
Path: /projectNote/fields
ProjectPortfolio

A project portfolio consists of projects grouped together in some way that is meaningful to you. For example, one portfolio might contain projects that are the responsibility of a specific business unit, while another portfolio contains only projects budgeted for the next fiscal year.

There are two types of project portfolios: "Manual" and "Filtered". Manual portfolios contain zero or more projects that were specifically added. Filtered portfolios contain zero or more projects based on a filter that was specified in Primavera's Web application. The list of projects in a filtered portfolio is based on the results of the filter when it was first created. Only manual portfolios can be created through the Integration API, and their list of projects cannot be altered.

Add Projects
Method: put
Path: /projectPortfolio/addProjects
Create ProjectPortfolio
Method: post
Path: /projectPortfolio
Delete ProjectPortfolio
Method: delete
Path: /projectPortfolio
Get Project Object Ids
Method: get
Path: /projectPortfolio/getProjectObjectIds
LoadProjects Operation
Method: get
Path: /projectPortfolio/loadProjects
Read ProjectPortfolio
Method: get
Path: /projectPortfolio
Remove Projects
Method: put
Path: /projectPortfolio/removeProjects
Update ProjectPortfolio
Method: put
Path: /projectPortfolio
View ProjectPortfolio Field Length
Method: get
Path: /projectPortfolio/getFieldLength/{fieldName}
View ProjectPortfolio fields
Method: get
Path: /projectPortfolio/fields
ProjectProfile

A project profile defines a set of privileges for access to project-specific information. Project profiles are assigned to users based on the OBS hierarchy. To control access to project-specific information, you create project profiles, and then assign specific OBS elements and associated project profiles to individual users. The assigned OBS element determines the EPS and WBS elements for which the user can access project information. The assigned project profile determines the type of access privileges the user has to that project information.

All WBS elements are required to have an assigned responsible OBS. If a user's project profile assignment includes a WBS element's responsible OBS, then the user can access all activities, risks, and issues related to that WBS element. Similarly, all thresholds and project issues also have an assigned responsible OBS. If a user's project profile assignment includes a threshold or issue's responsible OBS, then the user can access that threshold or issue.

A user is not required to have a profile for every project. However, unless a user's global profile is Admin Superuser, that user cannot access a project without a project profile. To allow complete access to a project/OBS assignment, a project profile is included named Project Superuser. You can apply the Project Superuser profile to as many users and for as many projects as you like.

Create ProjectProfile
Method: post
Path: /projectProfile
Delete ProjectProfile
Method: delete
Path: /projectProfile
hasPrivilege
Method: get
Path: /projectProfile/hasPrivilege
Read ProjectProfile
Method: get
Path: /projectProfile
Update ProjectProfile
Method: put
Path: /projectProfile
View ProjectProfile Field Length
Method: get
Path: /projectProfile/getFieldLength/{fieldName}
View ProjectProfile fields
Method: get
Path: /projectProfile/fields
ProjectResource

Primavera's resource planning feature allows you to do high-level project planning for future project or project that does not require resource assignments at the activity level. The resource planning feature allows you to allocate and manage resources at the project and WBS levels. If the LifeOfProjectFlag is true, the resource assignment is for the duration of the project, and so, if the project dates are pushed out, the resource assignment dates are pushed as well

If the LifeOfProjectFlag is false, the dates on the ProjectResource will be calculated from the dates on the child ProjectResourceQuantity objects.

Create ProjectResource
Method: post
Path: /projectResource
Delete ProjectResource
Method: delete
Path: /projectResource
Read ProjectResource
Method: get
Path: /projectResource
Update ProjectResource
Method: put
Path: /projectResource
View ProjectResource Field Length
Method: get
Path: /projectResource/getFieldLength/{fieldName}
View ProjectResource fields
Method: get
Path: /projectResource/fields
ProjectResourceCategory

Project resource categories are used to categorize resource planning assignments.

Create ProjectResourceCategory
Method: post
Path: /projectResourceCategory
Delete ProjectResourceCategory
Method: delete
Path: /projectResourceCategory
Read ProjectResourceCategory
Method: get
Path: /projectResourceCategory
Update ProjectResourceCategory
Method: put
Path: /projectResourceCategory
View ProjectResourceCategory Field Length
Method: get
Path: /projectResourceCategory/getFieldLength/{fieldName}
View projectresourcecategory fields
Method: get
Path: /projectResourceCategory/fields
ProjectResourceQuantity

The ProjectResourceQuantity object provides access to resource allocation hours per week for resources assigned to a project at the Project or WBS level. Usually there is one ProjectResourceQuantity object per week, and it corresponds to a record in the wbsrsrc_qty table. However, when a week contains days from more than one month, two ProjectResourceQuantity objects (and so, two records) will exist based on the two week fragments. They both have the same WeekStartDate but their MonthStartDate and week fragment data are different: The first ProjectResourceQuantity object holds data for the first week fragment, and its MonthStartDate has the same month as the WeekStartDate. The second ProjectResourceQuantity object holds data for the second week fragment, and its MonthStartDate is that of the next month.

Note that this business object has a multi-part object ID; its object ID is a combination of its project resource object ID, its week start date, its month start date, and its quantity.

Create ProjectResourceQuantity
Method: post
Path: /projectResourceQuantity
Delete ProjectResourceQuantity
Method: delete
Path: /projectResourceQuantity
Reads ProjectResourceQuantity
Method: get
Path: /projectResourceQuantity
Update ProjectResourceQuantity
Method: put
Path: /projectResourceQuantity
View ProjectResourceQuantity Field Length
Method: get
Path: /projectResourceQuantity/getFieldLength/{fieldName}
View ProjectResourceQuantity fields
Method: get
Path: /projectResourceQuantity/fields
ProjectSpendingPlan

Project spending plans represent monthly spending amounts for a project or WBS.

Create ProjectSpendingPlan
Method: post
Path: /projectSpendingPlan
Delete ProjectSpendingPlan
Method: delete
Path: /projectSpendingPlan
Read ProjectSpendingPlan
Method: get
Path: /projectSpendingPlan
Update ProjectSpendingPlan
Method: put
Path: /projectSpendingPlan
View ProjectSpendingPlan Field Length
Method: get
Path: /projectSpendingPlan/getFieldLength/{fieldName}
View ProjectSpendingPlan fields
Method: get
Path: /projectSpendingPlan/fields
ProjectThreshold

Project thresholds are used as a project management technique to monitor values within a specified tolerance range so that project issues can be identified and reported. For example, a threshold could be used to monitor Start Date variance or Total Float values.

Create ProjectThreshold
Method: post
Path: /projectThreshold
Delete ProjectThreshold
Method: delete
Path: /projectThreshold
Read ProjectThreshold
Method: get
Path: /projectThreshold
Update ProjectThreshold
Method: put
Path: /projectThreshold
View Project Field Length
Method: get
Path: /projectThreshold/getFieldLength/{fieldName}
View Project fields
Method: get
Path: /projectThreshold/fields
Relationship

A relationship defines how an activity relates to the start or finish of another activity or assignment. Add relationships between activities to create a path through your schedule from the first activity to the last activity. These relationships, which form the logic of the project network, are used together with activity durations to determine schedule dates. An activity can have as many relationships as necessary to model the work that must be done. You can also identify relationships between activities that are in different projects; this type of relationship is referred to as an external relationship.

Create Relationship
Method: post
Path: /relationship
Delete Relationship
Method: delete
Path: /relationship
Read Relationship
Method: get
Path: /relationship
Update Relationship
Method: put
Path: /relationship
View Relationship Field Length
Method: get
Path: /relationship/getFieldLength/{fieldName}
View Relationship fields
Method: get
Path: /relationship/fields
Resource

Resources include the personnel and equipment that perform work on activities across all projects. Resources are always time-based and are generally reused between activities and/or projects. You can create a resource pool that reflects your organization's resource structure and supports the assignment of resources to activities. You can also distinguish between labor and nonlabor resources. You can create and assign resource calendars and define a resource's roles, contact information, and time-varying prices. If a resource uses Timesheets, you can also assign a login name and password to the resource.

A resource may be specified as a primary resource when assigning to activities. An activity's primary resource is typically the resource who is responsible for coordinating an activity's work. Using Timesheets, the primary resource also updates the activity's start date, finish date, and expected end date. In addition, if an activity has any nonlabor resources, the primary resource may also be responsible for reporting the nonlabor resource's hours/units as well. With the exception of nonlabor resources, all other resources are responsible for reporting their own hours for assigned activities.

Create Resource
Method: post
Path: /resource
Delete Resource
Method: delete
Path: /resource
Loads activities assigned to the specified resource.
Method: get
Path: /resource/loadActivities
Read Resources
Method: get
Path: /resource
Update Resource
Method: put
Path: /resource
View Resource Field Length
Method: get
Path: /resource/getFieldLength/{fieldName}
View Resource fields
Method: get
Path: /resource/fields
ResourceAccess

Resource access allows you to restrict a user's ability to access resources. If the User.AllResourceAccessFlag is True, the user has access to all resources and resource access does not apply. If the User.AllResourceAccessFlag is False, the user has restricted resource access. In this case, the user is assigned to a resource in the resource hierarchy and that resource becomes the user's root resource access node. The position of the user's root resource access node in the hierarchy determines the user's resource access. The user has access to that root resource access node and all of its children, but no other resources above in the hierarchy. If the user is not assigned to any resources, that user does not have access to resources. Admin Superusers always have all resource access.

Note that project access overrides resource access. If a user can access a project, the user is able to see all resources assigned to that project. The user can then assign these resources anywhere but will only be able to edit them if the user has resource access to them.

Resource Access business objects may not be updated. To change the values on a Resource Access object, create a new object with the desired values and delete the old object.

Create ResourceAccess
Method: post
Path: /resourceAccess
Delete ResourceAccess
Method: delete
Path: /resourceAccess
Read ResourceAccess
Method: get
Path: /resourceAccess
View ResourceAccess Field Length
Method: get
Path: /resourceAccess/getFieldLength/{fieldName}
View ResourceAccess fields
Method: get
Path: /resourceAccess/fields
ResourceAssignment

Resource assignments track the work of resources or roles that are performing various activities. A resource may be assigned to the same activity more than once, but performing in different roles.

The ResourceAssignment services supports user defined fields (UDFs). Use the UDFValue Service to assign UDFs.

Create ResourceAssignments
Method: post
Path: /resourceAssignment
Delete ResourceAssignments
Method: delete
Path: /resourceAssignment
Read All Resource Assignment by WBS
Method: get
Path: /resourceAssignment/readAllResourceAssignmentsByWBS
Read ResourceAssignments
Method: get
Path: /resourceAssignment
Update ResourceAssignments
Method: put
Path: /resourceAssignment
View ResourceAssignment Field Length
Method: get
Path: /resourceAssignment/getFieldLength/{fieldName}
View ResourceAssignment fields
Method: get
Path: /resourceAssignment/fields
ResourceAssignmentCode

Resource and role assignment codes are user-defined codes to classify and categorize resource and role assignments across the enterprise. They are defined globally.

With potentially hundreds of resources and roles being assigned to activities across an enterprise of projects, assignment codes provide another method for filtering the assignments you need to access quickly, or for grouping assignments for analysis and summarization in layouts. You can also use assignment codes to group, sort, and filter assignments in profiles and spreadsheets.

Create ResourceAssignmentCodes
Method: post
Path: /resourceAssignmentCode
Delete ResourceAssignmentCodes
Method: delete
Path: /resourceAssignmentCode
Read ResourceAssignmentCodes
Method: get
Path: /resourceAssignmentCode
Update ResourceAssignmentCodes
Method: put
Path: /resourceAssignmentCode
View ResourceAssignmentCode Field Length
Method: get
Path: /resourceAssignmentCode/getFieldLength/{fieldName}
View ResourceAssignmentCode fields
Method: get
Path: /resourceAssignmentCode/fields
ResourceAssignmentCodeAssignment

An assignment code assignment business object represents the assignment of an assignment code to a resource or role assignment. For each assignment code type, an assignment may have zero or one assignment codes assigned.

Note that this business object has a multi-part object ID; its object ID is a combination of its resource assignment object ID and its resource assignment code object ID.

Create ResourceAssignmentCodeAssignment
Method: post
Path: /resourceAssignmentCodeAssignment
Delete ResourceAssignmentCodeAssignment
Method: delete
Path: /resourceAssignmentCodeAssignment
Read ResourceAssignmentCodeAssignment
Method: get
Path: /resourceAssignmentCodeAssignment
Update ResourceAssignmentCodeAssignment
Method: put
Path: /resourceAssignmentCodeAssignment
View ResourceAssignmentCodeAssignment Field Length
Method: get
Path: /resourceAssignmentCodeAssignment/getFieldLength/{fieldName}
View ResourceAssignmentCodeAssignment fields
Method: get
Path: /resourceAssignmentCodeAssignment/fields
ResourceAssignmentCodeType

Resource and role assignment code types provide a way of classifying assignment codes. Assignment codes are user-defined codes to classify and categorize resource and role assignments across the enterprise. They are defined globally.

Create ResourceAssignmentCodeType
Method: post
Path: /resourceAssignmentCodeType
Delete ResourceAssignmentCodeType
Method: delete
Path: /resourceAssignmentCodeType
Read ResourceAssignmentCodeType
Method: get
Path: /resourceAssignmentCodeType
Update ResourceAssignmentCodeType
Method: put
Path: /resourceAssignmentCodeType
View ResourceAssignmentCodeType Field Length
Method: get
Path: /resourceAssignmentCodeType/getFieldLength/{fieldName}
View ResourceAssignmentCodeType fields
Method: get
Path: /resourceAssignmentCodeType/fields
ResourceAssignmentCreate

Create resource assignments to track the work of resources or roles that perform various activities. The pending number of units, finish date, start date, and duration of a resource assignment may need approval to be overridden so that the resource assignment can reflect its actual values.,

Create ResourceAssignmentCreate
Method: post
Path: /resourceAssignmentCreate
Delete ResourceAssignmentCreate
Method: delete
Path: /resourceAssignmentCreate
Read ResourceAssignmentCreate
Method: get
Path: /resourceAssignmentCreate
Update ResourceAssignmentCreate
Method: put
Path: /resourceAssignmentCreate
View ResourceAssignmentCreate Field Length
Method: get
Path: /resourceAssignmentCreate/getFieldLength/{fieldName}
View ResourceAssignmentCreate fields
Method: get
Path: /resourceAssignmentCreate/fields
ResourceAssignmentPeriodActual

Resource assignment period actuals represent the actual values on a resource assignment during a financial period.

The following rules apply for resource assignment period actuals:

  • They can only be tracked for in-progress or completed activities
  • Negative values are allowed.
  • If both units and costs are simultaneously updated on a period actual instance, units are the driving value.
  • They must have at least one non-zero field value for a corresponding database record to exist
  • If activity period actuals exist and have valid values for a particular resource type, resource assignment period actuals are created automatically for the first assignment of the corresponding resource type. Thereafter, period actuals can only be tracked on the resource assignment, not at the activity level.
  • Costs can be calculated only when a resource price per unit is defined
  • Updating values in assignment period actuals should update the corresponding activity period values. However, for material resource assignments, the update to activity period actuals occurs only when material cost is changed on the assignment.
  • Creating an assignment period actual value results in the automatic creation of an activity period actual value if it does not already exist.
  • An activity period actual may not exist for a corresponding assignment period actual if only material units are being tracked in the assignment period actual instance.

Note that this business object has a multi-part object ID; its object ID is a combination of its financial period object ID and its resource assignment object ID.

Create ResourceAssignmentPeriodActual
Method: post
Path: /resourceAssignmentPeriodActual
Delete ResourceAssignmentPeriodActual
Method: delete
Path: /resourceAssignmentPeriodActual
Read ResourceAssignmentPeriodActual
Method: get
Path: /resourceAssignmentPeriodActual
Update ResourceAssignmentPeriodActual
Method: put
Path: /resourceAssignmentPeriodActual
View ResourceAssignmentPeriodActual Field Length
Method: get
Path: /resourceAssignmentPeriodActual/getFieldLength/{fieldName}
View ResourceAssignmentPeriodActual fields
Method: get
Path: /resourceAssignmentPeriodActual/fields
ResourceAssignmentUpdate

Resource assignments track the work of resources or roles that are performing various activities. The pending number of units, finish date, start date, and duration of a resource assignment may need approval to be overridden so that the resource assignment can reflect its actual values.

Create ResourceAssignmentUpdate
Method: post
Path: /resourceAssignmentUpdate
Delete ResourceAssignmentUpdate
Method: delete
Path: /resourceAssignmentUpdate
Read ResourceAssignmentUpdate
Method: get
Path: /resourceAssignmentUpdate
Update ResourceAssignmentUpdate
Method: put
Path: /resourceAssignmentUpdate
View ResourceAssignmentUpdate Field Length
Method: get
Path: /resourceAssignmentUpdate/getFieldLength/{fieldName}
View ResourceAssignmentUpdate fields
Method: get
Path: /resourceAssignmentUpdate/fields
ResourceCode

Resource codes are user-defined codes to classify and categorize resources across the enterprise. They are defined globally.

With potentially hundreds of resources being used across an enterprise of projects, codes provide another method for filtering the resources you need to access quickly, or for grouping resources for analysis and summarization in layouts. You can also use resource codes to group, sort, and filter resources in profiles and spreadsheets.

Create ResourceCodes
Method: post
Path: /resourceCode
Delete ResourceCodes
Method: delete
Path: /resourceCode
Read ResourceCodes
Method: get
Path: /resourceCode
Returns Resources
Method: get
Path: /resourceCode/loadResources
Update ResourceCodes
Method: put
Path: /resourceCode
View ResourceCode Field Length
Method: get
Path: /resourceCode/getFieldLength/{fieldName}
View ResourceCode fields
Method: get
Path: /resourceCode/fields
ResourceCodeAssignment

A resource code assignment business object represents the assignment of a resource code to a resource. For each resource code type, a resource may have zero or one resource codes assigned.

Note that this business object has a multi-part object ID; its object ID is a combination of its resource object ID and its resource code object ID.

Create ResourceCodeAssignment
Method: post
Path: /resourceCodeAssignment
Delete ResourceCodeAssignment
Method: delete
Path: /resourceCodeAssignment
Read ResourceCodeAssignment
Method: get
Path: /resourceCodeAssignment
Update ResourceCodeAssignment
Method: put
Path: /resourceCodeAssignment
View ResourceCodeAssignment Field Length
Method: get
Path: /resourceCodeAssignment/getFieldLength/{fieldName}
View ResourceCodeAssignment fields
Method: get
Path: /resourceCodeAssignment/fields
ResourceCodeType

Resource code types provide a way of classifying resource codes. Resource codes are user-defined codes to classify and categorize resources across the enterprise. They are defined globally.

With potentially hundreds of resources being used across an enterprise of projects, codes provide another method for filtering the resources you need to access quickly, or for grouping resources for analysis and summarization in layouts. You can also use resource codes to group, sort, and filter resources in profiles and spreadsheets.

Create ResourceCodeTypes
Method: post
Path: /resourceCodeType
Delete ResourceCodeTypes
Method: delete
Path: /resourceCodeType
Read ResourceCodeType
Method: get
Path: /resourceCodeType
Update ResourceCodeTypes
Method: put
Path: /resourceCodeType
View ResourceCodeType Field Length
Method: get
Path: /resourceCodeType/getFieldLength/{fieldName}
View ResourceCodeType fields
Method: get
Path: /resourceCodeType/fields
ResourceCurve

Resource curves enable you to specify how you want resource units or costs spread over the duration of an activity. Resource units and costs are distributed evenly during an activity unless you specify nonlinear distribution using curves.

You can assign a resource curve to any resource or role assignment on activities with a duration type of Fixed Duration and Units/Time or Fixed Duration and Units.

If timesheet data exists for the actuals, curves are ignored for the actuals and are spread using the timesheet data. Activities with timesheet data continue to spread the remaining units using the curve.

Notes

  • Resource curves do not support expenses. The Accrual Type will continue to spread the expenses.
  • Resource lag is taken into consideration. The curve should begin on the "lagged start date."
  • Resource curves are reflected in the Resource Usage Profile and Resource Usage Spreadsheet in the Project Management application.
Create ResourceCurve
Method: post
Path: /resourceCurve
Delete ResourceCurve
Method: delete
Path: /resourceCurve
Read ResourceCurve
Method: get
Path: /resourceCurve
Update ResourceCurve
Method: put
Path: /resourceCurve
View ResourceCurve Field Length
Method: get
Path: /resourceCurve/getFieldLength/{fieldName}
View ResourceCurve fields
Method: get
Path: /resourceCurve/fields
ResourceHour

A resource hour corresponds to an entry on a timesheet edited in Timesheets. Resource hours may not be exported directly by the XMLExporter, but all child resource hours are exported automatically when exporting timesheets. Resource hours are read only.

Create ResourceHour
Method: post
Path: /resourceHour
Delete ResourceHour
Method: delete
Path: /resourceHour
Read ResourceHour
Method: get
Path: /resourceHour
Update ResourceHour
Method: put
Path: /resourceHour
View ResourceHour Field Length
Method: get
Path: /resourceHour/getFieldLength/{fieldName}
View ResourceHour fields
Method: get
Path: /resourceHour/fields
ResourceLocation

The resource location is used to store the current location information including latitude and longitude for the resource. The current location of the Resource could be different from the Location indicated by the LocationObjectId field in Resource for a mobile resource. There can be only one resource location for each Resource for now.

Create ResourceLocations
Method: post
Path: /resourceLocation
Delete ResourceLocation
Method: delete
Path: /resourceLocation
Read ResourceLocations
Method: get
Path: /resourceLocation
Update ResourceLocation
Method: put
Path: /resourceLocation
View ResourceLocation Field Length
Method: get
Path: /resourceLocation/getFieldLength/{fieldName}
View ResourceLocation fields
Method: get
Path: /resourceLocation/fields
ResourceRate

Resource rates provide a way of specifying multiple resource prices and maximum units per time values that vary over time.

Create ResourceRate
Method: post
Path: /resourceRate
Delete ResourceRate
Method: delete
Path: /resourceRate
Read ResourceRate
Method: get
Path: /resourceRate
Update ResourceRate
Method: put
Path: /resourceRate
View ResourceRate Field Length
Method: get
Path: /resourceRate/getFieldLength/{fieldName}
View ResourceRate fields
Method: get
Path: /resourceRate/fields
ResourceRole

A resource role object represents an association between a resource object and a role object. A proficiency may be assigned to a resource role.

Note that this business object has a multi-part object ID; its object ID is a combination of its resource object ID and its role object ID.

Create ResourceRole
Method: post
Path: /resourceRole
Delete ResourceRole
Method: delete
Path: /resourceRole
Read ResourceRole
Method: get
Path: /resourceRole
Update ResourceRole
Method: put
Path: /resourceRole
View ResourceRole Field Length
Method: get
Path: /resourceRole/getFieldLength/{fieldName}
View ResourceRole fields
Method: get
Path: /resourceRole/fields
ResourceTeam

A resource team consists of resources grouped together in some way that is meaningful to you.

Add Resources
Method: put
Path: /resourceTeam/addResources
Create ResourceTeam
Method: post
Path: /resourceTeam
Delete ResourceTeam
Method: delete
Path: /resourceTeam
Get Resource Object Ids
Method: get
Path: /resourceTeam/getResourceObjectIds
Read ResourceTeam
Method: get
Path: /resourceTeam
Remove Resources
Method: put
Path: /resourceTeam/removeResources
Update ResourceTeam
Method: put
Path: /resourceTeam
View ResourceTeam Field Length
Method: get
Path: /resourceTeam/getFieldLength/{fieldName}
View ResourceTeam fields
Method: get
Path: /resourceTeam/fields
Risk

The risk object represents a probabilistic event or condition which if it occurs has an impact (e.g. schedule, cost, quality, safety) on the project. Risks with negative impacts are threats; risks with positive impacts on the project are opportunities.

This business object supports user defined fields (UDFs). To assign UDFs to an activity expense, use the UDFValue service.

Create Risks
Method: post
Path: /risk
Delete Risks
Method: delete
Path: /risk
Read Risks
Method: get
Path: /risk
Update Risks
Method: put
Path: /risk
View Risk Field Length
Method: get
Path: /risk/getFieldLength/{fieldName}
View Risk fields
Method: get
Path: /risk/fields
RiskCategory

The risk category object is used to categorize and organize project risks. A risk can only be associated with a single category. Categories help ensure a comprehensive and systematic way of identifying risks to a consistent level of detail and completeness. Technical, Operational, External are examples of risk categories that might apply to a typical project. Categories are global objects and are usually defined by an administrator.

Create RiskCategories
Method: post
Path: /riskCategory
Delete RiskCategories
Method: delete
Path: /riskCategory
Read RiskCategories
Method: get
Path: /riskCategory
Update RiskCategories
Method: put
Path: /riskCategory
View RiskCategory Field Length
Method: get
Path: /riskCategory/getFieldLength/{fieldName}
View RiskCategory fields
Method: get
Path: /riskCategory/fields
RiskImpact

The risk impact object stores the pre-response qualitative value assigned to a risk for each of the risk thresholds.

Note that this business object has a multi-part object ID; its object ID is a combination of its risk object ID and its risk threshold object ID. The risk threshold object ID is set based on the value used in risk threshold level object ID.

Create RiskImpacts
Method: post
Path: /riskImpact
Delete RiskImpacts
Method: delete
Path: /riskImpact
Read RiskImpacts
Method: get
Path: /riskImpact
Update RiskImpacts
Method: put
Path: /riskImpact
View RiskImpact Field Length
Method: get
Path: /riskImpact/getFieldLength/{fieldName}
View RiskImpact fields
Method: get
Path: /riskImpact/fields
RiskMatrix

The risk matrix object contains the name and description of each probability and impact diagram (PID). The Risk Matrix is then used to qualitatively assess each risk and assign a score.

Create RiskMatrixs
Method: post
Path: /riskMatrix
Delete RiskMatrixs
Method: delete
Path: /riskMatrix
Read RiskMatrixs
Method: get
Path: /riskMatrix
Update RiskMatrixs
Method: put
Path: /riskMatrix
View RiskMatrix Field Length
Method: get
Path: /riskMatrix/getFieldLength/{fieldName}
View RiskMatrix fields
Method: get
Path: /riskMatrix/fields
RiskMatrixScore

The risk matrix score object stores the score values from the probability and impact diagram (PID) of the risk score matrix.

Create RiskMatrixScores
Method: post
Path: /riskMatrixScore
Delete RiskMatrixScores
Method: delete
Path: /riskMatrixScore
Read RiskMatrixScores
Method: get
Path: /riskMatrixScore
Update RiskMatrixScores
Method: put
Path: /riskMatrixScore
View RiskMatrixScore Field Length
Method: get
Path: /riskMatrixScore/getFieldLength/{fieldName}
View RiskMatrixScore fields
Method: get
Path: /riskMatrixScore/fields
RiskMatrixThreshold

The risk matrix threshold object creates a relationship between a RiskThreshold object and a RiskMatrix object. This allows a single RiskThreshold object to be associated with multiple RiskMatrix objects.

Note that this business object has a multi-part object ID; its object ID is a combination of its risk threshold object ID and its risk score matrix object ID.

Create RiskMatrixThresholds
Method: post
Path: /riskMatrixThreshold
Delete RiskMatrixThresholds
Method: delete
Path: /riskMatrixThreshold
Read RiskMatrixThresholds
Method: get
Path: /riskMatrixThreshold
View RiskMatrixThreshold Field Length
Method: get
Path: /riskMatrixThreshold/getFieldLength/{fieldName}
View RiskMatrixThreshold fields
Method: get
Path: /riskMatrixThreshold/fields
RiskResponseAction

The risk response action impact object is a post-risk response action qualitative value that is assigned to a risk for each of the risk thresholds.

Note that this business object has a multi-part object ID; its object ID is a combination of its risk response action object ID and its risk threshold object ID. The risk threshold object ID is set based on the value used in risk threshold level object ID.

Create RiskResponseActions
Method: post
Path: /riskResponseAction
Delete RiskResponseActions
Method: delete
Path: /riskResponseAction
Read RiskResponseActions
Method: get
Path: /riskResponseAction
Update RiskResponseActions
Method: put
Path: /riskResponseAction
View RiskResponseAction Field Length
Method: get
Path: /riskResponseAction/getFieldLength/{fieldName}
View RiskResponseAction fields
Method: get
Path: /riskResponseAction/fields
RiskResponseActionImpact

The risk response action object contains the detailed steps that need to occur to complete the risk response plan.

Multiple actions can be associated with one response plan and each action can be linked to an activity in the project.

Create RiskResponseActionImpacts
Method: post
Path: /riskResponseActionImpact
Delete RiskResponseActionImpacts
Method: delete
Path: /riskResponseActionImpact
Read RiskResponseActionImpacts
Method: get
Path: /riskResponseActionImpact
Update RiskResponseActionImpacts
Method: put
Path: /riskResponseActionImpact
View RiskResponseActionImpact Field Length
Method: get
Path: /riskResponseActionImpact/getFieldLength/{fieldName}
View RiskResponseActionImpact fields
Method: get
Path: /riskResponseActionImpact/fields
RiskResponsePlan

The risk response plan object communicates how the project team plans to address the identified risk. A risk that is categorized as a threat has four types of response plans: accept, avoid, reduce, and transfer. A risk that is an opportunity has four different types of response plans: enhance, exploit, facilitate, and reject. The response plan can be comprised of multiple detailed actions or steps.

Create RiskResponsePlans
Method: post
Path: /riskResponsePlan
Delete RiskResponsePlans
Method: delete
Path: /riskResponsePlan
Read RiskResponsePlans
Method: get
Path: /riskResponsePlan
Update RiskResponsePlans
Method: put
Path: /riskResponsePlan
View RiskResponsePlan Field Length
Method: get
Path: /riskResponsePlan/getFieldLength/{fieldName}
View RiskResponsePlan fields
Method: get
Path: /riskResponsePlan/fields
RiskThreshold

The risk threshold object contains the name, description, and type of each risk threshold. Risk thresholds provide a mechanism for setting up the criteria that is used to assess the risk.

Create RiskThresholds
Method: post
Path: /riskThreshold
Delete RiskThresholds
Method: delete
Path: /riskThreshold
Read RiskThresholds
Method: get
Path: /riskThreshold
Update RiskThresholds
Method: put
Path: /riskThreshold
View RiskThreshold Field Length
Method: get
Path: /riskThreshold/getFieldLength/{fieldName}
View RiskThreshold fields
Method: get
Path: /riskThreshold/fields
RiskThresholdLevel

The risk threshold level object stores the level information (e.g. Low, Medium, High) for each risk threshold.

Create RiskThresholdLevels
Method: post
Path: /riskThresholdLevel
Delete RiskThresholdLevels
Method: delete
Path: /riskThresholdLevel
Read RiskThresholdLevels
Method: get
Path: /riskThresholdLevel
Update RiskThresholdLevels
Method: put
Path: /riskThresholdLevel
View RiskThresholdLevel Field Length
Method: get
Path: /riskThresholdLevel/getFieldLength/{fieldName}
View RiskThresholdLevel fields
Method: get
Path: /riskThresholdLevel/fields
Role

Roles are project personnel job titles or skills, such as mechanical engineer, inspector, or carpenter. They represent a type of resource with a certain level of proficiency rather than a specific individual. Roles can also be assigned to specific resources to further identify that resource's skills. For example, a resource may have a role of a engineer and manager.

You can create a set of roles to assign to resources and activities in all projects in the enterprise. You can establish an unlimited number of roles and organize them in a hierarchy for easier management and assignment. The set of roles you assign to an activity defines the activity's skill requirements.

You can temporarily assign roles during the planning stages of the project to see how certain resources affect the schedule. Once you finalize your plans, you can replace the roles with resources that fulfill the role skill levels. Five proficiency levels can be assigned to roles: Master, Expert, Skilled, Proficient and Inexperienced.

Roles are hierarchical objects.

Create Role
Method: post
Path: /role
Delete Role
Method: delete
Path: /role
Read Role
Method: get
Path: /role
Update Activities
Method: put
Path: /role
View Role Field Length
Method: get
Path: /role/getFieldLength/{fieldName}
View Role fields
Method: get
Path: /role/fields
RoleCode

Role codes are user-defined codes to classify and categorize roles across the enterprise. They are defined globally.

With potentially hundreds of roles being used across an enterprise of projects, codes provide another method for filtering the roles you need to access quickly, or for grouping roles for analysis and summarization in layouts. You can also use role codes to group, sort, and filter roles in profiles and spreadsheets.

Create RoleCodes
Method: post
Path: /roleCode
Delete RoleCode
Method: delete
Path: /roleCode
Read RoleCodes
Method: get
Path: /roleCode
Update RoleCode
Method: put
Path: /roleCode
View RoleCode Field Length
Method: get
Path: /roleCode/getFieldLength/{fieldName}
View RoleCode fields
Method: get
Path: /roleCode/fields
RoleCodeAssignment

A role code assignment business object represents the assignment of a role code to a role. For each role code type, a role may have zero or one role codes assigned.

Note that this business object has a multi-part object ID; its object ID is a combination of its role object ID and its role code object ID.

Create RoleCodeAssignments
Method: post
Path: /roleCodeAssignment
Delete RoleCodeAssignments
Method: delete
Path: /roleCodeAssignment
Read RoleCodeAssignments
Method: get
Path: /roleCodeAssignment
Update RoleCodeAssignments
Method: put
Path: /roleCodeAssignment
View RoleCodeAssignment Field Length
Method: get
Path: /roleCodeAssignment/getFieldLength/{fieldName}
View RoleCodeAssignment fields
Method: get
Path: /roleCodeAssignment/fields
RoleCodeType

Role code types provide a way of classifying role codes. Role codes are user-defined codes to classify and categorize roles across the enterprise. They are defined globally.

With potentially hundreds of roles being used across an enterprise of projects, codes provide another method for filtering the roles you need to access quickly, or for grouping roles for analysis and summarization in layouts. You can also use role codes to group, sort, and filter roles in profiles and spreadsheets.

Create RoleCodeTypes
Method: post
Path: /roleCodeType
Delete RoleCodeTypes
Method: delete
Path: /roleCodeType
Read RoleCodeTypes
Method: get
Path: /roleCodeType
Update RoleCodeTypes
Method: put
Path: /roleCodeType
View RoleCodeType Field Length
Method: get
Path: /roleCodeType/getFieldLength/{fieldName}
View RoleCodeType fields
Method: get
Path: /roleCodeType/fields
RoleRate

Role rates enable you to select a predefined price per unit for cost calculating when assigning the role to an activity. Roles are project personnel job titles or skills, such as mechanical engineer, inspector, or carpenter. They represent a type of resource with a certain level of proficiency rather than a specific individual. As resources, now roles can have different rates assigned to provide more flexibility for cost calculation. See also RateType, RateSource, and RateSourcePreference for more details on how rates can be used in cost calculation.

Create RoleRate
Method: post
Path: /roleRate
Delete RoleRate
Method: delete
Path: /roleRate
Read RoleRate
Method: get
Path: /roleRate
Update Activities
Method: put
Path: /roleRate
View RoleRate Field Length
Method: get
Path: /roleRate/getFieldLength/{fieldName}
View RoleRate fields
Method: get
Path: /roleRate/fields
ScheduleOptions

Specifies how the associated project is to be scheduled.

Note that this business object has a multi-part object ID; its object ID is a combination of its user object ID and its project object ID.

You may not create or delete schedule options; they may only be loaded and updated.

Read ScheduleOptions
Method: get
Path: /scheduleOptions
Update ScheduleOptions
Method: put
Path: /scheduleOptions
View ScheduleOptions Field Length
Method: get
Path: /scheduleOptions/getFieldLength/{fieldName}
View ScheduleOptions fields
Method: get
Path: /scheduleOptions/fields
Shift

Shifts are used to define shift calendars for resources. A shift is comprised of one or more shift periods. The total duration of all shift periods in a shift always adds up to 24 hours, with one hour being the minimum shift period.

Shift hours are considered when calculating units and prices during leveling. The resource calendar is used to determine when the resource can work; the limits for that period are determined from the shift definition for that resource. The minimum resource availability for every shift must satisfy the minimum demand for the resource so that the resource can be leveled properly. Limits defined outside the boundaries of the shift definition are ignored. Since shifts are defined at the resource level, all projects are leveled using that resource according to the shift definition.

Add ShiftPeriod
Method: put
Path: /shift/addShiftPeriod
Create Shift
Method: post
Path: /shift
Delete Shift
Method: delete
Path: /shift
Read Shift
Method: get
Path: /shift
Remove all ShiftPeriod
Method: put
Path: /shift/removeAllShiftPeriods
Remove ShiftPeriod
Method: put
Path: /shift/removeShiftPeriod
Update Activities
Method: put
Path: /shift
View Shift Field Length
Method: get
Path: /shift/getFieldLength/{fieldName}
View Shift fields
Method: get
Path: /shift/fields
Spread

You use the Spread service to read time-phased unit and cost data. This enables you to track resource usage and availability. There are two primary types of spreads: Summarized and Live. Summarized spreads are based on the data calculated during the last time the Summarizer job service ran on the particular EPS or Project being accessed. Summarized spreads include EPS, project, WBS, project resource, and project role spreads. Live spreads do not have a dependency on the Summarizer job service and are always calculated from the current data. Live spreads include activity spreads and resource assignment spreads.

ReadActivitySpread
Method: get
Path: /spread/activitySpread
ReadCBSExpenseSpread
Method: get
Path: /spread/cbsExpenseSpread
ReadCBSResourceSpread
Method: get
Path: /spread/cbsResourceSpread
ReadEPSSpread
Method: get
Path: /spread/epsSpread
ReadProjectResourceSpread
Method: get
Path: /spread/projectResourceSpread
ReadProjectRoleSpread
Method: get
Path: /spread/projectRoleSpread
ReadProjectSpread
Method: get
Path: /spread/projectSpread
ReadResourceAssignmentSpread
Method: get
Path: /spread/resourceAssignmentSpread
ReadWBSExpenseSpread
Method: get
Path: /spread/wbsExpenseSpread
ReadWBSResourceSpread
Method: get
Path: /spread/wbsResourceSpread
ReadWBSRoleSpread
Method: get
Path: /spread/wbsRoleSpread
ReadWBSSpread
Method: get
Path: /spread/wbsSpread
Update ResourceAssignmentSpread
Method: put
Path: /spread/resourceAssignmentSpread
ThresholdParameter

A threshold parameter is a measurement that is applied to activities or work breakdown structure (WBS) elements in a project to identify potential issues. To identify issues that you want to track, you can monitor a specific threshold parameter in the Project Management application and specify a lower and/or upper threshold value against which project data is evaluated. When a threshold parameter is equal to or less than the lower threshold value, or equal to or greater than the upper threshold value, an issue is automatically generated.

You use this service to read the parameters relating to a specific threshold.

Read ThresholdParameters
Method: get
Path: /thresholdParameter
View ThresholdParameter Field Length
Method: get
Path: /thresholdParameter/getFieldLength/{fieldName}
View ThresholdParameter fields
Method: get
Path: /thresholdParameter/fields
Timesheet

Timesheets are used to allow resources to enter status.

This business object has a multi-part object ID; its object ID is a combination of its timesheet period object ID and its resource object ID.

Create Timesheet
Method: post
Path: /timesheet
Delete Timesheet
Method: delete
Path: /timesheet
Read Timesheet
Method: get
Path: /timesheet
Update Timesheet
Method: put
Path: /timesheet
View Timesheet Field Length
Method: get
Path: /timesheet/getFieldLength/{fieldName}
View Timesheet fields
Method: get
Path: /timesheet/fields
TimesheetAudit

The timesheet audit class facilitates reading the timesheet audit records, added to the PM database as triggered by user activity, one record at a time. Fields that can be loaded on the TimesheetAudit object include information about the approval and rejection history (e.g., reviewers and review dates), information about the timesheets (e.g., number of overhead, overtime, and project hours), and information about the audit (e.g, the date the timesheet audit was created). Timesheet audits are readonly.

Read TimesheetAudit
Method: get
Path: /timesheetAudit
View TimesheetAudit Field Length
Method: get
Path: /timesheetAudit/getFieldLength/{fieldName}
View TimesheetAudit fields
Method: get
Path: /timesheetAudit/fields
TimesheetDelegate

Timesheet delegates provide resource and project managers the ability to assign a user to process their timesheets as a delegate. After selecting a delegate for their resources or projects, the resource or project manager can activate and disable the delegate's approval rights at any time. Timesheet delegates for resource managers can review timesheets for resources to whom the resource manager has been assigned as a timesheet approval manager. Timesheet delegates for a project manager can review timesheets for resources who are assigned to activities within the project(s) for which the project manager has been granted approval rights. A project manager can delegate approval rights to different users for each project.

TimesheetDelegates are readonly.

Read TimesheetDelegate
Method: get
Path: /timesheetDelegate
View TimesheetDelegate Field Length
Method: get
Path: /timesheetDelegate/getFieldLength/{fieldName}
View TimesheetDelegate fields
Method: get
Path: /timesheetDelegate/fields
TimesheetPeriod

Timesheet periods indicate both the start date and duration of a group of assigned timesheets. Timesheet periods are read only.

Create TimesheetPeriods
Method: post
Path: /timesheetPeriod
Delete TimesheetPeriods
Method: delete
Path: /timesheetPeriod
Read TimesheetPeriods
Method: get
Path: /timesheetPeriod
Update TimesheetPeriods
Method: put
Path: /timesheetPeriod
View TimesheetPeriod Field Length
Method: get
Path: /timesheetPeriod/getFieldLength/{fieldName}
View TimesheetPeriod fields
Method: get
Path: /timesheetPeriod/fields
UDFCode

UDF codes, also known as issue codes, allow you to organize and categorize project issues in a way that is meaningful to you. Their UDF type is 'Code.' For example, you can create a UDF Code, Severity, and subsequently create code values: 'High', 'Medium', and 'Low'. You can assign each of these code values to project issues across multiple projects, enabling you to categorize each project issue according how severe it is. UDF codes are stored in a non-hierarchical list.

Create UDFCodes
Method: post
Path: /udfCode
Delete UDFCodes
Method: delete
Path: /udfCode
Read UDFCodes
Method: get
Path: /udfCode
Update UDFCodes
Method: put
Path: /udfCode
View UDFCode Field Length
Method: get
Path: /udfCode/getFieldLength/{fieldName}
View UDFCode fields
Method: get
Path: /udfCode/fields
UDFType

User-defined fields (UDFs) enable users to add custom fields and values to the project database. For example, additional activity data, such as delivery dates and purchase order numbers, can be tracked. Business objects that support UDFs are Activity, ActivityExpense, ActivityStep, ActivityStepTemplateItem, Document, Project, ProjectIssue, ProjectRisk, Resource, ResourceAssignment, and WBS. Note that UDFs with a data type of Code may only be assigned to ProjectIssues.

Use the UDFValue Service to assign a UDF to a particular business object.

Create UDFTypes
Method: post
Path: /udfType
Delete UDFTypes
Method: delete
Path: /udfType
Read UDFTypes
Method: get
Path: /udfType
Update UDFTypes
Method: put
Path: /udfType
View UDFType Field Length
Method: get
Path: /udfType/getFieldLength/{fieldName}
View UDFType fields
Method: get
Path: /udfType/fields
UDFValue

A user defined field value represents the value of a particular user defined field when assigned to another business object. The ForeignObjectId field represents the ObjectId of the business object to which the UDF is assigned. Note that the type of the foreign business object must match the subject area of the associated UDFType.

Create UDFValue
Method: post
Path: /udfValue
Delete UDFValue
Method: delete
Path: /udfValue
Read UDFValues
Method: get
Path: /udfValue
Update UDFValue
Method: put
Path: /udfValue
View UDFValue Field Length
Method: get
Path: /udfValue/getFieldLength/{fieldName}
View UDFValue fields
Method: get
Path: /udfValue/fields
UnitOfMeasure

The unit of measure provides definitions of units of measure for material resources. There are three types of resources. The unit of measure for labor and nonlabor resources is time. The unit of measure for material resources is defined by the UnitOfMeasure object.

Create UnitOfMeasures
Method: post
Path: /unitOfMeasure
Delete UnitOfMeasures
Method: delete
Path: /unitOfMeasure
Read UnitOfMeasures
Method: get
Path: /unitOfMeasure
Update UnitOfMeasures
Method: put
Path: /unitOfMeasure
View UnitOfMeasure Field Length
Method: get
Path: /unitOfMeasure/getFieldLength/{fieldName}
View UnitOfMeasure fields
Method: get
Path: /unitOfMeasure/fields
UpdateBaselineOption

As a project progresses, you may want to update baseline data without restoring the baseline or creating a new baseline. When a project is in progress, creating a new baseline may not yield accurate comparison results. When you update a baseline, only the data types you select will be updated.

Read UpdateBaselineOption
Method: get
Path: /updateBaselineOption
Update UpdateBaselineOption
Method: put
Path: /updateBaselineOption
View UpdateBaselineOption Field Length
Method: get
Path: /updateBaselineOption/getFieldLength/{fieldName}
View UpdateBaselineOption fields
Method: get
Path: /updateBaselineOption/fields
User

The set of application users who are allowed to use the system. Each user is assigned a global security profile and project security profile.

Note that the Password and MailServerPassword fields are writable fields only; these fields may not be loaded from the database and are therefore not included in the AllFields array. A user may only change his own password, and only if the old password is specified. An administrator may change any user's password and does not have to specify the user's old password when doing so.

Create Users
Method: post
Path: /user
Delete Users
Method: delete
Path: /user
getPrimaryBaselineProject Operation
Method: get
Path: /user/getPrimaryBaselineProject
LoadUserFilteredActivities Operation
Method: get
Path: /user/loadUserFilteredActivities
LoadUserFilteredMilestoneActivities Operation
Method: get
Path: /user/loadUserFilteredMilestoneActivities
Read Users
Method: get
Path: /user
SetMailServerPassword Operation
Method: put
Path: /user/setMailServerPassword
setPrimaryBaselineProject Operation
Method: put
Path: /user/setPrimaryBaselineProject
SetUserPassword Operation
Method: put
Path: /user/setUserPassword
Update Users
Method: put
Path: /user
View User Field Length
Method: get
Path: /user/getFieldLength/{fieldName}
View User fields
Method: get
Path: /user/fields
UserFieldTitle

User fields enable you to add your own custom fields and values to the project database. For example, you can track additional activity data, such as delivery dates and purchase order numbers, or resource and cost-related data, such as profit, variances, and revised budgets.

In the Project Management application you can display custom user fields in the columns of the Activity Table and then print the layout. You can also group, sort, filter, and summarize by user field, as well as add user fields to reports you create. Use Global Change to assign values to Activity and Activity Resource Assignments type user fields.

You may not create or delete user field titles; they may only be loaded and updated.

Read UserFieldTitles
Method: get
Path: /userFieldTitle
Update UserFieldTitles
Method: put
Path: /userFieldTitle
View UserFieldTitle Field Length
Method: get
Path: /userFieldTitle/getFieldLength/{fieldName}
View UserFieldTitle fields
Method: get
Path: /userFieldTitle/fields
UserInterfaceView

A user interface view is a customized view of P6 Web Access that enables and disables access to P6 Web Access functionality. You can assign a single user interface view to multiple users. However, every user has exactly one user interface view. The system assigns a default user interface view if one has not been specified for the user.

If you set the EnableUserToModifyViewSettingsFlag field in the User object to true, users can modify their copy of the user interface view. When a user changes the user interface view settings, the changes do not affect the settings of other users assigned to the same view.

When you assign a user interface view to a user, the new view replaces the user's current user interface view, including any modifications they may have made to the view.

Read UserInterfaceView
Method: get
Path: /userInterfaceView
View UserInterfaceView Field Length
Method: get
Path: /userInterfaceView/getFieldLength/{fieldName}
View UserInterfaceView fields
Method: get
Path: /userInterfaceView/fields
UserLicense

A user license grants access to applications within the Primavera suite.

UserLicense business objects may not be updated. To change the values on a UserLicense object, create a new object with the desired values and delete the old object.

Create UserLicense
Method: post
Path: /userLicense
Delete UserLicense
Method: delete
Path: /userLicense
Read UserLicense
Method: get
Path: /userLicense
View UserLicense Field Length
Method: get
Path: /userLicense/getFieldLength/{fieldName}
View UserLicense fields
Method: get
Path: /userLicense/fields
UserOBS

A UserOBS object represents an association between a user object and an OBS object. Users are assigned to global OBS elements to define the scope of project and EPS security for the users. For a user to have access to a project or EPS, the user must be assigned to an OBS element within that project or EPS. (Or, the user must have Admin Superuser privileges.) This gives the user access to any WBS areas their assigned OBS is responsible for.

Create UserOBS
Method: post
Path: /userOBS
Delete UserOBS
Method: delete
Path: /userOBS
Read UserOBS
Method: get
Path: /userOBS
Update UserOBS
Method: put
Path: /userOBS
View UserOBS Field Length
Method: get
Path: /userOBS/getFieldLength/{fieldName}
View UserOBS fields
Method: get
Path: /userOBS/fields
WBS

The project work breakdown structure (WBS) is a hierarchical arrangement of the products and services produced during and by a project. Each element of a WBS may contain more-detailed WBS elements, activities, or both. WBS are hierarchical objects.

This business object supports user defined fields (UDFs). Use the UDFValue business object to assign UDFs.

Copy WBS from Template
Method: post
Path: /wbs/copyWBSFromTemplate
Create WBS
Method: post
Path: /wbs
Delete WBS
Method: delete
Path: /wbs
Read Activity WBS Path
Method: get
Path: /wbs/readActivityWBSPath
Read All WBS
Method: get
Path: /wbs/readAllWBS
Read WBS
Method: get
Path: /wbs
Read WBS Path
Method: get
Path: /wbs/readWBSPath
Update WBS
Method: put
Path: /wbs
View WBS Field Length
Method: get
Path: /wbs/getFieldLength/{fieldName}
View WBS fields
Method: get
Path: /wbs/fields
WBSCategory

As their name implies, WBS categories are used to categorize WBS elements. They are defined globally.

Create WBSCategories
Method: post
Path: /wbsCategory
Delete WBSCategories
Method: delete
Path: /wbsCategory
Read WBSCategories
Method: get
Path: /wbsCategory
Update WBSCategories
Method: put
Path: /wbsCategory
View WBSCategory Field Length
Method: get
Path: /wbsCategory/getFieldLength/{fieldName}
View WBSCategory fields
Method: get
Path: /wbsCategory/fields
WBSMilestone

WBS milestones are weighted milestones assigned at the WBS level that can be used for calculating performance percent complete

For each WBS element, set the EarnedValueComputeType to be WBS_MILESTONES_PERCENT_COMPLETE, then define as many milestones as you need and assign a level of significance or weight to each of them. As progress occurs and you mark each milestone complete, the WBS element's performance percent complete is calculated based on the weight of the milestone, independent of its lower-level activities.

Create WBSMilestone
Method: post
Path: /wbsMilestone
Delete WBSMilestone
Method: delete
Path: /wbsMilestone
Read WBSMilestone
Method: get
Path: /wbsMilestone
Update WBSMilestone
Method: put
Path: /wbsMilestone
View Project Field Length
Method: get
Path: /wbsMilestone/getFieldLength/{fieldName}
View Project fields
Method: get
Path: /wbsMilestone/fields
WbsReviewers

Create WbsReviewers
Method: post
Path: /wbsReviewers
Delete WbsReviewers
Method: delete
Path: /wbsReviewers
Read WbsReviewers
Method: get
Path: /wbsReviewers
Update WbsReviewers
Method: put
Path: /wbsReviewers
View WbsReviewers Field Length
Method: get
Path: /wbsReviewers/getFieldLength/{fieldName}
View WbsReviewers fields
Method: get
Path: /wbsReviewers/fields