Update BP Record
PUT /ws/rest/service/v2/bp/record
Purpose
Update a record in a specific BP in a shell based on "project_number" (provided in input JSON options) or from company level if the project/shell number is not provided.
The input JSON shall provide various options to be considered for fetching the data.
This V2 service will use the step form to update the BP record. All the required fields and validation rules run against the step form used in the workflow details. The form in the End step is a View form and cannot be updated.
Prerequisite
Auto Creation settings are mandatory in Setup of the Business Process for the Shell or Company in the Admin mode.
Request Format
All parameters should be URL encoded.
Both input & output in JSON format in the body.
Notes:
- Field properties such as Read-only in step form will be retained. The Field mandatory in step form must be present in the Integration Form with direction set as "both" or "input".
- The Field direction provided in the Integration form will be retained.
- In input JSON options, the "project_number" specifies the shell in which the records exists; if the "project_number" is not provided, the records are from company-level.
- The "record_no" is mandatory and is part of data.
- The "bpname" is mandatory and is part of options form parameter.
- The system validates whether the selected user's company exists. If not, the system adds the Partner Company as a Member Company.
- If a Workflow BP record is already accepted by an assignee, the Update REST call will fail with error message: Record has already been accepted by Task Assignee.
- The WFCurrentStepName and WFActionName are part of the "workflow_details" and are for Workflow-type BPs. If the values for the WFCurrentStepName and WFActionName are provided, the record will be updated and sent to the next step of the workflow. If the values for the WFCurrentStepName and WFActionName are not provided, the record will be updated but will remain in same workflow step.
- The LineItemIdentifier is a part of options form parameter. The LineItemIdentifier value will be the DE name present in the lineItem. The DE name present in the lineItem should be present in the "data" (input record JSON) with its value.
- When you update a record using this REST service to add standard lines, do not include LineItemIdentifier as part of the options in the request. Updating the standard lines in a Payment Application BP is not currently supported.
- The optimizedPickerExecution is a part of the options form parameter. The optimizedPickerExecution controls the pickers 'populate' execution, on the existing line items. The values can be True or False.
When the value is True, the Upper Form, or the Lineitem Form, input JSON is required to send the Datapicker DE tag (with values) to trigger 'populate' on the other DEs that are configured per design. If the input JSON does not contain the Datapicker DE property, the system will not process the Datapicker DE as a part of the update to 'populate' the values from the data picker record to the current record and lineitems that get updated.
When the value is False, or non-existent, the system will continue to process according to the existing behavior.
- Summary CBS codes cannot be included in Cost allocation line items when creating or updating commits of SPA BP records through REST services.
- If data elements are set to auto populate from Base Commit as well as auto populate from SOV in the payment business process standard line items, then the values from Base Commit takes precedence for auto-population. Also, the auto populate from Base Commit or Change Commit takes precedence in payment line items if 0 or no value is provided via integration.
- When a required data element (DE) is not included or included with a blank value in the request, a successful response is returned by the REST service. However, an error message is displayed when a required Rich Text Editor (RTE) data element (DE) is not included in the request, or included with a blank value.
- When BP records and line items, that have auto-populate data elements defined from pickers (all data pickers, BP picker), are updated through integration (Rest API and Excel update), the auto-populate data elements from the picker are not updated when the input request does not include a picker value
Note: Auto-population is also not triggered if the picker element is in the Main form of the record, when the input request (Rest API and Excel update) includes the same value for the picker.
Additionally, when a picker (destination picker) in a detail form is designed to be is auto-populated from another picker (source picker) from the Upper form, the system auto-populates the data elements from the former picker (destination picker) when a line item is created, only if a picker value (from the source picker) exists in the Upper form.
- The "Enable Step for Integration" option in the Workflow BP setup is not available for the REST integration.
- BP records will be created successfully:
- If a single user with a specific First Name and Last Name exists in a project with a status of Active/On-hold.
- If multiple users exist with identical First Name and Last Name, but only one user's status is Active/On-hold while all other users have an Inactive status.
- BP records will not be created if multiple users exist with identical First Name and Last Name, with a status of Active/On-hold/Inactive.
Behavior of the Due Date (due_date) Field
When you create workflow BP records through a REST service, the system currently sets the Due Date automatically based on the Workflow Settings; the Due Date provided in the input request is ignored.
When you update workflow BP records through a REST service, you cannot change the Due Date.
Response Format
A JSON object is returned in the following format.
{
"data": [],
"message": [],
"status": <REST status code value>
}
A successful response displays a status code 200.
A failed response displays a message with a status code.
Sample Request
Send a request in the following format:
{
"options":{
"project_number" : "P-0002",
"bpname":"line6",
"LineItemIdentifier":"upwoLISAS",
"optimizedPickerExecution" : "true",
"workflow_details":{
"WFCurrentStepName":"Step 4",
"WFActionName":"Line 3"
}
},
"data":[
{
"ugenUserIDPK":null,
"_bp_lineitems":[
{
"ugenShellPK":"/AP1",
"uuu_tab_id":"Standard",
"short_desc":"desc3_m11",
"upwoLISAS":"0001",
"uuu_line_item_status":"Active"
}
],
"record_no":"uxli6-0020",
"title":"new title"
}
]
}
Adding LineItemIdentifiers in the BP Design
To add LineItemIdentifier in the BP design:
- Create a custom DE whose Data definition is 'Sys Auto Sequence'.
- Add this DE to the detail form of the BP whose line items needs to be updated.
- Go to the Company Workspace tab and switch to Admin mode.
- In the left Navigator, select uDesigner, and then select Business Processes.
- Open the BP.
- From the toolbar, click Open, and select Data Elements to open the Data Elements Configuration window.
- Click the Auto Sequence tab and click Add.
- Select the Data element added in the detail form and select the level as 'Per record'.
- Provide the start value and click Create (next to format), add the parameter 'Sys Sequence counter', and click OK.
- Select Integration, select Detail, and then add the DE.
- Set the "Direction" to "Both" for that DE.
- Complete and deploy the BP.
- In the body of the request add this DE name as Lineitem identifier and send the request.
Delete the Line-Item, using Update Request
To delete the line-Item using update request, the field "_delete_line_item" should be used (value of which will be comma separated values of LineItemIdentifier DE) as shown in the following example:
Sample Delete Request
{
"options":{
"project_number" : "P-0002",
"bpname":"line6",
"LineItemIdentifier":"upwoLISAS"
},
"data":[
{
"ugenUserIDPK":null,
"_delete_bp_lineitems":"0002,0001,0003",
"record_no":"uxli6-0021",
"title":"title_m112244"
}
]
}
Sample Update Response
{
"data": [],
"message": [
{
"_record_status": "success",
"record": {
"ugenUserIDPK": null,
"record_no": "uxli6-0021",
"title": "title_m112244"
}
}
],
"status": 200
}
Unsupported Data Elements in Line Items
If the following Data Elements are present in the Line Items, they will not be updated.
bitemidbudgetidsovitemiduuu_cm0_pickerxidds_codefsm_lineitem_idasm_lineitem_iduuu_latuuu_longuuu_company_account_nameuuu_company_account_codeuuu_company_acc_codepickeruuu_activity_pickeruuu_asset_pickerref_bpo_lineitemref_bporef_rfbrefiduuu_sovlinumotherCompanyIDuuu_costcode_pickerscheduled_valueuuu_asset_cum_depreciationuuu_asset_curr_period_depuuu_asset_net_book_valueuuu_unit_pricecurrencyiddue_dateuuu_asset_calc_as_of_dateuuu_from_dateuuu_issue_dateuuu_last_update_dateuuu_rfb_due_dateuuu_to_dateuuu_week_pickeruuu_datasourceuuu_depreciation_mtduuu_line_item_statusrow_iduuu_bid_countuuu_bidders_countuuu_planning_item_pickeruuu_proj_pickerrecord_nouuu_resc_pickeruuu_role_pickeruuu_commit_short_descend_dateuuu_creation_dateuuu_asset_nameuuu_commit_breakdownuuu_asset_codeuuu_asset_navigation_codeuuu_timescale_unitscreator_idwpiduuu_cost_costattributeuuu_cost_external_refiduuu_cost_statusuuu_cost_cost_typeuuu_cost_descriptionuuu_cost_itemuuu_cost_owneruuu_cost_codeuuu_dm_create_dateuuu_file_create_dateuuu_file_issue_dateuuu_dm_percent_completeuuu_file_sizeuuu_file_versionuuu_dm_descriptionuuu_dm_node_pathuuu_dm_node_nameuuu_file_revision_nouuu_file_titleuuu_dm_create_byuuu_file_create_byuuu_fund_fundcategoryuuu_fund_long_descuuu_fund_descriptionuuu_fund_fundnameuuu_fund_codeuuu_descriptionuuu_resc_nwd_typeuuu_resc_interestuuu_resc_proficiencyuuu_resc_skilluuu_role_statusuuu_role_nameuuu_resc_capacityuuu_user_addressuuu_user_cityuuu_user_countryuuu_user_emailuuu_user_faxuuu_user_firstnameuuu_user_homephoneuuu_user_lastnameuuu_user_mobilephoneuuu_user_pageruuu_user_stateuuu_user_timezoneuuu_user_titleuuu_user_workphoneuuu_user_zipuuu_resc_statusuuu_resc_codeuuu_resc_nameuuu_early_finishuuu_early_start,uuu_finishuuu_late_finishuuu_late_startuuu_startuuu_act_pct_completeuuu_activity_work_hrsuuu_durationuuu_fixed_costuuu_floatuuu_labor_costuuu_non_labor_costuuu_total_costuuu_activity_iduuu_flag_completeuuu_flag_milestoneuuu_activity_resourcesuuu_dependency_typeuuu_activity_nameuuu_outline_codeuuu_cost_li_type
Related Topics
Create BP Record with Attachment
Update BP Record with Attachment
Payment Application with Auto-populate from SOV and Commits
Add Assignees to Workflow BP Records
Bulk Reverse Auto-populate Records
Terminate Workflow and Non-Workflow BP Records
Last Published Tuesday, July 1, 2025