Skip to content

The Pricefx Backend API

Pricefx REST API Reference

Languages
Servers
Mock server
https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi
URL:
https://{baseUrl}/pricefx/{partition}

General

Operations

Products

Operations

Product Extensions

Operations

Product Image

Operations

Customers

Operations

Customer Extensions

Operations

Sellers

Operations

Seller Extensions

Operations

Condition Records

Operations

Competition Data

Operations

Imports

Operations

Data Change Requests

Operations

Lookup Tables / Company Parameters

Operations

User Admin

Operations

Authentication

Operations

Admin Tools

Operations

Logics

Operations

Set a Default Pricing Logic

Request

Sets the default pricing logic. To clear the default pricing logic, use /formulamanager.setdefault without the uniqueName path parameter.

Security
basic or X-PriceFx-jwt
Path
uniqueNamestringrequired

The name (uniqueName) of the logic that will be set as default. Leave blank to clear the default pricing logic.

curl -i -X POST \
  -u <username>:<password> \
  'https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/formulamanager.setdefault/{uniqueName}'

Responses

OK

Bodyapplication/json
responseobject
Response
application/json
{ "response": { "node": "string", "data": [], "status": 0 } }

Update a Logic

Request

Updates the given logic.

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}/compileOnly) for optimal performance.

Security
basic or X-PriceFx-jwt
Path
idstringrequired

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
Bodyapplication/json
dataobject
curl -i -X POST \
  -u <username>:<password> \
  https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/formulamanager.update/2147484837 \
  -H 'Content-Type: application/json' \
  -d '{
    "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
    }
  }'

Responses

Example response

Bodyapplication/json
responseobject
Response
application/json
{ "response": { "node": "node", "data": [], "status": 0 } }

Update a Logic (Partial)

Request

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.

Security
basic or X-PriceFx-jwt
Path
idstringrequired

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
Bodyapplication/json
dataobject
curl -i -X POST \
  -u <username>:<password> \
  https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/formulamanager.update/2147484837/incremental \
  -H 'Content-Type: application/json' \
  -d '{
    "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
    }
  }'

Responses

Example response

Bodyapplication/json
responseobject
Response
application/json
{ "response": { "node": "node", "data": [], "status": 0 } }

Logs

Operations

Custom Forms

Operations

Calculated Field Sets

Operations

Jobs & Tasks

Operations

Data Manager

Operations

Actions

Operations

Action Types

Operations

Price Lists

Operations

Manual Price Lists

Operations

Live Price Grids

Operations

Calculation Grids

Operations

Visual Configuration

Operations

Quotes

Operations

Contracts (Agreements & Promotions)

Operations

Visual Configuration

Operations

Rebate Agreements

Operations

Rebate Calculations

Operations

Rebate Record Group

Operations

Sales Compensations

Operations

Claim Types

Operations

Claims

Operations

Optimization

Operations

Workflow

Operations

Workflow Delegation

Operations

Attachments

To upload a file you need to perform the following actions using endpoints in this category:

  1. Create an Upload Slot
  2. Upload a File
  3. Delete an Upload Slot
Operations

Product Image

Operations

Configuration

Operations

Internationalization

Operations

Metadata

Operations

Clicmanager

Clicmanager (CLIC = "Calculable Line Item Collection") endpoints are used in the REACT version to manipulate Quote/Agreements & Promotions (Contract)/Rebate Agreement/Compensation Plan objects.

Operations

Comments

Operations

Notifications

Operations

Heartbeat

Operations

Key-Value Store

See the Key-Value Database Storage Knowledge Base article for more details.

Operations

Entities

Here you can find all fields of the corresponding entity (represented by the type code).
Use the /metadata.describe endpoint to find out the correct data type of the field that is used in your partition.

otherSchemas

Schemas