Pricefx REST API Reference
- Get a DM Object
The Pricefx Backend API
Request
Retrieves the object's (Data Feed, Data Source, Datamart) row level data. A filter can be applied.
If you want to achieve better performance when fetching large data sets and if you do not need the total number of items in the table – use the /datamart.fetchnocount/{typedId} endpoint instead.
You can choose fields to be returned in the response by employing the resultFields or valueFields filter:
resultFields: returns key-value pairs as objects. This is the more friendly response compared to valueFields but the server fetches all fields from the database in the backend which might result in a slower performance. See the List Product's listProductsResponseExample_resultFields response example.
valueFields: returns just an array of values. Use this option if a better performance is required. See the List Product's listProductsResponseExample_valueFields response example.
When
distinctResultsis set to true, it applies only to the first column specified in thevalueFieldsarray. For example, if"valueFields": ["ConditionType", "TableNumber"]is used, only distinct values forConditionTypeare returned.
Please note: When paging is applied, use a deterministic sort (for example,
"sortBy":["InvoiceLineID"]). If no sorting is defined when paging, you may get duplicates in the response.
Use one of the following object identifiers:
- typedUniquename – Format: "<typeCode>.<uniqueName>" (e.g., DMDS.SalesTransactions)
- typedId – Format: "<dbId>.<typeCode>" (e.g., 123456.DMDS)'
- "*" (asterisk) – Asterisk can be used when you are providing a source$query in
datawithin the request body
Set this parameter to override the default timeout (60 seconds) of the query. The maximum allowed timeout is 300 seconds. The default timeout value and the maximum timeout value can be configured in the backend. Setting higher timeout can be useful, for example, when a query takes long time (e.g., when processing large tables).
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetch/{objectId}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.fetch/{objectId}
- 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/datamart.fetch/123456.DMDS || DMDS.Transactions || DM.TxDM || *?timeout=20' \
-H 'Content-Type: application/json' \
-d '{
"endRow": 300,
"oldValues": null,
"operationType": "fetch",
"startRow": 0,
"textMatchStyle": "exact",
"data": {
"_constructor": "AdvancedCriteria",
"operator": "and",
"criteria": [
{
"fieldName": "currency",
"operator": "iEquals",
"value": "EUR"
}
]
},
"sortBy": [
"InvoiceLineID"
],
"resultFields": [
"ProductID",
"label",
"unitOfMeasure",
"currency",
"formulaName",
"lastUpdateDate"
]
}'{ "response": { "node": "string", "startRow": 0, "data": [ … ], "endRow": 0, "totalRows": 0, "status": 0 } }
Use one of the following object identifiers:
- typedUniquename – Format: "<typeCode>.<uniqueName>" (e.g., DMDS.SalesTransactions)
- typedId – Format: "<dbId>.<typeCode>" (e.g., 123456.DMDS)'
- "*" (asterisk) – Asterisk can be used when you are providing a source$query in
datawithin the request body
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetch/{objectId}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.fetch/{objectId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
-u <username>:<password> \
'https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetch/123456.DMDS || DMDS.Transactions || DM.TxDM || *?output=string&stream=true&dataLocale=string&typedUniquename=string'{ "response": { "status": 0, "startRow": 0, "data": [ … ], "endRow": 2 } }
Request
Retrieves the object's (Data Feed, Data Source, Datamart) row level data and skips the count() query - it does not return a total number of rows in the entire table when the filter is applied, it returns just the total number of rows in the response.
Information: Use this endpoint when you need a better performance when fetching large data sets and when you do not need to fetch a total number of items in the table. Usually used for integration purposes.
Use one of the following object identifiers:
- typedUniquename – Format: "<typeCode>.<uniqueName>" (e.g., DMDS.SalesTransactions)
- typedId – Format: "<dbId>.<typeCode>" (e.g., 123456.DMDS)
- "*" (asterisk) – Asterisk can be used when you are providing a source$query in
datawithin the request body
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetchnocount/{objectId}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.fetchnocount/{objectId}
- 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/datamart.fetchnocount/{objectId}' \
-H 'Content-Type: application/json' \
-d '{
"endRow": 300,
"oldValues": null,
"operationType": "fetch",
"startRow": 0,
"textMatchStyle": "exact",
"data": {
"_constructor": "AdvancedCriteria",
"operator": "and",
"criteria": [
{
"fieldName": "attribute4",
"operator": "iEquals",
"value": "EUR"
}
]
}
}'{ "response": { "node": "string", "csrfToken": "string", "startRow": 0, "data": [ … ], "endRow": 0, "totalRows": 0, "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