Create, Update, and Remove Assignments

POST /ws/rest/service/v2/activity/sheet/assignments

Purpose

Create, update, and remove Assignments in the Activity Sheet in a specified Shell based on sourceProjectID, project_number, and the Activity Sheet provided in the input parameters.

Prerequisites

If this REST service is used to add or update assignments for externally-synced activity sheets from other applications, the sourceProjectID should be configured or added in the user interface tab (go to the applicable project/shell tab, select My Dashboard, select Details, and select the Integration tab).

  • For the System Activity Sheet, sourceProjectID (the projectID of the external application) should already exist. If not, use the Mapped Projects API.
  • An activity sheet with activities exists.
  • Cost codes have been defined in the cost sheet.
  • Ensure you have the necessary Activity Sheet Services permissions in the Activity Manager.

    Note:

    • There is no GET or PUT methods for this REST service.
    • Recost only works for the system activity sheet if the assignment spread is present.
    • The Planned Cost, Actual Cost, Remaining Cost, and At Completion Cost values in the Assignments tab are calculated and populated when the user triggers a Recost.
    • The Rate source, Resource and Role, Planning PricePerUnit, and Actuals PricePerUnit values are populated during Recost. The value is zero before Recost is triggered.
    • Scheduling handles spread generation and Recost for the manual activity sheet.
    • For system activity sheets, inactive resources or roles can be assigned. This is not available for manual activity sheets.
    • For manual activity sheets, all Timestamp (dates) related fields exclusively accept hours. Any minutes included in a request are ignored.
    • Only Fixed Duration type activities can be inserted by this REST service.
    • actualDuration is a calculated field for manual activity sheet assignments and is populated when scheduling the sheet.
    • The profile for a supported Assignment is always linear.
    • For manual activity sheets, the Activity Sheet time zone is same as the server time zone to avoid discrepancy of time in UI and API Requests.
    • Validations are not implemented for System Activity Sheet data assuming the data from the source system is sent properly.

Request Format

Send an API Request as a JSON map with the following structure:

{

"options":{},

"data":[]

}

Request Parameters Supported in "options" JSON Map

The "options" JSON map can include the following parameters:

"options":

{"source": "<value>",

"project_number": "<value>",

"sourceProjectId":"<value>",

"activitySheetType": "<value>",

"projectType": "<value>",

"activitySheetName": "<value>",

"removeUnreferencedData": "<value>"

}

The following request parameters can be included in the "options" JSON map:

Request Parameter Required? Data Type Description
source Yes String The external application from which Assignment data is pulled to be populated. Valid values include: "Primavera Cloud", "P6", and "Others".
project_number Yes String The valid 'Active' Unifier Shell number that is to be updated with project details.
sourceProjectId Yes String The project code in the source application. It is always the current Project Id for system and project number for manual.
activitySheetType Yes String

Indicate type of activity sheet type. Valid values include: system and manual.

For Primavera Cloud and P6 integrations, specify "system" to insert data into the System Activity Sheet.

projectType Yes String The type of project for which the assignments have to be created. Valid values include: Current and Baseline.
activitySheetName No String

Specify this parameter if you have selected the "activitySheetType" parameter value as "manual" This parameter checks for any existing manual activity sheet with the same name. Assignments are then removed or added for the activities in that activity sheet.

Ignore this parameter if the "activitySheetType" parameter value is set as "system".

removeUnreferencedData No Boolean

Valid values include:

True: Creates & updates assignments present in the request body for the respective activity. Removes assignments that don't exist in the current request data for the respective activities passed in the API request from the existing activity sheet.

False (default): Does not remove any assignments under an activity from the existing activity sheet. Creates assignments from the request data if they don't exist. Updates assignments if they exist.

Request Parameters Supported in the "data" JSON List [ ]

The "data" JSON list can contain one or more JSON maps in the following format:

{

"options":{},

"data":[

{

"activityId": "<value>",

"rateSource": "<value>",

"workspaceCode": "<value>",

"resourceCode": "<value>",

"roleCode": "<value>",

"plannedPricePerUnit": "<value>",

"actualsPricePerUnit": "<value>",

"plannedUnits": "<value>",

"actualUnits": "<value>",

"atCompletionUnits": "<value>",

"remainingUnits": "<value>",

"costCode": "<value>",

"plannedStart": "<value>",

"plannedFinish": "<value>",

"plannedDuration": "<value>",

"actualStart": "<value>",

"actualFinish": "<value>",

"remainingStart": "<value>",

"remainingFinish": "<value>",

"remainingDuration": "<value>",

"start": "<value>",

"finish": "<value>",

"duration": "<value>",

"plannedUnitsPerTime": "<value>",

"remainingUnitsPerTime": "<value>",

"profile": "<value>"

}

]

}

The following parameters can be included in the "data" JSON list [ ] :

Request Parameter Required? Data Type Description
activityId Yes String The unique Id or code of the Activity in the activity sheet.
rateSource Yes String Determines whether the source for price/unit is Resource or Role or Override. Valid values include: "Resource", "Role" and "Override".
workspaceCode Yes, if the source is Primavera Cloud String If the project is integrated from Primavera Cloud application, specify the code of the workspace where the resource/role is available. This is mandatory field if source is Primavera Cloud
resourceCode Yes, if the rateSource value is "Resource" String The unique identifier for the resource.
roleCode Yes, if the rateSource value is "Role" String The unique identifier for the role.
plannedPricePerUnit No Double
  • This is updated only if the RateSource is set to "Override". Otherwise, it is ignored.
  • Defaults to zero if the value is not provided in the API request and the RateSource is override.
  • If the value is not provided in the API request and the RateSource is "role" or "resource", it is zero. The value will be populated from the Master Rate Sheet after you complete scheduling or recosting.
actualsPricePerUnit No Double
  • This is updated only if the RateSource is set to "Override". Otherwise, it is ignored.
  • Defaults to zero if the value is not provided in the API request and the RateSource is override.
  • If the value is not provided in the API request and the RateSource is "role" or "resource", it is zero. The value will be populated from the Master Rate Sheet after you complete scheduling or recosting.
plannedUnits No Double

System Activity Sheets

If a value is not provided, it defaults to zero.

Manual Activity Sheets

  • If a value is provided, check if PlannedUnits = PlannedDuration X PlannedUnitPerTime. Otherwise, it displays an error.
  • If a value is not provided, it is updated as PlannedDuration X PlannedUnitPerTime.
actualUnits Yes if the Activity status is " In Progress" or "Completed". Double

System Activity Sheets

If a value is not provided, it defaults to zero.

Manual Activity Sheets

If status = Not Started:

  • If its provided in the API request for the assignment, Activity Status will be changed to 'In Progress'.

If status = Completed:

  • This can be updated from the API request
atCompletionUnits No Double

System Activity Sheets

If a value is not provided, it defaults to zero.

Manual Activity Sheets

  • If activities with statuses, Not Started or In Progress, are included in the request, check if: AtCompletionsUnits = RemainingUnits + ActualUnits. Otherwise displays an error.
  • If completed activities are included in the request, check if: AtCompletionsUnits = ActualUnits. , Otherwise displays an error.
  • If it is not provided in the request, it is updated as RemainingUnits + ActualUnits.
remainingUnits No Double

System Activity Sheets

If a value is not provided, it defaults to zero.

Manual Activity Sheets

  • If activities with statuses, Not Started or In Progress, are included in the request, check if: RemainingUnits = RemainingDuration X RemainingUnitsPerTime. Otherwise, displays an error.
  • If it is not provided in the request, it is updated as: RemainingDuration X RemainingUnitsPerTime.
  • Activities with Completed statues are ignored if provided.
costCode No String

Specify the full path of the CBS Code with entire hierarchy present in Cost Sheet, has to be given. Use "~~" will be used as path separators for the hierarchy.

  • For a new Resource/Role created, displays an error message for an inactive costCode.
  • For an update to an existing Resource/Role, compares the existing costCode for that assignment. If the costCode is identical, it will not be updated. Otherwise, displays an error message for the inactive costCode.
For Manual Activity Sheet Assignments, specify the following request parameters
plannedStart No Timestamp

The plannedStart is determined as follows:

  • If the plannedStart is not included in the request, defaults to the Activity PlannedStart.
  • Displays an error if the updated PlannedStart is less than Activity PlannedStart.
plannedFinish No Timestamp

The plannedFinish is determined as follows:

  • If the plannedFinish is not included in the request, defaults to the Activity PlannedFinish.
  • If PlannedFinish of the Assignment is greater than the Activity PlannedFinish, the Activity PlannedFinish is also updated.
plannedDuration No Integer

The plannedDuration is determined as follows:

  • If included in the request, checks if PlannedDuration = PlannedFinish - PlannedStart. Otherwise, displays an error message.
  • If the plannedDuration is not included in the request, it is calculated as: PlannedFinish - PlannedStart.
actualStart No Timestamp

If the ActivityStatus is In Progress or Completed and is less than the Activity ActualStart then the Activity ActualStart is also updated.

If it is not provided in the request then it is updated as the Activity ActualStart.

actualFinish No Timestamp

If ActivityStatus is Completed and the ActualFinish of the Assignment in the request is greater than the Activity ActualFinish then the Activity ActualFinish is also updated.

If it is not provided in the request then it is updated as the Activity ActualFinish

remainingStart No Timestamp

When ActivityStatus is Not Started:

  • If it is included in the request, it checks if the RemainingStart is same as Assignment Planned Start. Otherwise, displays an error message.
  • If it is not provided in the request, it is updated as the Assignment Planned Start.

When ActivityStatus is In Progress:

  • If it is included in the request, it checks if it is less than Activity Remaining Start. Otherwise, displays an error message.
  • If it is not provided in the request, it is updated as the Activity Remaining Start date.

If ActivityStatus is Completed, no value is assigned.

remainingFinish No Timestamp

If the status is Not Started:

  • If it's included in the request , it checks if the Remaining Finish is same as the Assignment Planned Finish. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the Assignment Planned Finish.

If status is in In Progress:

  • If it is included in the request, it checks if it is greater than the Activity RemainingFinish, and then also updates the Activity RemainingFinish.
  • If it is not included in the request, it is updated as the Activity Remaining Finish.

If ActivityStatus is Completed, no value is assigned.

remainingDuration No Integer

If the status is Not Started or In Progress:

  • If it is included in the request , it checks if the remainingDuration = RemainingFinish - RemainingStart. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as RemainingFinish - RemainingStart

If the Status is Completed, it is set to zero (0)

start No Timestamp

If ActivityStatus is Not Started:

  • If it is included in the request , it must be identical to the PlannedStart of the Assignment in the API. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the PlannedStart date of that Assignment.
  • If both Start and PlannedStart are not included in the request, Start is updated from the Activity PlannedStart.

If ActivityStatus is In Progress or Completed:

  • If it is included in the request, it must be same as the ActualStart of that Assignment. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the ActualStart of that Assignment.

If both, Start and ActualStart are not provided then Start is updated using the Activity ActualStart.

finish No Timestamp

If the ActivityStatus is Not Started:

  • If it is provided in the request, it should be same as the PlannedFinish of that Assignment. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the PlannedFinish of that Assignment.
  • If both Finish and PlannedFinish are not provided, Finish is updated from the Activity PlannedFinish.

If the ActivityStatus is In Progress Activities:

  • If it is included in the request, it should be same as the RemainingFinish of that Assignment in the API request. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the RemainingFinish of that Assignment.
  • If both Finish and RemainingFinish are not provided, Finish is updated from the Activity RemainingFinish.

If the ActivityStatus is Completed:

  • If it is included in the request, it should be same as the ActualFinish of that Assignment in the request. Otherwise, displays an error message.
  • If it is not included in the request, it is updated as the ActualFinish of that Assignment.
  • If both Finish and ActualFinish of the Assignment are not provided, Finish is updated from the Activity ActualFinish.
duration No Integer

If it is included in the API request, it check if Start + Duration = Finish. Otherwise, displays an error message.

If it is not included in the request, it is updated as, Finish - Start.

plannedUnitsPerTime No Double If it is not included in the request, it is populated from the Master Rate Sheet.
remainingUnitsPerTime No Double

If ActivityStatus is Not Started:

  • If it is included in the request, checks if it is same as the plannedUnitsPerTime. Otherwise, displays an error message.
  • If it is not included in the request, it is populated from the Master Rate Sheet.

If ActivityStatus is In Progress Activities and it is not included in the request, it is populated from the Master Rate Sheet.

If ActivityStatus is Completed:

  • When the assignment is created, it is populated with default value from the Master Rate Sheet.
  • When the assignment is updated, this value is ignored, and not updated.
profile No String The profile for the assignments. Valid value: "Linear".

Response Format

A JSON object is returned in the following format:

{

"data": [],

"message": [<list of messages>],

"status": <REST status code value>,

"rest_audit_id": <id from the audit table>

}

A successful response displays a status code 200.

A failed response displays a message with a status code.

Sample Request (System Activity Sheet - Current Project)

This is an example of a request sent for a Current project in a system activity sheet.

{

"options":{

"project_number":"P-0016",

"source":"Primavera Cloud",

"sourceProjectId":"OPC10",

"activitySheetType":"system",

"removeUnreferencedData":true,

"projectType": "Current"

},

"data": [

{

"activityId":"A1000",

"roleCode":"APIOPC1",

"rateSource": "Override",

"workspaceCode" :"NON_PROD",

"plannedPricePerUnit": 20.0,

"actualsPricePerUnit":20.0,

"plannedUnits":40,

"actualUnits":0,

"atCompletionUnits":40,

"remainingUnits":50,

"costCode": "00000~~00500",

"profile" : "Linear"

},

{

"activityId":"A1010",

"resourceCode":"Child999",

"rateSource": "Resource",

"workspaceCode" :"test1",

"plannedPricePerUnit": 20.0,

"actualsPricePerUnit":20.0,

"plannedUnits":40,

"actualUnits":0,

"atCompletionUnits":40,

"remainingUnits":40,

"costCode": "00000~~00500",

"profile" : "Linear"

},

{

"activityId":"A1010",

"roleCode":"APIOPC1",

"rateSource": "Role",

"workspaceCode" :"NON_PROD",

"plannedPricePerUnit": 20.0,

"actualsPricePerUnit":20.0,

"plannedUnits":40,

"actualUnits":0,

"atCompletionUnits":40,

"remainingUnits":40,

"costCode": "00000~~00500",

"profile" : "Linear"

},

{

"activityId":"A1020",

"resourceCode":"Child1Rate4",

"rateSource": "Resource",

"workspaceCode" :"NON_PROD3",

"plannedPricePerUnit": 20.0,

"actualsPricePerUnit":20.0,

"plannedUnits":40,

"actualUnits":0,

"atCompletionUnits":40,

"remainingUnits":40,

"costCode": "00000~~00500",

"profile" : "Linear"

}

]

}

Sample Response (System Activity Sheet - Current Project)

The REST service returns a response for the above request.

{

"data": [

{

"activityId": "A1000",

"costCode": "00000~~00500",

"actualsPricePerUnit": 20.0,

"actualUnits": 0,

"plannedPricePerUnit": 20.0,

"workspaceCode": "NON_PROD",

"roleCode": "APIOPC1",

"plannedUnits": 40,

"atCompletionUnits": 40,

"id": 514,

"remainingUnits": 50,

"rateSource": "Override"

},

{

"activityId": "A1010",

"costCode": "00000~~00500",

"actualUnits": 0,

"resourceCode": "Child999",

"workspaceCode": "test1",

"plannedUnits": 40,

"atCompletionUnits": 40,

"id": 503,

"remainingUnits": 40,

"rateSource": "Resource"

},

{

"activityId": "A1010",

"costCode": "00000~~00500",

"actualUnits": 0,

"workspaceCode": "NON_PROD",

"roleCode": "APIOPC1",

"plannedUnits": 40,

"atCompletionUnits": 40,

"id": 513,

"remainingUnits": 40,

"rateSource": "Role"

},

{

"activityId": "A1020",

"costCode": "00000~~00500",

"actualUnits": 0,

"resourceCode": "Child1Rate4",

"workspaceCode": "NON_PROD3",

"plannedUnits": 40,

"atCompletionUnits": 40,

"id": 510,

"remainingUnits": 40,

"rateSource": "Resource"

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 2648

}

Sample Request (Creation of Assignments for Baseline Project from Oracle Primavera Cloud)

This is an example of a request sent to create for a baseline project from Oracle Primavera Cloud.

{

"options":{

"project_number":"P-0099",

"source":"Primavera Cloud",

"sourceProjectId":"Reg235",

"activitySheetType":"system",

"projectType":"Baseline",

"removeUnreferencedData":"true"

},

"data": [

{

"activityId":"A1000",

"resourceCode":"Res1",

"roleCode":"Role1",

"rateSource": "Resource",

"plannedPricePerUnit": 10,

"actualsPricePerUnit":20,

"plannedUnits":10,

"actualUnits":10,

"atCompletionUnits":10,

"remainingUnits":10,

"plannedCost": 300.50,

"actualCost": 200.30,

"atCompletionCost":500.80,

"remainingCost":50.00,

"costCode": "C-001",

"start": "2023-06-05T08:00:00",

"finish": "2023-06-09T16:00:00",

"duration": 40,

"plannedStart": "2023-06-05T08:00:00",

"plannedFinish": "2023-06-09T16:00:00",

"plannedDuration":40,

"actualStart": "",

"actualFinish": "",

"remainingStart": "2023-06-05T08:00:00",

"remainingFinish": "2023-06-09T16:00:00",

"remainingDuration" : 40,

"plannedUnitsPerTime" : 0,

"remainingUnitsPerTime" : 0,

"profile" : "Linear",

"workspaceCode":"NON_PROD"

}

]

}

Sample Response (Creation of Assignments for Baseline Project from Oracle Primavera Cloud)

The REST service returns a response by creating assignments for the above request.

{

"data": [

{

"activityId":"A1000",

"resourceCode":"Res1",

"roleCode":"Role1",

"rateSource": "Resource",

"plannedPricePerUnit": 10,

"actualsPricePerUnit":20,

"plannedUnits":10,

"actualUnits":10,

"atCompletionUnits":10,

"remainingUnits":10,

"plannedCost": 300.50,

"actualCost": 200.30,

"atCompletionCost":500.80,

"remainingCost":50.00,

"costCode": "C-001",

"start": "2023-06-05T08:00:00",

"finish": "2023-06-09T16:00:00",

"duration": 40,

"plannedStart": "2023-06-05T08:00:00",

"plannedFinish": "2023-06-09T16:00:00",

"plannedDuration":40,

"actualStart": "",

"actualFinish": "",

"remainingStart": "2023-06-05T08:00:00",

"remainingFinish": "2023-06-09T16:00:00",

"remainingDuration": 40,

"plannedUnitsPerTime": 0,

"remainingUnitsPerTime": 0,

"profile": "Linear",

"workspaceCode":"NON_PROD",

"id" : 123

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 5822

}

Sample Failure Request

This is an example of a request sent with erroneous request parameter values.

{

"options":{

"project_number":"P-0016",

"source":"Others",

"sourceProjectId":"Reg235",

"activitySheetType":"manual",

"removeUnreferencedData":true,

"activitySheetName":"MOD",

"projectType": "Current1"

},

"data": [

{

"activityId":"A1000",

"resourceCode":"Res1",

"roleCode":"Role1",

"rateSource": "Resource",

"plannedPricePerUnit": 10,

"actualsPricePerUnit":20,

"plannedUnits":10,

"actualUnits":10,

"atCompletionUnits":10,

"remainingUnits":10,

"plannedCost": 300.50,

"actualCost": 200.30,

"atCompletionCost":500.80,

"remainingCost":50.00,

"costCode": "C-001",

"start": "2023-06-05T08:00:00",

"finish": "2023-06-09T16:00:00",

"duration": 40,

"plannedStart": "2023-06-05T08:00:00",

"plannedFinish": "2023-06-09T16:00:00",

"plannedDuration":40,

"actualStart": "",

"actualFinish": "",

"actualDuration": 0,

"remainingStart": "2023-06-05T08:00:00",

"remainingFinish": "2023-06-09T16:00:00",

"remainingDuration" : 40,

"plannedUnitsPerTime" : 0,

"remainingUnitsPerTime" : 0,

"profile" : "Linear"

}

]

}

Sample Failure Response

The REST service returns a response for the above erroneous request.

{

"data": [],

"message": [

{

"message": "Invalid value was found in a field: 'projectType'. Allowed values: [Current, Baseline]",

"status": 12145

}

],

"status": 3000,

"rest_audit_id": 1794

}

Sample Request (Manual Activity Sheet – Current Project – Assignments for Not Started Activity)

This is an example of a request for a manual activity sheet in a current project.

{

"options":{

"project_number":"P-0016",

"source":"Others",

"sourceProjectId":"P-0016",

"activitySheetType":"manual",

"removeUnreferencedData":false,

"activitySheetName":"ACTUTC530",

"projectType": "Current"

},

"data": [

{

"activityId":"A1000",

"roleCode":"APIOPC1",

"rateSource": "Override",

"workspaceCode" :"NON_PROD",

"plannedPricePerUnit": 30.0,

"actualsPricePerUnit":30,

"plannedStart": "2023-06-05T08:00:00",

"plannedFinish": "2023-06-12T16:00:00",

"plannedDuration":48,

"plannedUnits":528.0,

"atCompletionUnits":528.0,

"remainingUnits":528.0,

"costCode": "00000~~00700",

"start": "2023-06-05T08:00:00",

"finish": "2023-06-12T16:00:00",

"duration": 48.0,

"remainingStart": "2023-06-05T08:00:00",

"remainingFinish": "2023-06-12T16:00:00",

"remainingDuration": 48,

"remainingUnitsPerTime": 11.0,

"plannedUnitsPerTime": 11.0,

"profile": "Linear"

}

]

}

Sample Response (Manual Activity Sheet – Current Project – Assignments for Not Started Activity)

The REST service returns a response for the above request.

{

"data": [

{

"actualUnits": null,

"plannedPricePerUnit": 30.0,

"plannedUnits": 528.0,

"remainingFinish": "2023-06-12T16:00:00",

"start": "2023-06-05T08:00:00",

"atCompletionUnits": 528.0,

"remainingUnits": 528.0,

"plannedStart": "2023-06-05T08:00:00",

"plannedFinish": "2023-06-12T16:00:00",

"rateSource": "Override",

"duration": 48.0,

"activityId": "A1000",

"costCode": "00000~~00700",

"actualsPricePerUnit": 30,

"roleCode": "APIOPC1",

"remainingStart": "2023-06-05T08:00:00",

"remainingDuration": 48.0,

"plannedDuration": 48.0,

"finish": "2023-06-12T16:00:00",

"remainingUnitsPerTime": 11.0,

"plannedUnitsPerTime": 11.0,

"id": 567

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 3396

}

Sample Request (Manual Activity Sheet – Current Project – Sample of Assignments for Completed Activity)

This is a request sent for a Manual Activity Sheet for a current project with assignments for completed activities.

{

"options":{

"project_number":"P-0016",

"source":"Others",

"sourceProjectId":"P-0016",

"activitySheetType":"manual",

"removeUnreferencedData":false,

"activitySheetName":"ACTUTC530",

"projectType": "Current"

},

"data": [

{

"activityId":"A1020",

"roleCode":"CivEng",

"rateSource": "Override",

"workspaceCode" :"NON_PROD",

"plannedPricePerUnit": 30.0,

"actualsPricePerUnit":30,

"plannedStart": "2023-06-06T08:00:00",

"plannedFinish": "2023-06-07T16:00:00",

"plannedDuration":16,

"plannedUnits":176.0,

"atCompletionUnits":8.0,

"remainingUnits":440.0,

"costCode": "00000~~00700",

"start": "2023-06-06T08:00:00",

"finish": "2023-06-07T16:00:00",

"duration": 16.0,

"actualStart": "2023-06-06T08:00:00",

"actualFinish": "2023-06-07T16:00:00",

"remainingUnitsPerTime": 11.0,

"plannedUnitsPerTime": 11.0,

"actualDuration": 10,

"actualUnits": 8,

"profile" : "Linear"

}

]

}

Sample Response (Manual Activity Sheet – Current Project – Sample of Assignments for Completed Activity)

The REST service returns a response for the above request.

{

"data": [

{

"actualUnits": 8.0,

"plannedUnitsPerTime": 11.0,

"plannedPricePerUnit": 30.0,

"plannedUnits": 176.0,

"remainingFinish": "",

"start": "2023-06-06T08:00:00",

"atCompletionUnits": 8.0,

"remainingUnits": 440.0,

"plannedStart": "2023-06-06T08:00:00",

"rateSource": "Override",

"duration": 16.0,

"activityId": "A1020",

"actualFinish": "2023-06-07T16:00:00",

"plannedFinish": "2023-06-07T16:00:00",

"costCode": "00000~~00700",

"actualsPricePerUnit": 30,

"roleCode": "CivEng",

"remainingStart": "",

"remainingDuration": 0,

"plannedDuration": 16.0,

"finish": "2023-06-07T16:00:00",

"id": 571,

"actualStart": "2023-06-06T08:00:00"

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 3517

}

Sample Request (Manual Activity Sheet – Current Project – Sample of Assignments for In Progress Activity)

This is a request sent for a Manual Activity Sheet for a current project with assignments for In Progress activities.

{

"options":{

"project_number":"P-0016",

"source":"Others",

"sourceProjectId":"P-0016",

"activitySheetType":"manual",

"removeUnreferencedData":false,

"activitySheetName":"ACTUTC530",

"projectType": "Current"

},

"data": [

{

"activityId":"A1010",

"roleCode":"CivEng",

"rateSource": "Override",

"workspaceCode" :"NON_PROD",

"plannedPricePerUnit": 30.0,

"actualsPricePerUnit":30,

"plannedStart": "2023-06-08T08:00:00",

"plannedFinish": "2023-06-15T16:00:00",

"plannedDuration":48,

"plannedUnits":48.0,

"atCompletionUnits":32.0,

"remainingUnits":32.0,

"actualUnits":0,

"costCode": "00000~~00700",

"actualStart":"2023-06-05T08:00:00",

"start": "2023-06-05T08:00:00",

"finish": "2023-06-09T16:00:00",

"duration": 40.0,

"remainingStart": "2023-06-08T08:00:00",

"remainingFinish": "2023-06-09T16:00:00",

"remainingDuration" : 16,

"plannedUnitsPerTime" : 1,

"remainingUnitsPerTime":2,

"actualDuration": 0,

"profile" : "Linear"

}

]

}

Sample Response (Manual Activity Sheet – Current Project – Sample of Assignments for In Progress Activity)

The REST service returns a response for the above request.

{

"data": [

{

"plannedFinish": "2023-06-15T16:00:00",

"actualUnits": null,

"plannedPricePerUnit": 30.0,

"plannedUnits": 48.0,

"remainingFinish": "2023-06-09T16:00:00",

"start": "2023-06-05T08:00:00",

"atCompletionUnits": 32.0,

"remainingUnits": 32.0,

"plannedStart": "2023-06-08T08:00:00",

"rateSource": "Override",

"plannedUnitsPerTime" : 1,

"remainingUnitsPerTime":2,

"duration": 40.0,

"actualUnits":0,

"activityId": "A1010",

"costCode": "00000~~00700",

"actualsPricePerUnit": 30,

"roleCode": "CivEng",

"remainingStart": "2023-06-08T08:00:00",

"remainingDuration": 16.0,

"plannedDuration": 48.0,

"finish": "2023-06-09T16:00:00",

"id": 575,

"actualStart": "2023-06-05T08:00:00"

}

],

"message": [

"success"

],

"status": 200,

"rest_audit_id": 3555

}

Options JSON Map: Supported Validation Messages and Status Codes

The following error messages and status codes display in the response when incorrect values are provided in the request.

Field Name Use-case Scenario Status Code Error Message
source The source is not given in JSON input payload 12007 The API request is missing the required information: [source]
source A wrong source value. 12008 Invalid value was found in a field: [source]. Allowed values: [Primavera Cloud, Others]
source A wrong value type for source such as boolean or numbers. 12008 Invalid value was found in a field: [source]. Allowed values: [Primavera Cloud, Others]
source An empty source value. 12030 The API request contains empty value for: [source]. Allowed values: [Primavera Cloud, Others]
project_number An invalid project_number. 602 Project/Shell Number is not correct.
project_number The project_number is not given 12018 The API request is missing the required information: [project_number].
project_number If the project status is inactive or on-hold or View Only for a given project_number. 12020 The API request contains an invalid value: [project_number]. Please check the status of this project_number in Unifier.
project_number The project_number is empty. 12128 The API request contains empty value for: [project_number].
sourceProjectId If the sourceProjectId is not configured in the source shell. 12021 The API request contains an invalid value: [sourceProjectId]. Please check if this sourceProjectId has been configured in Unifier.
sourceProjectId Invalid special characters in the sourceProjectId. 12022 The API request contains invalid characters in: [sourceProjectId]. The following characters are not allowed: / \\ : * ? \" < > | ' =
sourceProjectId A missing sourceProjectId. 12005 The API request is missing the required information: [sourceProjectId]
sourceProjectId A blank sourceProjectId. 12032 The API request contains empty value for: [sourceProjectId].
sourceProjectId Invalid length of sourceProjectId. 12014 Invalid value was found in a field: 'sourceProjectId'. Allowed length: [250]
activitySheetType A missing activitySheetType value. 12010 The API request is missing the required information: [activitySheetType]
activitySheetType Accepts only "manual" or "system", else throwing validation. 12011 Invalid value was found in a field: [activitySheetType]. Allowed values: [manual, system]
activitySheetType The source is "Primavera Cloud" in the request, and the activitySheetType is "manual". 12671 Invalid value was found in a field: [activitySheetType]. If source=Primavera Cloud, allowed values: [system]
activitySheetType The source is "Others" in the request and the activitySheetType is "system". 12671 Invalid value was found in a field: [activitySheetType]. If source=Others, allowed values: [manual]
projectType The projectType is missing in the payload. 12143 The API request is missing the required information: [projectType].
projectType The projectType is empty/blank. 12144 The API request contains empty value for: [projectType].
projectType The wrong data type(integer/boolean) value is passed for projectType. 12142 Invalid value was found in a field: [projectType]. Allowed only alphanumeric value.
projectType Some invalid value except "Current"/"Baseline" passed in projectType. 12145 Invalid value was found in a field: [projectType]. Allowed values: [Current, Baseline]
activitySheetName The activity sheet name is empty for activity sheet type "manual", and displays validation. 12012 The API request is missing the required information: [activitySheetName].
activitySheetName The activitySheetName exceeds 250 characters. 12017 Invalid value was found in a field: [activitySheetName]. Allowed length: [250]
activitySheetName he activitySheetName does not exist. 12013 The API request contains an invalid value: [activitySheetName]. Please check if this activitySheetName with type=manual has been configured in Unifier.
removeUnreferencedData A non-boolean value is provided in removeUnreferencedData. 12016 Invalid value was found in a field: [removeUnreferencedData]. Allowed values: [true, false]

Data JSON List: Supported Validation Messages and Status Codes

The following error messages and status codes display in the response when incorrect values are provided in the request.

Field Name Use-case Scenario Status Code Error Message
activityId The activityId exceeds 120 characters. 12003 Invalid value was found in a field: [activityId]. Allowed length: [120]
activityId The activityId is missing in payload. 12009 The API request is missing the required information: [activityId]
activityId A non-string value is provided for activityId.. 12033 Invalid value was found in a field: [activityId]. Allowed only string value or use quotations. Activity ID: <activityId>
activityId The activityId does not exist in the Activity Sheet. 12606 Invalid value was found in a field [activityId]. Allowed Activity ID that already exists in Activity Sheet. Activity ID: <activityId>
rateSource The rateSource is empty, or Non-String, or null, or invalid value. 12600 Invalid value was found in a field: [rateSource]. Allowed values: [Resource, Role or Override]. Activity ID: <activityId>
rateSource The rateSource is missing in payload. 12611 The API request is missing the required information: [rateSource]. Activity ID: <activityId>
workspaceCode The invalid workspaceCode like not string or not alphanumeric or empty or null. 12115 Invalid value was found in a field: [workspaceCode]. Allowed only alphanumeric value.
workspaceCode The workspaceCode is missing in payload. 12612 The API request is missing the required information: [workspaceCode].
resourceCode The rateSource is "Resource" and the resourceCode is missing in the payload. 12400 The API request is missing the required information: [resourceCode]. Activity ID: <activityId>
resourceCode The rateSource is "Resource" and the Resource Code is empty. 12401 The API request contains an empty value for: [resourceCode]. Activity ID: <activityId>
resourceCode A non-string value is provided for Resource Code. 12402 Invalid value was found in a field: [resourceCode]. Allowed only string value or use quotations. Activity ID: <activityId>
resourceCode The Resource Code exceeds 120 characters. 12403 Invalid value was found in a field: [resourceCode]. Allowed length: [120]. Activity ID: <activityId> Resource Code: <resourceCode>
resourceCode A duplicate resourceCode exists under the same activityId in the request. 12613 Only unique value allowed for [resourceCode] under an Activity. Activity ID: <activityId> Resource Code: <resourceCode>
resourceCode The Resource Code does not exist in the Master Rate Sheet 12607 Invalid value was found in a field [resourceCode]. Allowed only the Resource codes present in Master Rate Sheet. Activity ID: <activityId> Resource Code: <resourceCode>
roleCode The rateSource is "Role" and the Role Code is missing. 12421 The API request is missing the required information: [roleCode]. Activity ID: <activityId>
roleCode The rateSource is "Role" and the Role Code is empty. 12422 The API request contains an empty value for: [roleCode]. Activity ID: <activityId>
roleCode A non-string value is provided for Role Code. 12423 Invalid value was found in a field: [roleCode]. Allowed only string value or use quotations. Activity ID: <activityId>
roleCode The Role Code exceeds 120 characters. 12424 Invalid value was found in a field: [roleCode]. Allowed length: [120]. Activity ID: <activityId> Role Code: <roleCode>
roleCode A duplicate Role Code exists under the same activityId in the request. 12614 Only unique value allowed for [roleCode] under an Activity. Activity ID: <activityId> Role Code: <roleCode>
roleCode The Role Code does not exist in Master Rate Sheet 12608 Invalid value was found in a field [roleCode]. Allowed only the Role codes present in Master Rate Sheet. Activity ID: <activityId> Role Code: <roleCode>
plannedPricePerUnit An Invalid plannedPricePerUnit (Not Double) or empty or null. 12601 Invalid value was found in a field: [plannedPricePerUnit]. Allowed only positive decimal value. Activity ID: <activityId>/Resource Code: <resourceCode>/Role Code: <roleCode>
plannedPricePerUnit The plannedPricePerUnit exceeds 999999999999999 or less than 0. 12602 Invalid value was found in a field: [plannedPricePerUnit]. Allowed Range [0-999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualsPricePerUnit An invalid actualsPricePerUnit (Not Double) or empty or null. 12601 Invalid value was found in a field: [actualsPricePerUnit]. Allowed only positive decimal value. Activity ID: <activityId>. Resource Code: <resourceCode>/Role Code: <roleCode>
actualsPricePerUnit The actualsPricePerUnit exceeds 999999999999999 or less than 0. 12602 Invalid value was found in a field: [actualsPricePerUnit]. Allowed Range [0-999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
plannedUnits An invalid plannedUnits (Not Double) or empty or null. 12604 Invalid value was found in a field: [plannedUnits]. Allowed only numerical/decimal value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
plannedUnits The plannedUnits is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [plannedUnits]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
plannedUnits PlannedUnits != PlannedDuration*PlannedUnitPerTime (for Manual Activity Sheet only). 12615 Invalid value was found in a field [plannedUnits]. The value provided should be equal to (plannedDuration * plannedUnitPerTime) of the assignment. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualUnits Invalid actualUnits (Not Double) or empty or null. 12604 Invalid value was found in a field: [actualUnits]. Allowed only numerical/decimal value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
actualUnits actualUnits is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [actualUnits]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualUnits For In Progress or Completed Activities, the actualsUnits is missing in the request. 12670 The API request is missing the required information: [actualUnits]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
atCompletionUnits An invalid atCompletionUnits (Not Double) or empty or null. 12604 Invalid value was found in a field: [atCompletionUnits]. Allowed only numerical/decimal value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
atCompletionUnits The atCompletionUnits is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [atCompletionUnits ]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
atCompletionUnits For Not Started or In Progress Activities : If AtCompletionsUnits != RemainingUnits + ActualUnits (for Manual Activity Sheet only). 12615 Invalid value was found in a field [atCompletionUnits]. The value provided should be equal to (remainingUnits + actualUnits) of the assignment. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
atCompletionUnits For Completed Activities : If AtCompletionsUnits != ActualUnits (for Manual Activity Sheet only). 12615 Invalid value was found in a field [atCompletionUnits]. The value provided should be equal to (actualUnits) of the assignment. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingUnits Invalid remainingUnits (Not Double) or null. 12604 Invalid value was found in a field: [remainingUnits]. Allowed only numerical/decimal value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
remainingUnits The remainingUnits is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [remainingUnits]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingUnits If RemainingUnits != RemainingDuration*RemainingUnitsPerTime (for Manual Activity Sheet only). 12615 Invalid value was found in a field [remainingUnits]. The value provided should be equal to (remainingDuration * remainingUnitsPerTime) of the assignment. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
costCode An Invalid costCode is provided - (Non-String) or empty or null or blank. 12609 Invalid value was found in a field: [costCode]. Allowed only string values. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
costCode The costCode does not exist in the Cost Sheet. 12610 Invalid value was found in a field [costCode]. Allowed only the Cost codes present in Cost Sheet. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
costCode Inactive costCode provided in the API request. 12623 Invalid value was found in a field: [costCode]. Allowed only active Cost codes. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
plannedStart An invalid plannedStart format or null or empty value is provided in the request. 12620 The API request contains an invalid value: [plannedStart]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
plannedStart The plannedStart less than Activity Planned Start Date. 12621 Invalid value was found in a field [plannedStart]. plannedStart cannot be less than Activity plannedStart. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
plannedStart The plannedStart provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [plannedStart]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
plannedFinish An invalid plannedFinish format or null or empty value provided in the request. 12620 The API request contains an invalid value: [plannedFinish]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
plannedFinish The plannedFinish provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [plannedFinish]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
plannedDuration An invalid plannedDuration (Not Integer) or empty or null. 12616 Invalid value was found in a field: [plannedDuration]. Allowed only positive integer value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
plannedDuration If plannedDuration != plannedFinish - plannedStart. 12618 Invalid value was found in a field [plannedDuration]. The value provided should be equal to (plannedFinish - plannedStart) of the assignment, as per the calendar defined. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualStart An invalid actualStart format or null or empty value is provided in the request. 12620 The API request contains an invalid value: [actualStart]. Correct date format [yyyy-MM-ddTHH:MM:SS]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualStart If Actual Start is in the future. 12625 Invalid value was found in a field [actualStart]. actualStart cannot be later than Today. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualStart actualStart provided is on holiday or non-working day. 12672 Invalid value was found in a field: [actualStart]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
actualFinish Invalid actualFinish format or null or empty value provided in the API Request. 12620 The API request contains an invalid value: [actualFinish]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualFinish The Actual Finish is in future. 12625 Invalid value was found in a field [actualFinish]. actualFinish cannot be later than Today. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
actualFinish The plannedStart provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [plannedStart]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
actualFinish The actualFinish provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [actualFinish]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
remainingStart An invalid remainingStart format or null or empty value provided in the request. 12620 The API request contains an invalid value: [remainingStart]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingStart For NotStarted Activity, if plannedStart date and remainingStart are provided in the request, they should be the same, otherwise displays an error. 12624 Invalid value was found in a field [remainingStart]. The value provided should be equal to plannedStart, if Activity status = Not Started. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingStart For In Progress Activities, if the remaining start date less than Activity Remaining Start date then throw an error. 12626 Invalid value was found in a field [remainingStart]. The value provided should be equal to or greater than remainingStart of the Activity, if Activity status = In Progress. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingStart The remainingStart provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [remainingStart]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
remainingFinish Invalid remainingFinish format or null or empty value provided in the API Request. 12620 The API request contains an invalid value: [remainingFinish]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingFinish For NotStarted Activity, if remainingFinish date and plannedFinish date are provided in the request, they should be same, else display an error. 12624 Invalid value was found in a field [remainingFinish]. The value provided should be equal to plannedFinish, if Activity status = Not Started. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingFinish The remainingFinish provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [remainingFinish]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
remainingDuration An invalid remainingDuration (Not Integer) or empty or null. 12616 Invalid value was found in a field: [remainingDuration]. Allowed only positive integer value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
remainingDuration remainingDuration!= RemainingFinish - RemainingStart. 12618 Invalid value was found in a field [remainingDuration]. The value should be equal to (remainingFinish - remainingStart) of the assignment, as per the calendar defined. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
start An invalid start format or null or empty value provided in the request. 12620 The API request contains an invalid value: [start]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
start For NotStarted Activity, if Planned start date and Start date are provided in the request, they should be same, else displays an error. 12624 Invalid value was found in a field [start]. The value provided should be equal to plannedStart, if Activity status = Not Started. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
start For In Progress & Completed Activities, if the actual start date and start are not same, display an error. 12627 Invalid value was found in a field [start]. The value provided should be equal to actualStart (actualStart (Assignment)= actualStart (Activity), if not provided in API), if Activity status = In Progress or Completed. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
start The start provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [start]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
finish An invalid finish format or null or empty value is provided in the request. 12620 The API request contains an invalid value: [finish]. Correct date format [yyyy-MM-ddTHH:mm:ss]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
finish For NotStarted Activity, if Planned finish date and finish are provided in the Request, they should be same. Otherwise, display an error. 12624 Invalid value was found in a field [finish]. The value provided should be equal to plannedfinish, if Activity status = Not Started. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
finish For In Progress Activities, if the Remaining finish date and finish are not same, display an error. 12628 Invalid value was found in a field [finish]. The value provided should be equal to remainingfinish, if Activity status = In Progress. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
finish For Completed Activities, if the actual finish date and finish are not same, display an error. 12629 Invalid value was found in a field [finish]. The value provided should be equal to actualFinish (actualFinish (Assignment)= actualFinish (Activity), if not provided in API), if Activity status = Completed. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
finish The finish provided is on a holiday or a non-working day. 12672 Invalid value was found in a field: [finish]. Please provide a working day according to the calendar. Activity ID: <activityId>/Resource Code: <Resource Code>/Role Code: <roleCode>
duration An invalid Duration (Not Integer) or empty or null. 12616 Invalid value was found in a field: [duration]. Allowed only positive integer value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
duration If Duration != Finish - Start 12618 Invalid value was found in a field [duration]. The value provided should be equal to (finish - start) of the assignment, as per the calendar defined. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
plannedUnitsPerTime An Invalid plannedUnitsPerTime (Not Double). 12604 Invalid value was found in a field: [plannedUnitsPerTime]. Allowed only numerical/decimal value. Activity ID: <activityId> Resource Code: <resourceCode>/Role Code: <roleCode>
plannedUnitsPerTime The plannedUnitsPerTime is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [remainingUnitsPerTime ]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingUnitsPerTime An invalid remainingUnitsPerTime (Not Double). 12604 Invalid value was found in a field: [remainingUnitsPerTime ]. Allowed only numerical/decimal value. Activity ID: <activityId>. Resource Code: <resourceCode>/Role Code: <roleCode>
remainingUnitsPerTime The remainingUnitsPerTime is less than -99999999999999 or exceeds 999999999999999. 12605 Invalid value was found in a field: [remainingUnitsPerTime ]. Allowed Range [-999999999999999 - 999999999999999]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
remainingUnitsPerTime For NotStarted Activity, if the remainingUnitsPerTime is included in the request, it should be same as plannedUnitsPerTime. Otherwise, displays an error. 12624 Invalid value was found in a field [remainingUnitsPerTime]. The value provided should be equal to plannedUnitsPerTime, if Activity status = Not Started. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>
profile If the profile in the request is empty, (Non-String), null or an invalid value. 12619 Invalid value was found in a field: [profile]. Allowed values: [Linear]. Activity ID: <activityId> Resource Code: <Resource Code>/Role Code: <roleCode>