Pricefx REST API Reference
The Pricefx Backend API
Request
Submits or approves Live Price Grid (LPG) items. The same endpoint covers both actions: when called on unsubmitted items it performs a submit, and when called with the same payload on items that are already submitted it performs an approval. The Pricefx UI uses this single endpoint for both the Submit and Approve actions, which means repeated or concurrent calls (for example, two users submitting the same change at nearly the same time, or a double-click on Submit) can cause an item to move directly from Unsubmitted to Approved from the first caller's perspective.
In workflows with more than one approval step, each call to accept on a SUBMITTED item advances the item by exactly one step (the workflow's current step) by default. The system can be configured so that one approval automatically triggers the next when the calling user has permission to approve the next step; in that case, a single call in a multi-step workflow can result in the item being fully approved. Otherwise, repeated calls — by the same or different approvers, depending on workflow configuration — progress the item through each step until the final approval completes the workflow.
The endpoint does not distinguish between "step approval" and "final approval" in its API surface; both are the same call, and the workflow engine determines the effect based on the step the item is currently on.
| Required Permission | Roles with the Required Permission |
|---|---|
| PRICEGRID_SUBMIT | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) |
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/pricegridmanager.accept/{id}
- URL:https://companynode.pricefx.com/pricefx/companypartition/pricegridmanager.accept/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/pricegridmanager.accept/{id}' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"ids": [
"12.XPGI",
"13.XPGI",
"17.XPGI",
"18.XPGI",
"19.XPGI"
]
}
}'{ "response": { "node": "string", "data": [ … ], "status": 0 } }
Request
Retrieves all Price Grids based on filter settings.
Filter example:
Returns only Price Grids where status = CANCELLED.
{
"data":{
"_constructor":"AdvancedCriteria",
"operator":"and",
"criteria":[
{
"fieldName":"status",
"operator":"equals",
"value":"CANCELLED"
}
]
}
}The number of the end row that defines the end of the result set's returned objects. Use this parameter if you want to implement paging for results.
The number of the first row that defines the start of the result set's returned objects. Use this parameter if you want to implement paging for results.
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/fetch/PG
- URL:https://companynode.pricefx.com/pricefx/companypartition/fetch/PG
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/fetch/PG \
-H 'Content-Type: application/json' \
-d '{
"endRow": 300,
"oldValues": null,
"operationType": "fetch",
"startRow": 0,
"textMatchStyle": "exact",
"data": {
"_constructor": "AdvancedCriteria",
"operator": "and",
"criteria": [
{
"fieldName": "status",
"operator": "equals",
"value": "READY"
}
]
}
}'{ "response": { "status": 0, "startRow": 0, "node": "string", "csrfToken": "string", "data": [ … ], "endRow": 300 } }
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/fetch/PG/{id}
- URL:https://companynode.pricefx.com/pricefx/companypartition/fetch/PG/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
'https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/fetch/PG/{id}'{ "response": { "node": "string", "csrfToken": "string", "data": [ … ], "status": 0 } }
CommentsCopy for LLM Copy page as Markdown for LLMs View as Markdown Open this page as Markdown Open in ChatGPT Get insights from ChatGPT Open in Claude Get insights from Claude Connect to Cursor Install MCP server on Cursor Connect to VS Code Install MCP server on VS Code