Update Shell

PUT /ws/rest/service/v2/admin/shell

Note: As a best practice, delay invoking this REST call when reverse auto-population is configured in a business process.

Purpose

The Update Shell REST service supports all options available through the user interface, including:

Request Format

Send a request as a JSON Map with the following structure:

{

"options":{"shelltype": "<value>"},

"data":[]

}

To view a master list of all fields supported in the request:

  1. Go to the Company Workspace tab and switch to Admin mode.
  2. In the left Navigator, select uDesigner, and then select Shell Manager.
  3. Open the [shell template].
  4. In the left Navigator, select Integration, and then select Detail.

The fields in the Detail menu are applicable to the Shell General tab.

Supported Request Parameter

The following request parameter must be included:

Request Parameters

Required?

Data Type

Description

shelltype

Yes

String

The name of the shell template

Optional Request Parameters Supported in uuu_shell_addl_props Key

To support all other tabs in the request, apart from the General tab, specify the key, uuu_shell_addl_props, in the following JSON map structure.

Note: All fields in the uuu_shell_addl_props key are optional.

{

"uuu_shell_addl_props": {

"options": { },

"links": [ ],

"currency": [ ],

"images": { },

"gateway": [ ],

"cloud": [ ]

}

}

Options JSON Map Format in uuu_shell_addl_props Key

In the "options" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"options": {

"projectPhase": "<value>",

"timezone": "<value>",

"financialPeriod": "<value>",

"notification": {

"users": []

"groups": []

},

"dmFormUsed": "<value>",

"eSign": "<value>",

"mailBoxId": "<value>",

}

}

}

Request Parameters

Required?

Data Type

Description

projectPhase

No

String

Project Phase value

timezone

No

String

Timezone value

financialPeriod

No

String

Financial Period value

notification → users [ ]

No

String Array

List of usernames. For example, ["jdoe", "jsmith"]

notification → groups [ ]

No

String Array

List of groups. For example, ["Contractors", "Accommodation Managers"]

dmFormUsed

No

String

Document Manager value

eSign

No

String

e-Signature value. Valid values include: None, Default, DocuSign, Acrobat Sign.

mailBoxId

No

String

The Mailbox ID excluding the mail pattern.

Links JSON Map Format in uuu_shell_addl_props Key

In the "links" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"links": [

{

"orderId": 0,

"name": "",

"url": "",

}

]

}

}

If you specify the links JSON map, the following parameters can be included:

Request Parameters

Required?

Data Type

Description

name

Yes

String

URL name for the link.

url

Yes

String

URL for the link.

orderId

No

Integer

Specify the order of the links. An Incorrect value in the orderId changes the order value into 0.

Currency JSON Map Format in uuu_shell_addl_props Key

In the "currency" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"currency": [

{

"currencyCode": "",

"comments": "",

"rateType": "",

"rate": 0.0

}

]

}

}

If you specify the "currency" JSON map, the following parameters can be included:

Request Parameters

Required?

Data Type

Description

currencyCode

Yes

String

Currency code.

rateType

Yes

String

Indicate the rate type of the currency. Valid values include: FLOAT (default), PEG.

rate

No

Number, decimal supported.

Alter the currency rate only if the rateType is PEG.

comments

No

String

Specify currency details.

Images JSON Map Format in uuu_shell_addl_props Key

In the "images" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"images": {

"shell_images": [

{"file_name": "<value>", "title": "<value>"},

{"file_name": "<value>", "title": "<value>"}

],

"_attachment": {"zipped_file_content": "<value>", "zipped_file_name": "<value>", "zipped_file_size": 0},

"shell_images_from_dm": ["image1", "path/image2"]

}

}

}

If you specify the "images" JSON map, the following parameters can be included:

Request Parameters

Required?

Data Type

Description

file_name

Yes

String

Name of the file in the ZIP file. Valid values include: GIF, PNG, JPG, JPEG, TIF, TIFF.

title

Yes

String

New name to the image

zipped_file_content

Yes

String

Base64 content of the ZIP file

zipped_file_name

Yes

String

Original ZIP file name

zipped_file_size

Yes

Number

Original ZIP file size in bytes

shell_images_from_dm

Yes

String

Image name from the Document Manager

Gateway JSON Map Format in uuu_shell_addl_props Key

In the "gateway" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"gateway": [

{"p6_project_id": "<value>"},

{"p6_project_id": "<value>"}

]

}

}

If you specify the "gateway" JSON map, the following parameters can be included:

Request Parameters

Required?

Data Type

Description

p6_project_id

Yes

String

P6 project ID configured in the Primavera Gateway application.

Cloud JSON Map Format in uuu_shell_addl_props Key

In the "cloud" JSON Map of "uuu_shell_addl_props" key, you can include the following optional parameters:

{

"uuu_shell_addl_props": {

"cloud": [

{

"ext_project_id": "EVM268",

"ext_workspace_code": "OPCWORKSPACE",

"ext_project_name": "OPC03",

"integration_type": "Primavera Cloud Cash Flow"

}

]

}

}

If you specify the "cloud" JSON map, the following parameters can be included:

Request Parameters

Required?

Data Type

Description

ext_project_id

Yes

String

Name of the Oracle Primavera Cloud project ID.

ext_workspace_code

Yes

String

Workspace name.

ext_project_name

Yes

String

Project name.

integration_type

Yes

String

The project type is Cashflow or Schedule. Valid values include: Primavera Cloud Cash Flow.

 

 

Response Format

A JSON object is returned in the following format:

{

"data": [],

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

"status": <REST status code value>,

"rest_audit_id": "Value"

}

Sample Success Request

This is an example of a successful request with status code 200.

{

"options": { "shelltype": "Building Properties - CBS" },

"data": [

{

"uBuildingNumber": "BLDCBS - 0004",

"uuu_shell_status": "Active",

"uuu_shell_addl_props": {

"gateway": [{"p6_project_id": "EVM243"}, {"p6_project_id": "EVM244"}],

"links": [{"orderId": 1, "name": "Google", "url": "http://www.google.com"}],

"options": {

"dmFormUsed": "Folder and Document Attributes",

"financialPeriod": "FP1",

"eSign": "Default",

"projectPhase": "Preplanning",

"timezone": "(UTC-12:00) International Date Line West",

"notification": {"users": ["tt"],"groups": ["Accommodation Managers"]},

},

"currency": [

{"currencyCode": "JPY",

"comments": "Metadata for the currency value",

"rateType": "PEG",

"rate": 150.0503

}

],

"images": {

"shell_images": [

{"file_name": "Image_1.png", "title": "image one"},

{"file_name": "Image_2.png", "title": "image two"}

],

"_attachment": {

"zipped_file_content": "UEsDBBQAAAAIAHhl7lZhg1mDOAQAAN4IAAALAAAA",

"zipped_file_name": "Image.zip",

"zipped_file_size": 15657

},

"shell_images_from_dm": ["image1.png", "/Sample/image2.jpg"]

},

"cloud": [

{

"ext_project_id": "OPC03",

"ext_workspace_code": "OPCWORKSPACE",

"ext_project_name": "OPC03",

"integration_type": "Primavera Cloud Cash Flow"

}

]

}

}

]

}

Sample Success Response

This is a successful response to the above request with status code 200.

{

"data": [

{"uBuildingNumber": "BLDCBS - 0004",

"uuu_shell_status": "Active",

"uuu_shell_addl_props": {

"cloud": [

{

"ext_project_id": "OPC03",

"ext_project_name": "OPC03",

"integration_type": "Primavera Cloud Cash Flow",

"ext_workspace_code": "OPCWORKSPACE"

}

],

"images": {

"shell_images": [ {"file_name": "Image_1.png", "title": "image one"},

{"file_name": "Image_2.png", "title": "image two"}

],

"_attachment": {

"zipped_file_content": "UEsDBBQAAAAIAHhl7lZhg1mDOAQAAN4IAAALAA",

"zipped_file_size": 15657,

"zipped_file_name": "Image.zip"

},

"shell_images_from_dm": ["image1.png", "/Sample/image2.jpg"]},

"options": {

"dmFormUsed": "Folder and Document Attributes",

"financialPeriod": "FP1",

"eSign": "Default",

"projectPhase": "Preplanning",

"timezone": "(UTC-12:00) International Date Line West",

"notification": {

"users": ["tt"],

"groups": ["Accommodation Managers"]

},

},

"links": [

{"orderId": 1, "name": "Google", "url": "http://www.google.com"}

],

"currency": [

{

"rateType": "PEG",

"comments": "Metadata for the currency value",

"rate": 150.0503,

"currencyCode": "JPY"

}

],

"gateway": [{"p6_project_id": "EVM243"}, {"p6_project_id": "EVM244"}]

}

}

],

"message": [{"uBuildingNumber": "BLDCBS - 0004", "_record_status": "SUCCESS"}],

"status": 200,

"rest_audit_id": 9080

}

Sample Failed Request

This is an example of a failed request to update a shell.

{

"options": { "shelltype": "Building Properties - CBS" },

"data": [

{

"uBuildingNumber": "BLDCBS - 0004",

"uuu_shell_status": "Active",

"uuu_shell_addl_props": {

"gateway": [ {"p6_project_id": "EVM242"}, {"p6_project_id": "EVM241"}],

"links": [{"orderId": 1, "name": "Google", url": "h://www.google.com"}],

"options": {"dmFormUsed": "Folder and Dcument Attributes",

"financialPeriod": "FP",

"eSign": "Default",

"projectPhase": "Preplaning",

"timezone": "(UTC-12:00)International Date Line West",

"notification": {

"users": ["tts"],

"groups": ["Accommodation Managers"]

},

},

"currency": [{"currencyCode": "",

"comments": "Metadata for the currency value",

"rateType": "PEG",

"rate": 150.0503}

],

"images": {"shell_images": [

{"file_name": "Image_1.pg", "title": "image one"},

{"file_name": "Image_10.png", "title": "image two"}

],

"_attachment": {"zipped_file_content": "UEsDBBQAAAAIAHhl7lZhg1mDOAQAAN4IAAALAAAASW1h",

"zipped_file_name": "Image.zip",

"zipped_file_size": 15657

}

},

"cloud": [{

"ext_project_id": "OPC04",

"ext_project_name": "OPC04",

"integration_type": "Primavera Cloud Schedule",

"ext_workspace_code": "OPCWORKSPACE"}

]

}

}

]

}

Sample Failed Response

This is an example of a failed response with status code 3000, with a list of errors displayed below.

{

"data": [{

"uBuildingNumber": "BLDCBS - 0004",

"uuu_shell_status": "Active",

"uuu_shell_addl_props": {

"cloud": [

{"ext_project_id": "OPC04",

"ext_project_name": "OPC04",

"integration_type": "Primavera Cloud Schedule",

"ext_workspace_code": "OPCWORKSPACE"

}],

"images": {

"shell_images": [ {"file_name": "Image_1.pg", "title": "image one"},

{"file_name": "Image_10.png", "title": "image two"}

],

"_attachment": {"zipped_file_content": "UEsDBBQAAAAIAHhl7lZhg1mDOAQAAN4IAAALAAAASW1h",

"zipped_file_size": 15657,

"zipped_file_name": "Image.zip"

}

},

"options": { "dmFormUsed": "Folder and Dcument Attributes",

"financialPeriod": "FP",

"eSign": "Default",

"projectPhase": "Preplaning",

"timezone": "(UTC-12:00)International Date Line West",

"notification": {"groups": ["Accommodation Managersss"]},

},

"links": [{"orderId": 1, "name": "Google", "url": "h://www.google.com"}],

"currency": [{

"rateType": "PEG",

"comments": "Metadata for the currency value",

"rate": 150.0503,

"currencyCode": ""

}],

"gateway": [{"p6_project_id": "EVM242"},{"p6_project_id": "EVM241"}]

}

}

],

"message": [{

"uBuildingNumber": "BLDCBS - 0004",

"_record_status": "Shell creation failed because of errors found while processing the additional shell options",

"errors": [

"url is invalid; cannot exceed 250 chars",

"Same project available in the other shells: (EVM242 -> W_BUILDING_CBS 0006), (EVM241 -> W_BUILDING_CBS 0006)",

"Invalid project phase",

"currencyCode is a required field",

"Multiple cashflow projects cannot be added",

"Invalid timezone",

"DM name does not exist",

"Non-image files found in the request"

]

}],

"status": 3000,

"rest_audit_id": 9083

}

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

shelltype

The key is missing or an incorrect shell template name is given.

813

Invalid shelll type.

projectPhase

Project phase is not found with the given value.

3000

Invalid project phase.

projectPhase

Multiple values are found with the given value.

3000

Multiple project phase found.

timezone

Timezone is not found with the given value.

3000

Invalid timezone.

timezone

Multiple timezones are found with the given value.

3000

Multiple timezone entries found.

financialPeriod

Financial period is not found with the given value.

3000

Financial period does not exist.

financialPeriod

Cashflow curve data is associated with the financial period being updated.

3000

Cash flow Curves are already referring to Financial Period, Can't modify: <FP Name>.

financialPeriod

EVM analysis data is associated with the financial period being updated.

3000

Earned Value Analysis Graphs are referring to Financial Period, Can't modify: <FP Name.

notification users []

An invalid user is given in the request.

3000

User(s) do not have access or not found: <user1>, <user2>, ...

notification groups []

An invalid group name is given in the request.

3000

Group(s) do not have access or not found: <user1>, <user2>, ...

dmFormUsed

No document manager is found with the given value.

3000

DM name does not exist.

eSign

eSign is not configured in the company workspace.

3000

Requested E-Signature not configured.

eSign

an invalid eSign is given in the request.

3000

Invalid e-sign.

mailBoxId

The email prefix is invalid or wrong.

3000

Invalid mailBox ID.

mailBoxId

The same project email is already taken.

3000

Duplicate project email found.

name

The name is given empty/null or not present.

3000

Name is a required field.

name

The name is more than 50 characters.

3000

Name is invalid; cannot exceed 50 chars.

url

The url is given empty/null or not present.

3000

URL is a required field.

url

The url is more than 250 characters or in incorrect format.

3000

URL is invalid; cannot exceed 250 chars.

currencyCode

The currencyCode is given empty/null or not present.

3000

currencyCode is a required field

currencyCode

The currencyCode is invalid.

3000

Currency exchange rates are not available

currencyCode

Altering the base currency of the project.

3000

Update to the currency is not allowed because it matches Company Currency.

currencyCode

Multiple currency details available for same currency code.

3000

Duplicate currency found in the request

currencyCode

Unable to find the company currency.

3000

Unable to find the Company Currency.

rate

The rateType is PEG, and no rate value is provided.

3000

Rate value for the PEG type is not a number.

comments

Comments exceed 250 characters.

3000

Comments are invalid; cannot exceed 250 chars.

file_name

An invalid request is found in the request.

3000

Invalid JSON structure found in the request for additional properties.

file_name

File_name is missing.

3000

file_name and title are required for shell images.

file_name

Other image formats are included.

3000

File upload prevented due to blocked file extension.

title

New name of the image.

3000

file_name and title are required for shell images.

zipped_file_content

zip contains non-images.

3000

Non-image files found in the request.

zipped_file_content

zip does not contain the image.

3000

No images found in the ZIP file.

zipped_file_content

Issue with unzipping the file.

3000

Unable to unzip the files.

zipped_file_content

An invalid attachment is available.

3000

Invalid attachment found in the request.

zipped_file_size

A mismatch with the file size in the request.

3000

File size is mismatched with the incoming file.

shell_images_from_dm

multiple images found with the same name in the DM.

3000

Multiple image(s) found with the same name from DM: <image1>, <image2>, ...

shell_images_from_dm

Image is not found with the given name.

3000

No image(s) found with the name from DM: <image1>, <image2>,...

p6_project_id

invalid request is found in the request.

3000

Invalid JSON structure found in the request for additional properties

p6_project_id

p6_project_id is null/missing/empty string.

3000

p6_project_id is a required field

p6_project_id

EVM license is not provided.

3000

Invalid EVM License

p6_project_id

Cloud schedule project exists.

3000

Cloud schedule project exists

p6_project_id

Duplicate project id available in the request.

3000

Same project is available multiple times in the same shell: <id1>, <id2>, ...

p6_project_id

Attempt to delete the integrated project.

3000

Unable to delete the project as it is integrated

p6_project_id

Same project is available in other shells.

3000

Same project available in the other shells: EVM > shell name, ...

ext_project_id

An invalid request is included in the request.

3000

Invalid JSON structure found in the request for additional properties

ext_project_id

ext_project_id is null/missing/empty string.

3000

ext_project_id is a required field.

 

ext_project_id

Schedule project is integrated already.

3000

Unable to delete the project as its linked

ext_project_id

Multiple cashflow projects are added.

3000

Multiple cashflow projects cannot be added

ext_project_id

Duplicate project ID is included in the request.

3000

Found duplicate cloud projects in the request

ext_project_id

Cloud schedule project added when Gateway project exists.

3000

Gateway project exists

ext_project_id

No projects are configured in the lobby

3000

No lobby projects configured in the system.

Related Topics

Shell Manager

Create Shell

Get Shell

Get Project List



Last Published Wednesday, April 9, 2025