Create or Update Manual Activity Sheet
Post /ws/rest/service/v2/activity/sheet/activitysheet
Purpose
Creates or updates an activity sheet in a specified Unifier shell based on a project number. Only one activity sheet can be created per request.
The REST service creates an activity sheet if the request data[] contains an activity sheet name which is not present in the system.
The REST service updates an activity sheet if the request data[] contains activities for an existing activity sheet name for a project in the system.
Prerequisites
Ensure you have:
- The required Activity Sheet Services permissions under Activity Manager
- Created a shell
Request Format
Send an API request as a JSON Map with the following structure:
{
"options":{"project_number": "<value>"},
"data":[]
}
Request Parameters - Options Map
Specify the following parameters in the Options JSON map:
Request Parameter | Required? | Data Type | Description |
---|---|---|---|
project_number | Yes | String | A valid 'Active' shell number. |
Request Parameters - Data [] List
Specify the following parameters in the Options JSON map:
Request Parameter | Required? | Data Type | Description |
---|---|---|---|
name | Yes | String | Name of the manual activity sheet. It must be unique for each activity sheet in the shell. |
schedule_type | Yes | String | The schedule type of the activity. Valid values include: "Duration" and "Resource". |
timezone | Yes | String | The time zone configured in Unifier. Note: timezone is not updated when you choose to update the activity sheet. |
description | No | String | A description of the manual activity sheet. |
status | No | String | The status of the manual activity sheet. Valid values include: "Active" (default) or "Inactive" Status is not considered when you choose to create a manual activity sheet using this REST service. |
calendar | No | String | The name of a calendar associated with a project/shell. Defaults to "Project/Shell Calendar". |
act_sch_attr_start | No | String | The data source for the project schedule start date. Valid values include: "Manual" (default) and "From Shell Attribute". |
act_sch_start_date | No | Date | The project schedule start date. When creating an Activity Sheet, if a Schedule Start Date is not provided, it defaults to the current date. If the schedule type is From Shell Details, it uses the start date from the shell details. When updating an activity sheet that already has a start date, if act_sch_start_date is not provided in the request, it will consider the existing start date and process |
uuu_duration_type | No | String | Valid values include: "Fixed Duration" (default), "Fixed Units", or "Fixed units/time". |
act_id_prefix | No | String | Defaults to "A". |
act_id_suffix | No | Integer | An activity ID suffix value between 1 to 999999. Defaults to 1000. |
act_id_incr | No | Integer | An activity ID increment value between 1 to 1000. Defaults to "10". |
planning_rate_sheet | No | String | An existing rate sheet associated with the activity sheet. Defaults to the "Master Rate Sheet". |
actual_rate_sheet | No | String | An existing actual rate sheet associated with the activity sheet. Defaults to the "Master Rate Sheet". |
uuu_P6ETCComputeType | No | Integer | Specify a valid value 1 through 5, wherein uuu_P6ETCComputeType is computed as follows: "1" (default): Remaining Cost for Activity "2": 1 x (BAC - EV) "3": (1 / CPI) x (BAC - EV) "4": (1 / (CPI x SPI)) x (BAC - EV) "5": (BAC-EV) |
uuu_P6ETCUserValue | No | Float | If ETCTechnique is 5 , this value(Performance Factor) is accepted as a positive floating value. If ETCTechnique in the request is between 1 and 4, this value is ignored and is updated as 0.0 |
created by | No | String | Defaults to the full name of the Owner company administrator. If the field has not been passed, or has a null or empty value, the Company Administrator's name is considered. |
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 Success Request
{
"options": {
"project_number": "P-0038"
},
"data": [
{
"name": "ManualSheetSample",
"description": "This is a sample activity sheet",
"status": "Active",
"calendar": "custom4",
"act_sch_attr_start" : "Manual",
"act_sch_start_date":"2023-08-25",
"uuu_duration_type": "Fixed Duration",
"schedule_type" : "Resource",
"timezone" : "UTC-10:00",
"act_id_prefix" : "A",
"act_id_suffix" : 1000,
"act_id_incr" : 10,
"planning_rate_sheet": "RS1",
"actual_rate_sheet":"RS1",
"uuu_P6ETCComputeType": 5 ,
"uuu_P6ETCUserValue": 0.5
}
]
}
Sample Success Response
To create a manual activity sheet, send a request in the following format:
{
"data": [
{
"calendar": "Project/Shell Calendar",
"schedule_type": "Resource",
"planning_rate_sheet": "Master Rate Sheet",
"uuu_P6ETCComputeType": 5,
"timezone": "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",
"uuu_P6ETCUserValue": 0.25,
"act_id_suffix": 1000,
"description": "des",
"created by": "Unifier Unifier",
"act_id_prefix": "A",
"act_id_incr": 10,
"act_sch_attr_start": "Manual",
"actual_rate_sheet": "Master Rate Sheet",
"name": "24",
"act_sch_start_date": "2013-02-28",
"id": 323,
"status": "Active",
"uuu_duration_type": "Fixed Duration"
}
],
"message": [
"Field: [planning_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",
"Field: [actual_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",
"success"
],
"rest_audit_id": 1368,
"status": 200
}
Sample Success Response with Warning Messages
A successful response with status code 200 displays in the following format:
{
"data": [
{
"calendar": "custom1",
"schedule_type": "Resource",
"planning_rate_sheet": "Master Rate Sheet",
"uuu_P6ETCComputeType": 5,
"timezone": "(UTC+10:00) Hobart",
"uuu_P6ETCUserValue": "0.4",
"act_id_suffix": 100,
"description": "This is a sample activity sheet update1",
"created by": "Unifier Unifier",
"act_id_prefix": "$",
"act_id_incr": 10,
"act_sch_attr_start": "Manual",
"actual_rate_sheet": "Master Rate Sheet",
"name": "test",
"act_sch_start_date": "2022-12-10",
"id": 309,
"status": "Active",
"uuu_duration_type": "Fixed Units"
}
],
"message": [
"Field: [planning_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",
"Field: [uuu_P6ETCComputeType] has been updated. Perform recosting to see the updated cost data in the sheet.",
"Field: [uuu_P6ETCUserValue] has been updated. Perform recosting to see the updated cost data in the sheet.",
"Field: [actual_rate_sheet] has been updated. Perform recosting to see the updated cost data in the sheet.",
"Field: [act_sch_start_date] has been updated. Perform scheduling to see the updated schedule data in the sheet. ",
"success"
],
"rest_audit_id": 1242,
"status": 200
}
Sample Failed Response
A failed response to create a manual activity sheet displays the corresponding status code in the following format:
{
"data": [],
"message": [
"The API request contains an empty value for: [name]."
],
"rest_audit_id": 1241,
"status": 12703
}
Supported Validation Messages and Status Codes
The following validation 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 |
---|---|---|---|
project_number | project_number is not specified. | 12018 | The project number field is empty. Enter a valid project number. |
project_number | Invalid project_number. | 602 | Project/Shell Number is not correct. |
project_number | Inactive project_number. | 12020 | The project number [project_number] is currently inactive or on-hold . Verify its status in Unifier before proceeding. |
name | The name of the manual activity sheet is not specified in the request. | 12702 | The API request is missing the required information: [name]. |
name | Activity sheet is blank. | 12703 | The API request contains an empty value for:[name]. |
name | Activity Sheet exceeds 50 characters. | 12704 | Invalid value was found in a field: [name]. Allowed length: [50]. |
name | name is "System Activity Sheet." | 12705 | Invalid value was found in a field: [name]. Manual Activity Sheet name cannot be selected as System Activity Sheet. |
name | An invalid name value (non-String) is specified in the request. | 12733 | Invalid value was found in a field [name]. Allowed only string values. |
schedule_type | schedule_type is not specified. | 12706 | The API request is missing the required information: [schedule_type]. |
schedule_type | An invalid schedule_type value (non-String), or null or empty value is specified in the request. | 12707 | Invalid value was found in a field [schedule_type]. Allowed values: [Duration, Resource]. |
timezone | time zone is not specified. | 12729 | The API request is missing the required information: [timezone]. |
timezone | An invalid time zone value (non-String) is specified in the request. | 12715 | The API request contains an invalid value: [timezone]. |
timezone | time zone is not configured in Unifier. | 12716 | Invalid value was found in a field [timezone]. Please check if this timezone has been defined in shell. |
description | description of the activity sheet exceeds 400 characters. | 12708 | Invalid value was found in a field: [description]. Allowed length: [400] |
description | An invalid description value (non-String) is specified in the request. | 12734 | Invalid value was found in a field [description]. Allowed only string values. |
status | An invalid status value, (non-String), or null or empty value is specified in the request. | 12709 | Invalid value was found in a field [status]. Allowed only string values. |
status | The status of the activity sheet is not specified as "Active" or "Inactive". | 12710 | Invalid value was found in a field: [status]. Allowed value: [Active, Inactive] |
calendar | An invalid calendar value, (non-String), or null or empty value is specified in the request. | 12730 | Invalid value was found in a field : calendar. Allowed only string values. |
calendar | time zone is not configured in Unifier project/shell. | 12731 | Invalid value was found in a field [calendar]. Allowed only Calendars configured in the respective Unifier Project/Shell. |
act_sch_attr_start | An invalid act_sch_attr_start value, (non-String), or null or empty value is specified in the request. | 12711 | Invalid value was found in a field [act_sch_attr_start]. Allowed only string values. |
act_sch_attr_start | Project Schedule Start Date Data source value is an invalid value, other than "Manual" and "From Shell Attribute". | 12712 | Invalid value was found in a field: [act_sch_attr_start]. Allowed value: [Manual & From Shell Attribute] |
act_sch_start_date | An invalid act_sch_start_date format, or null or empty value is specified in the request. | 12713 | The API request contains an invalid value: [act_sch_start_date]. Correct date format [yyyy-MM-dd]. |
act_sch_start_date | In the update, the activity sheet has an in progress or completed activity. | 12714 | Cannot change Project Schedule Start date. One or more activities are in Complete or In-Progress. |
act_sch_start_date | The schedule Type is selected as "From Shell Details", and the Project start date is not specified in the shell details. | 12735 | Project Schedule Start Date: Input Required |
uuu_duration_type | An invalid uuu_duration_type format, or null or empty value is specified in the request. | 12717 | Invalid value was found in a field [uuu_duration_type]. Allowed values: [Fixed Duration, Fixed Units, Fixed units/time]. |
act_id_prefix | An invalid act_id_prefix format, or null or empty value is specified in the request, or act_id_prefix exceeds 20 characters. | 12718 | Invalid value was found in a field: [act_id_prefix]. Allowed length: [20]. |
act_id_suffix | An invalid act_id_suffix value, (non-Integer), null or empty, negative, or a value greater than 999999 is specified in the request. | 12719 | Invalid value was found in a field [act_id_suffix]. Allowed values between 1 to 999999. |
act_id_incr | An invalid act_id_incr value, (non-Integer), null or empty, negative, or value greater than 999999 is specified in the request. | 12720 | Invalid value was found in a field [act_id_incr]. Allowed values between 1 to 1000. |
planning_rate_sheet | A non-existent rate sheet value is specified in the request. | 12721 | Invalid value was found in a field [planning_rate_sheet]. Please check if this ratesheet has been defined in the respective shell. |
actual_rate_sheet | A non-existent rate sheet value is specified in the request. | 12722 | Invalid value was found in a field [actual_rate_sheet]. Please check if this ratesheet has been defined in the respective shell. |
uuu_P6ETCComputeType | uuu_P6ETCComputeType is not a number between 1 and 5. | 12723 | Invalid value was found in the field: [uuu_P6ETCComputeType]. Only integer values are allowed from 1 to 5. |
uuu_P6ETCComputeType | uuu_P6ETCComputeType value is empty or null. | 12724 | The API request contains empty value for: [uuu_P6ETCComputeType]. Only integer values are allowed from 1 to 5. |
uuu_P6ETCUserValue | uuu_P6ETCComputeType is 5, and uuu_P6ETCUserValue is not specified in the request. | 12725 | The API request is missing the required information: [uuu_P6ETCUserValue]. |
uuu_P6ETCUserValue | uuu_P6ETCUserValue is a null value. | 12726 | The API request contains empty value for: [uuu_P6ETCUserValue]. Only numeric values are allowed and should be greater than or equal to 0.01. |
uuu_P6ETCUserValue | Value is less than 0.01. | 12727 | Invalid value was found in a field: [uuu_P6ETCUserValue]. Only numeric values are allowed and should be greater than or equal to 0.01. |
created by | Invalid user | 900 | Enter a valid or an active user. |
Related Topics
Create, Update, and Remove Assignments
Create or Update Assignment Spreads
Create or Update Activity Spreads
Create, Update, and Remove Activities from the System Activity Sheet of a Specific Shell
Create, Update, and Delete Activities in the Manual Activity Sheet of a Specific Shell
Create or Update Baseline Schedule for Manual Activity Sheet
Create Schedule of Manual Activity Sheet
Get Activities from the System Activity Sheet of a Specific Shell
Get Activities from the Manual Activity Sheet of a Specific Shell
Get Manual Activity Sheet Dependencies
Get Manual Activity Sheet Properties
Recost Project for Manual Activity Sheet
Last Published Friday, October 17, 2025