Update a Logic (Partial)

post/formulamanager.update/{id}/incremental

Performs a partial update of the specified logic. Recompiles only those logic elements whose formulaExpression has been changed.

Information: If changes in the code (in the particular Groovy code) of some elements are made, it is highly recommended to use the update endpoint with compileOnly (/formulamanager.update/{logicId}/incremental/compileOnly) for optimal performance.

Securitybasic or X-PriceFx-jwt
Request
path Parameters
id
required
string

The ID of the logic. The id is the typedId without the F suffix. For example, the id attribute of the item with typedId = 2147484837.F is 2147484837.

Example: 2147484837
Request Body schema: application/json
object
version
number
typedId
string non-empty
uniqueName
string non-empty
label
string non-empty
validAfter
string non-empty
status
string non-empty
simulationSet
any
userGroupEdit
any
userGroupViewDetails
any
formulaNature
any
lastUpdateByName
string non-empty
Array of objects non-empty unique
Array (non-empty)
version
number
typedId
string non-empty
elementName
string non-empty
elementLabel
string non-empty
elementDescription
any
elementGroups
Array of strings
conditionElementName
any
hideWarnings
boolean
excludeFromExport
boolean
protectedExpression
boolean
elementTimeout
number
displayOptions
number
formatType
string or null non-empty
elementSuffix
any
allowOverride
boolean
summarize
boolean
hideOnNull
boolean
userGroup
any
cssProperties
any
resultGroup
any
combinationType
string non-empty
criticalAlert
any
redAlert
any
yellowAlert
any
labelTranslations
any
createDate
string non-empty
createdBy
number
lastUpdateDate
string non-empty
lastUpdateBy
number
formulaExpression
string non-empty
inputDescriptors
Array of objects
formulaType
string non-empty
createdByName
any
createDate
string non-empty
createdBy
number
lastUpdateDate
string non-empty
lastUpdateBy
number
Responses
200

Example response

Response Schema: application/json
object
node
string non-empty
Array of objects non-empty unique
Array (non-empty)
object
status
number
Request samples
application/json
{
  • "data": {
    • "version": 6,
    • "typedId": "2147484837.F",
    • "uniqueName": "PriceList",
    • "label": "Price List",
    • "validAfter": "2021-07-12",
    • "status": "ACTIVE",
    • "simulationSet": null,
    • "userGroupEdit": null,
    • "userGroupViewDetails": null,
    • "formulaNature": null,
    • "lastUpdateByName": "admin",
    • "elements": [
      • {
        • "version": 9,
        • "typedId": "2147494038.FE",
        • "elementName": "BasePrice",
        • "elementLabel": "Base Price",
        • "elementDescription": null,
        • "elementGroups": [ ],
        • "conditionElementName": null,
        • "hideWarnings": false,
        • "excludeFromExport": false,
        • "protectedExpression": false,
        • "elementTimeout": 0,
        • "displayOptions": 21,
        • "formatType": "MONEY_EUR",
        • "elementSuffix": null,
        • "allowOverride": false,
        • "summarize": false,
        • "hideOnNull": false,
        • "userGroup": null,
        • "cssProperties": null,
        • "resultGroup": null,
        • "combinationType": "FUNCTION",
        • "criticalAlert": null,
        • "redAlert": null,
        • "yellowAlert": null,
        • "labelTranslations": null,
        • "createDate": "2021-11-04T14:56:11",
        • "createdBy": 2147490696,
        • "lastUpdateDate": "2021-11-04T18:16:42",
        • "lastUpdateBy": 2147490696,
        • "formulaExpression": "def avgCost = api.productExtension(\"pcost\")?.find()?.attribute1\nif(avgCost == null){\n api.addWarning(\"Could not find Average Cost in PX table ProductCost\")\n}\nreturn avgCost"
        },
      • {
        • "version": 9,
        • "typedId": "2147494043.FE",
        • "elementName": "ListPrice",
        • "elementLabel": "List Price",
        • "elementDescription": null,
        • "elementGroups": [ ],
        • "conditionElementName": null,
        • "hideWarnings": false,
        • "excludeFromExport": false,
        • "protectedExpression": false,
        • "elementTimeout": 0,
        • "displayOptions": 5,
        • "formatType": null,
        • "elementSuffix": null,
        • "allowOverride": false,
        • "summarize": false,
        • "hideOnNull": false,
        • "userGroup": null,
        • "cssProperties": null,
        • "resultGroup": null,
        • "combinationType": "FUNCTION",
        • "criticalAlert": null,
        • "redAlert": null,
        • "yellowAlert": null,
        • "labelTranslations": null,
        • "createDate": "2021-11-04T14:56:11",
        • "createdBy": 2147490696,
        • "lastUpdateDate": "2021-11-04T18:16:42",
        • "lastUpdateBy": 2147490696,
        • "formulaExpression": "def listPrice = out.BasePrice\n\n\nreturn listPrice"
        }
      ],
    • "inputDescriptors": [ ],
    • "formulaType": "PRICING",
    • "createdByName": null,
    • "createDate": "2021-11-04T14:56:11",
    • "createdBy": 2147490696,
    • "lastUpdateDate": "2021-11-04T18:16:42",
    • "lastUpdateBy": 2147490696
    }
}
Response samples
application/json
{
  • "response": {
    • "node": "node",
    • "data": [
      • {
        • "formula": {
          }
        }
      ],
    • "status": 0
    }
}