Create BP Record
POST /ws/rest/service/v2/bp/record
Purpose
Creates a record in a specific BP in a shell based on a "project_number" (provided in input JSON options) or from company-level if the project/shell number is not provided.
The input JSON provides various options to be considered for fetching the data.
This V2 service will use the step form (creation form) to create the BP record. All the required fields and validation rules will be run against the creation form used in the workflow details.
Prerequisites
Auto-Creation setting is mandatory in Shell or Company BP Setup in Admin mode.
Request Format
All parameters should be URL encoded.
Both input & output in JSON format in the body.
Notes:
- If a "record_no" is not provided, an auto-generated record_no is assigned to the record. If a unique "record_no" is provided, the record is created with the specified "record_no". If you use a "record_no" that is not unique, an error occurs.
- Field properties such as Read-only in Step Form (Creation Form) will be retained. The Field mandatory in Step Form must be present in the Integration Form with Direction set as Both or Input.
- Field direction provided in Integration Form will be retained.
- If "workflow_details" is not specified, Auto Creation settings defined in Setup for the Business Process will be used.
- If "workflow_details" is specified, the three parameters, "user_name," "workflow_name," and "action_name" are mandatory.
- 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.
Request Parameters
- In input JSON options, the "project_number" specifies the shell in which the records exist; if the "project_number" is not provided, the records are from Company Level.
- The "bpname" is mandatory and is part of options form parameter.
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.
Sample Request
{
"options":{
"project_number" : "P-0002",
"bpname":"Vendors",
"workflow_details":{
"workflow_name":"workflow_name",
"user_name":"first_name last_name",
"action_name":"action_name"
}
},
"data":[
{
"record_no":"hello",
"uuu_user_id":"a@abc.com",
"title":"v-00101",
"uveLicenseNoTB16":null,
"uuu_contact_company":"v-00101",
"uveCOIAmoutCA":0,
"_bp_lineitems":[
{
"uirCntctFstNmTB":"a",
"uuu_tab_id":"List of Contacts",
"title":"t",
"short_desc":"Vendor Contact",
"uriCntctLstNmTB":"b",
"ugenStatePD":null,
"ugenZipCodeTXT16":null,
"uveEmailTB120":"hello@abc.com",
"ugenAddress3TXT120":null
}
],
"creator_id":"Company Administrator",
"uveVendorIDTB16":"v-00101",
"uuu_contact_first_name":"a",
"status":"Active"
}
]
}
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 Success Response
{
"data": [],
"message": [
{
"_record_status": "success",
"uuu_user_id": "a@abc.com",
"uuu_record_last_update_date": "04-12-2018",
"uveFaxTB16": null,
"uveCertificateNoTB64": null,
"uvePrimaryContactTB64": "a",
"title": "v-00101",
"uveLicenseNoTB16": null,
"uuu_contact_company": "v-00101",
"uveCOIAmoutCA": 0,
"_bp_lineitems": [
{
"uirCntctFstNmTB": "a",
"uuu_user_workphone": null,
"uuu_tab_id": "List of Contacts",
"title": "t",
"ugenAddress1TXT120": null,
"ugenAddress2TXT120": null,
"ugenCountryPD": null,
"ugenCityTXT50": null,
"short_desc": "Vendor Contact",
"uriCntctLstNmTB": "b",
"ugenStatePD": null,
"ugenZipCodeTXT16": null,
"uveEmailTB120": "hello@abc.com",
"ugenAddress3TXT120": null
}
],
"uvePolicyNoTB32": null,
"record_no": "hello",
"_attachment": [
{
"file_name": "new 1.txt"
}
],
"uveVendorTypePD": "Architect",
"ugenCityTXT50": null,
"uveCoiExpDOP": null,
"uuu_dm_publish_path": "v_path",
"uuu_contact_last_name": "b",
"ugenZipCodeTXT16": null,
"uveEmailTB120": "a@abc.com",
"ugenAddress3TXT120": null,
"uveReferenceIdTB16": null,
"uuu_creation_date": "04-12-2018",
"ugenRemarksTB4000": null,
"uvePhoneTB64": null,
"uveTaxIDTB16": null,
"uveMinorityBusCB": 0,
"uveInsuranceCoTB32": null,
"ugenExpirationDateDOP": null,
"uveWomanOwnedCB": 0,
"uveVendorNameTB50": "v-00101",
"ugenAddress1TXT120": null,
"uveDisadvantagedBusCB": 0,
"ugenDiscipline": null,
"creator_id": "Company Administrator",
"ugenAddress2TXT120": null,
"ugenCountryPD": null,
"uveVendorIDTB16": "v-00101",
"ugenStatePD": null,
"uuu_contact_first_name": "a",
"status": "Active"
}
],
"status": 200
}
Sample Failed Response
This is an example of a failed response
{
"data": [],
"message": [
{
"_record_status": "Error Business Process record_no hello already exists. ",
"record": {
"uuu_user_id": "a@abc.com",
"uuu_record_last_update_date": "04-12-2018",
"uveFaxTB16": null,
"uveCertificateNoTB64": null,
"uvePrimaryContactTB64": "a",
"title": "v-00101",
"uveLicenseNoTB16": null,
"uuu_contact_company": "v-00101",
"uveCOIAmoutCA": 0,
"_bp_lineitems": [
{
"uirCntctFstNmTB": "a",
"uuu_user_workphone": null,
"uuu_tab_id": "List of Contacts",
"title": "t",
"ugenAddress1TXT120": null,
"ugenAddress2TXT120": null,
"ugenCountryPD": null,
"ugenCityTXT50": null,
"short_desc": "Vendor Contact",
"uriCntctLstNmTB": "b",
"ugenStatePD": null,
"ugenZipCodeTXT16": null,
"uveEmailTB120": "hello@abc.com",
"ugenAddress3TXT120": null
}
],
"uvePolicyNoTB32": null,
"record_no": "hello",
"_attachment": [
{
"file_name": "new 1.txt"
}
],
"uveVendorTypePD": "Architect",
"ugenCityTXT50": null,
"uveCoiExpDOP": null,
"uuu_dm_publish_path": "v_path",
"uuu_contact_last_name": "b",
"ugenZipCodeTXT16": null,
"uveEmailTB120": "a@abc.com",
"ugenAddress3TXT120": null,
"uveReferenceIdTB16": null,
"uuu_creation_date": "04-12-2018",
"ugenRemarksTB4000": null,
"uvePhoneTB64": null,
"uveTaxIDTB16": null,
"uveMinorityBusCB": 0,
"uveInsuranceCoTB32": null,
"ugenExpirationDateDOP": null,
"uveWomanOwnedCB": 0,
"uveVendorNameTB50": "v-00101",
"ugenAddress1TXT120": null,
"uveDisadvantagedBusCB": 0,
"ugenDiscipline": null,
"creator_id": "Company Administrator",
"ugenAddress2TXT120": null,
"ugenCountryPD": null,
"uveVendorIDTB16": "v-00101",
"ugenStatePD": null,
"uuu_contact_first_name": "a",
"status": "Active"
}
}
],
"status": 3000
}
Validations
The following validations are performed:
- The workflow name is valid and active.
- User is an assignee (user/group) in the Creation step of the workflow.
- Action name is a valid outgoing link from the Creation step.
- Checks whether the selected user's company exists. If not, adds the Partner Company as a Member Company.
- 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.
Error Messages
The following error messages may display:
- Enter a valid or an active user. (Missing key or invalid user name)
- The workflow name is not valid. (Missing key or invalid/inactive workflow name)
- The user does not have an active workflow template. (User is not an assignee on the creation step)
- The workflow action name is not valid. (Missing key or invalid outgoing action name from creation step)
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
Task Reassignment of Workflow Records
Bulk Reverse Auto-populate Records
Get Schedule of Values (SOVs) For Base Commit Type BPs
Terminate Workflow and Non-Workflow BP Records
Last Published Wednesday, April 9, 2025