# The Pricefx Backend API Pricefx REST API Reference ## Servers URL: ``` https://{baseUrl}/pricefx/{partition} ``` Variables: - `baseUrl`: A domain name of your Pricefx instance. Default: "companynode.pricefx.com" - `partition`: A name of the partition you want to use. Default: "companypartition" ## Security ### X-PriceFx-jwt Type: apiKey In: header Name: X-PriceFx-jwt ### basic Type: http Scheme: basic ## Download OpenAPI description [The Pricefx Backend API](https://api.pricefx.com/_bundle/openapi/reference/@pricefx/pricefx-server_openapi.yaml) ## General ### Insert Bulk Data - [POST /loaddata/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-loaddata-typecode.md): Inserts multiple records to the Master Data table. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). Use the ISO 8601 date format (YYYY-MM-DD) if a date is included in the table. See the list of bulk-loadable objects. >If used in a Groovy logic, it is recommended to use the api.addOrUpdate()) method instead of this loaddata endpoint within the boundCall(). >For more details see the Avoid api.boundCall article. > Please note > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Insert Bulk Data From a File - [POST /loaddata.file/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-loaddata.file-typecode.md): Inserts multiple records to the Master Data table from the CSV file. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). >If used in a Groovy logic, it is recommended to use the api.addOrUpdate()) method instead of this loaddata endpoint within the boundCall(). >For more details see the Avoid api.boundCall article. > Please note > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata.file it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Insert Bulk Data From a File (async) - [POST /loaddata.file/{TypeCode}/async](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-loaddata.file-typecode-async.md): Creates a JST job (the LOADDATA_FILE type) for inserting multiple records to the Master Data table from a CSV file. You can get the status of the job by calling the admin.fetchjst/{jstId} endpoint. The jstId can be found in the response of the /loaddata.file/{TypeCode}/async endpoint. Allows parallel loaddata calls. You can also view the job in Administration > Logs > Jobs & Tasks. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). >If used in a Groovy logic, it is recommended to use the api.addOrUpdate()) method instead of this loaddata endpoint within the boundCall(). >For more details see the Avoid api.boundCall article. > Please note > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata.file it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Upsert an Object - [POST /integrate/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-integrate-typecode.md): Upserts an object (the object type must be specified by Type Code in the path). To add a new object that does not exist, specify the sku parameter in the request. To update an existing object, specify the sku or typedId parameter of the existing object. The /integrate method performs a partial update – it does not delete field values that have not been specified in the update request. >Please note >This method is intended to be used with one or two objects and it allows you to update particular fields. The request will overwrite the existing data of the record being updated, regardless of other changes. >To insert more objects in bulk, please use the /loaddata/{TypeCode} endpoint. This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. >Information >You can upsert multiple records using one request. To do so, add multiple data objects into your JSON. See the example below. json [ { "data": { "sku": "111111", "typedId": "2147501227.P", "label": "The New Label", "unitOfMeasure": "EA", "currency": "USD", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } }, { "data": { "sku": "222222", "label": "The New Label 2", "unitOfMeasure": "EA", "currency": "EUR", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } } ] ### Upsert an Object (and return old data) - [POST /integrate/{TypeCode}/returnolddata](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-integrate-typecode-olddata.md): Upserts an object (the object type must be specified by Type Code in the path) and returns record details of the previous version. It allows you to check changes in the record. To add a new object that does not exist, specify the sku parameter in the request. To update an existing object, specify the sku or typedId parameter of the existing object. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. --- >Please note: >This method is intended to be used with one or two objects and it allows you to update particular fields. The request will overwrite the existing data of the record being updated, regardless of other changes. >To insert more objects in bulk please use the /loaddata/{TypeCode} endpoint. --- This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. >Information: >You can upsert multiple records using one request. To do so, add multiple data objects into your JSON. See the example below. json [ { "data": { "sku": "111111", "typedId": "2147501227.P", "label": "The New Label", "unitOfMeasure": "EA", "currency": "USD", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } }, { "data": { "sku": "222222", "label": "The New Label 2", "unitOfMeasure": "EA", "currency": "EUR", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } } ] --- ### Update an Object (and return old data) - [POST /update/{TypeCode}/returnolddata](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-update-typecode-returnolddata.md): Updates an existing object and returns details of the previous version. Updates specified fields (in the data property) of the record. Only one record can be updated per request (unless batched). ### Update an Object - [POST /update/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-update-typecode.md): Updates an existing object. Specify fields you want to update in the data property. Only one record can be updated per request (unless batched). ### Delete an Object - [POST /delete/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-delete-typecode.md): Deletes an object. Only one object can be deleted per request (unless batched). Some object types may be blocked from being deleted by the update command as special processing is done by a dedicated manager command. Note: Some object types are only soft-deleted, some are hard-deleted in the database. This behavior cannot be influenced by the client. ### Mass Update - [POST /massedit/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-massedit-typecode.md): Performs a mass update operation on the specified object. This operation is not available for all types of objects – "massEditable" = "true" must be set on the object to allow the mass edit operation. Set the filter criteria to restrict the scope of the mass edit operation. ### Delete Column Values - [POST /resetcolumn/{TypeCode}/{columnName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-resetcolumn-typecode-columnname.md): Removes values from the specified column. ### Delete Objects - [POST /delete/{TypeCode}/batch/forcefilter](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-delete-typecode-batch.md): Deletes multiple objects based on filter settings. >Please Note: >Invalid filter clauses are ignored. This could potentially lead to a full table truncate (the whole type without filter is deleted)! Use the forcefilter variant to enforce a filter in all cases! ### Create an Object - [POST /add/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-add-typecode.md): Creates an object. Only one object can be added per request (unless batched). >Information: Some object types may be blocked from being added by the update command as special processing is done by a dedicated manager command. ### Get an Object - [POST /fetch/{TypeCode}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-fetch-typecode-id.md): Retrieves details of the specified object. >Note: Certain data elements (e.g. lookup table values of any table, including JSON lookup tables / pricing params) should NOT be retrieved with the general fetch commands (/fetch/{TypeCode}). Always use the "...manager.fetch" API endpoints where they are available. The same applies to update/delete/integrate commands. >Information: The following entities can intentionally be fetched by any user without any particular user role: CN, BR, CS, CLLIAM, CTAM, CTT, CTTAM, C, CAM, CXAM, DMDC, DMF, DMDL, DMDS, DM, DMM, DMR, DMT, DCRAM, FN, IE, JST, JLTVM, MPLIT, MPLAM, MLTVM, MRAM, MT, PYRAM, PGIM, PRAM, PLIM, P, PAM, PXAM, QAM, RBAAM, RRAM, RRS, RRSC, RBT, RBTAM, SC, SCN, SCNAM, SIM, SIAM, UG. ### List Objects - [POST /fetch/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-fetch-typecode.md): Retrieves all objects (including details) of the specified type. A filter can be applied. >Information: Certain data elements (e.g. lookup table values of any table, including JSON lookup tables / pricing params) should NOT be retrieved with the general fetch commands (/fetch/{TypeCode}). Always use the "...manager.fetch" API endpoints where they are available. The same applies to update/delete/integrate commands. >Information: The following entities can intentionally be fetched by any user without any particular user role: CN, BR, CS, CLLIAM, CTAM, CTT, CTTAM, C, CAM, CXAM, DMDC, DMF, DMDL, DMDS, DM, DMM, DMR, DMT, DCRAM, FN, IE, JST, JLTVM, MPLIT, MPLAM, MLTVM, MRAM, MT, PYRAM, PGIM, PRAM, PLIM, P, PAM, PXAM, QAM, RBAAM, RRAM, RRS, RRSC, RBT, RBTAM, SC, SCN, SCNAM, SIM, SIAM, UG. 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. ### List Type Codes - [POST /fetch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/general/post-fetch.md): Returns the list of all Type Codes. ## Products ### Insert Bulk Products - [POST /loaddata/P](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-loaddata-p.md): Inserts multiple products to the Master Data table. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). Use the ISO 8601 date format (YYYY-MM-DD) if a date is included in the table. >Please note: > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Upsert a Product - [POST /integrate/P](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-integrate-type-code.md): Upserts a product. - To add a new product that does not exist, specify the sku parameter in the request. - To update an existing product, specify the sku or typedId parameter of the existing product. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. Use the /integrate/{TypeCode}/returnolddata endpoint to return also the data of the previous version in the response. --- > Please note: >This method is intended to be used with one or two objects and it allows you to update particular fields. The request will overwrite the existing data of the record being updated, regardless of other changes. >To work with more products in bulk please use the /loaddata/P endpoint. --- This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. >Information: >You can upsert multiple records using one request. To do so, add multiple data objects into your JSON. See the example below. json [ { "data": { "sku": "111111", "typedId": "2147501227.P", "label": "The New Label", "unitOfMeasure": "EA", "currency": "USD", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } }, { "data": { "sku": "222222", "label": "The New Label 2", "unitOfMeasure": "EA", "currency": "EUR", "formulaName": "priceLogic2", "attribute1": "1", "attribute2": "2", "userGroupEdit": "Administrators", "userGroupViewDetails": "PricingManagers" } } ] --- ### Add a Product - [POST /add/P](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-add-p.md): Inserts a product to the Master Data - Products table. ### Update a Product - [POST /update/P](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-update-p.md): Updates an existing product. ### Search a Product - [POST /productmanager.quicksearch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.quicksearch.md): Performs a search by sku and label fields. Returns all lists containing the search term. Enter the search term in the request body in the q parameter. > Information: Use the /productmanager.quicksearch/{query} (Search a Product (URL)) endpoint to pass the search term in the URL. ### Search a Product (URL) - [POST /productmanager.quicksearch/{query}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.quicksearch-query.md): Performs a search by sku and label fields. Returns all lists containing the search term. Enter the search term query URL-encoded to prevent an invalid API call when using special characters in the URL. > Information: Use the /productmanager.quicksearch (Search a Product) endpoint to pass the search term in the request body. ### List Products - [POST /productmanager.fetchformulafilteredproducts](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.fetchformulafilteredproducts.md): Retrieves a list of Products. A filter can be applied (see the request example). 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 listProductsResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the listProductsResponseExample_valueFields response example. ### Delete a Product - [POST /delete/P](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-delete-p.md): Deletes a product. >Please note: >Only one object can be deleted per request (unless batched). Some object types may be blocked from being deleted by the update command as special processing is done by a dedicated manager command. Some object types are only soft-deleted, some are hard-deleted in the database. This behavior cannot be influenced by the client. >You can upsert multiple records using one request. To do so, add multiple data objects into your JSON. See the example below. json [ { "data": { "typedId": "2147501223.P" } }, { "data": { "typedId": "2147501224.P" } }, { "data": { "typedId": "2147501225.P" } } ] ### Get a Product Set - [POST /productmanager.fetchproductsetcompetition/{label}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.fetchproductsetcompetition-label.md): Retrieves products from the specified product set (configured for Competition Data API). >Information: >You can retrieve the product set's label (that is required in the URL of this endpoint as a parameter) using the /fetch/PCOMPCO endpoint. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Get Competition Data - [POST /productmanager.fetchproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.fetchproductcompetition.md): Retrieves products from the Competition Data table. --- Please note: Returns the entire Competition Data table. The table can grow very large when no mechanism is put in place to delete stale records, and if you employ multiple data providers, this will return all data, irrespective of the source. Additionally to the regular /fetch command, this command supports (i.e. transparently handles) also global data as configured. This means that if, for example, the product competition data is configured to come from the global partition, this command will retrieve it from there. The regular fetch command will always only return data for the local partition. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Import Competition Data - [POST /productmanager.importproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.importproductcompetition.md): Adds products to the Competition Data table. Returns the number of updated, inserted, and failed records during the import. Creates a new row for each product. ### List BoM for a Product - [POST /productmanager.bomtree/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.bomtree-sku.md): Retrieves all Bill of Materials for the specified product. ### Execute an Assigned Logic - [POST /formulamanager.execute/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-formulamanager.execute-sku.md): Executes a logic that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Execute a Logic - [POST /formulamanager.execute/{sku}/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-formulamanager.execute-sku-uniquename.md): Executes a logic (specified by uniqueName) that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### List Recommendations - [POST /recommendations.recommend](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-recommendations.recommend.md): Retrieves recommended Quote items for a customer, segment, or a product. See also: Configure Recommended Items Knowledge base article. If the endpoint receives a request data containing a Quote typedId and a QuoteProductFilter logic is configured in the partition (see Quote Product Picker Filter Logic), then the endpoint will evaluate this logic with the corresponding Quote and gives the resulting Filter object to the recommendation model evaluation. ### Get a Product Set - [POST /productmanager.fetchproductsetcompetition/{label}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.fetchproductsetcompetition-label.md): Retrieves products from the specified product set (configured for Competition Data API). >Information: >You can retrieve the product set's label (that is required in the URL of this endpoint as a parameter) using the /fetch/PCOMPCO endpoint. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Get Competition Data - [POST /productmanager.fetchproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.fetchproductcompetition.md): Retrieves products from the Competition Data table. --- Please note: Returns the entire Competition Data table. The table can grow very large when no mechanism is put in place to delete stale records, and if you employ multiple data providers, this will return all data, irrespective of the source. Additionally to the regular /fetch command, this command supports (i.e. transparently handles) also global data as configured. This means that if, for example, the product competition data is configured to come from the global partition, this command will retrieve it from there. The regular fetch command will always only return data for the local partition. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Import Competition Data - [POST /productmanager.importproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.importproductcompetition.md): Adds products to the Competition Data table. Returns the number of updated, inserted, and failed records during the import. Creates a new row for each product. ### Execute an Assigned Logic - [POST /formulamanager.execute/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.execute-sku.md): Executes a logic that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Execute a Logic - [POST /formulamanager.execute/{sku}/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.execute-sku-uniquename.md): Executes a logic (specified by uniqueName) that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ## Competition Data ### Get a Product Set - [POST /productmanager.fetchproductsetcompetition/{label}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.fetchproductsetcompetition-label.md): Retrieves products from the specified product set (configured for Competition Data API). >Information: >You can retrieve the product set's label (that is required in the URL of this endpoint as a parameter) using the /fetch/PCOMPCO endpoint. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Get Competition Data - [POST /productmanager.fetchproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.fetchproductcompetition.md): Retrieves products from the Competition Data table. --- Please note: Returns the entire Competition Data table. The table can grow very large when no mechanism is put in place to delete stale records, and if you employ multiple data providers, this will return all data, irrespective of the source. Additionally to the regular /fetch command, this command supports (i.e. transparently handles) also global data as configured. This means that if, for example, the product competition data is configured to come from the global partition, this command will retrieve it from there. The regular fetch command will always only return data for the local partition. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Import Competition Data - [POST /productmanager.importproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-productmanager.importproductcompetition.md): Adds products to the Competition Data table. Returns the number of updated, inserted, and failed records during the import. Creates a new row for each product. ### Get a Product Set - [POST /productmanager.fetchproductsetcompetition/{label}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.fetchproductsetcompetition-label.md): Retrieves products from the specified product set (configured for Competition Data API). >Information: >You can retrieve the product set's label (that is required in the URL of this endpoint as a parameter) using the /fetch/PCOMPCO endpoint. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### Get Competition Data - [POST /productmanager.fetchproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.fetchproductcompetition.md): Retrieves products from the Competition Data table. --- Please note: Returns the entire Competition Data table. The table can grow very large when no mechanism is put in place to delete stale records, and if you employ multiple data providers, this will return all data, irrespective of the source. Additionally to the regular /fetch command, this command supports (i.e. transparently handles) also global data as configured. This means that if, for example, the product competition data is configured to come from the global partition, this command will retrieve it from there. The regular fetch command will always only return data for the local partition. --- Required Permission| Roles with the Required Permission | ---------|----------| PRODUCTCOMPETITION_FETCH | Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), Manage Products (PB_PRODUCTEDITOR), Administer Products (PB_PRODUCTS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION) ### List Product Sets - [POST /fetch/PCOMPCO](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-fetch-pcompco.md): Retrieves details of all product sets for Competition Data API. ### Import Competition Data - [POST /productmanager.importproductcompetition](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/competition-data/post-productmanager.importproductcompetition.md): Adds products to the Competition Data table. Returns the number of updated, inserted, and failed records during the import. Creates a new row for each product. ## Logics ### Execute an Assigned Logic - [POST /formulamanager.execute/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-formulamanager.execute-sku.md): Executes a logic that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Execute a Logic - [POST /formulamanager.execute/{sku}/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/products/post-formulamanager.execute-sku-uniquename.md): Executes a logic (specified by uniqueName) that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Get a Logic - [POST /formulamanager.fetch/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.fetch-id.md): Returns full details of the logic, including all sub-elements. > Information: > The id is the typedId without the F suffix. For example, the id attribute of the logic with typedId = 2147484823.F is 2147484823. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICINGFORMULA_FETCH | Administer Policy Records (PO_MODELRECORDS_ADMIN), Manage PA Calculation Logics (PA_FORMULAS), Manage Contracts Calculation Logics (CM_FORMULAS), Manage Rebate Agreement Templates (RM_RAT), Administer PriceOptimizer (PO_MANAGER), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage PromotionManager (CM_CONTRACTMANAGER), Administer RebateManager (RM_REBATEMANAGER), Administer QuoteConfigurator (PRICESHOP_QUOTEADMIN), Manage Calculation Logics (PB_FORMULAS), Manage Claims (CLM_CLAIMMANAGER), Manage Rebate Calculation Logics (RM_FORMULAS) ### Get a Default Pricing Logic Name - [POST /formulamanager.getdefault](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.getdefault.md): Retrieves uniqueName of the default pricing logic. ### Set a Default Pricing Logic - [POST /formulamanager.setdefault/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.setdefault-uniquename.md): Sets the default pricing logic. To clear the default pricing logic, use /formulamanager.setdefault without the uniqueName path parameter. ### Update a Logic - [POST /formulamanager.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.update-logicid.md): 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. ### Update a Logic (Partial) - [POST /formulamanager.update/{id}/incremental](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.update-id-incremental.md): 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. ### Update a Logic (No syntax check) - [POST /formulamanager.update/{id}/compileOnly](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.update-logicid-compileonly.md): Updates the given logic. Skips the syntax check. Groovy compilation errors will still surface, but regular syntax errors could go unnoticed. Use with care! >Information: > Skipping the syntax check is useful for better performance when the logic does not contain any inputs. If the logic contains inputs, the syntax check is needed. ### List Elements - [POST /formulamanager.getelementnames/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.getelementnames-uniquename.md): Returns all logic element names and labels, except elements where the Display Mode (displayOptions) is set to Never. ### Execute an Assigned Logic - [POST /formulamanager.execute/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.execute-sku.md): Executes a logic that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Execute a Logic - [POST /formulamanager.execute/{sku}/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.execute-sku-uniquename.md): Executes a logic (specified by uniqueName) that is assigned to the given product (specified by sku or typedId) and calculates the result. The result content is defined partially by the visibility flags that are part of the logic master data. ### Delete a Logic - [POST /formulamanager.delete/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.delete-id.md): Deletes a logic, including all elements. ### List Logics - [POST /formulamanager.getnames](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.getnames.md): Retrieves a list (uniqueName and label) of all logics in the partition you are currently authenticated for. ### Generate Parameters - [POST /formulamanager.testparams](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.testparams.md): Retrieves a list of parameters and their Nature for a given formula. ### Syntax Check - [POST /formulamanager.check](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.check.md): Checks syntax for the provided logic fragment. As logic fragments (i.e. calculation schema entries or logic elements) can also reference previous logic element results, the parameter knownElements is available to declare a number of “names” as valid for the purpose of the syntax check. ### List Logic Parameters (Input Fields) - [POST /formulamanager.params/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.params-uniquename.md): Retrieves a list of parameters (input fields) and their properties for the specified logic. ### List Libraries - [POST /formulamanager.libraries](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.libraries.md): Retrieves active Groovy libraries, including elements and functions. ### Execute a Logic (Without a Context) - [POST /formulamanager.executeformula/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.executeformula-uniquename.md): Executes a logic and returns results. Use the output=rawjson parameter in the URL, for example /formulamanager.executeformula/QuoteLogic?output=rawjson in order to return the result in the simple JSON format as "resultName":result. ### Execute a Logic Without a Context in a Service - [POST /formulamanager.executeformulaservice/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.executeformulaservice-uniquename.md): Executes a logic and returns results. The main difference between this command and the executeformula command is, that in this formulamanager.executeformulaservice command, the logic context is preserved and reused. This allows the formula to build and maintain a cache, as elements like api.global persist between calls. Each thread operates with its own formula context and api.global instance. The system maintains a fixed number of service threads, with a predefined lifespan for each. Parallel API requests are queued and executed on these threads in sequence. If a request cannot be processed within a short timeframe, it will fail. For this reason, it is crucial that subsequent requests execute efficiently, leveraging caching whenever possible. Be aware that during long cache warm-up periods (e.g., when new threads are initialized), there is a higher risk of request failures. Use the output=rawjson parameter in the URL, for example /formulamanager.executeformula/QuoteLogic?output=rawjson in order to return the result in the simple JSON format as "resultName":result. ### Execute a Logic (Read-Only) - [POST /formulamanager.executeformula/{uniqueName}/readonly](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.executeformula-uniquename-readonly.md): Executes the formula with disabled object modification capabilities. Use the output=rawjson parameter in the URL, for example /formulamanager.executeformula/QuoteLogic?output=rawjson in order to return the result in the simple JSON format as "resultName":result. ### Execute a Logic Without a Context in a Service (Read-Only) - [POST /formulamanager.executeformulaservice/{uniqueName}/readonly](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.executeformulaservice-uniquename-readonly.md): Executes the logic without an explicit product context in a service with disabled object modification capabilities. Use the output=rawjson parameter in the URL, for example /formulamanager.executeformulaservice/QuoteLogic?output=rawjson in order to return the result in the simple JSON format as "resultName":result. ### Copy a Logic - [POST /formulamanager.copy/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.copy-id).md): Creates a copy of the specified logic. The validAfter value is set to today's date, all other values and sub-elements are exact copies. ### List Functions - [POST /formulamanager.librarymethods](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.librarymethods.md): Retrieves a list of functions in an active Groovy library. ### Test a Logic - [POST /formulamanager.testexec](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.testexec.md): Executes a draft logic for a given approvable and calculates the result. This command is used to test a logic during editing (the "Test Logic" button in IntelliJ Pricefx Studio). The backend will compile and execute the test logic (specified in the testFormula property) without persisting it in the database. ### Execute Library Function - [POST /formulamanager.executelibraryfunction/{formulaName}/{elementName}/{functionName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logics/post-formulamanager.executelibraryfunction.md): Executes a specific function from a formula library element without requiring a full formula logic implementation. Parameters are provided via the request payload and the calculated result is returned. >Note: >- This endpoint does not work with inputs bindings. Provide ordered function arguments instead. >- Used by the Pricefx MCP server to enable Groovy-configured MCP Tools. >- Requires the PRICINGFORMULA_EXECUTE permission. ## Product Extensions ### Insert Bulk Product Extensions - [POST /loaddata/PX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-loaddata-px.md): Inserts multiple product extensions to the Master Data table. The name (a name of the category) and sku must be provided for each record in the header and data object within the request body. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). Use the ISO 8601 date format (YYYY-MM-DD) if a date is included in the table. >Please note: > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. --- ### Upsert a Product Extension - [POST /integrate/PX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-integrate-px.md): Creates or updates a product extension. To add a new product extension that does not exist, specify the sku and name (category) parameter in the request. To update an existing product extension, specify the name and sku or typedId parameters of the existing product extension. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. Use the /integrate/{TypeCode}/returnolddata endpoint to return also the data of the previous version in the response. --- Please note This method is intended to be used with one or two objects and it allows you to update particular fields. The request will overwrite the existing data of the record being updated, regardless of other changes. To work with more customers in bulk please use the /loaddata/P endpoint. --- This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. --- Information You can upsert multiple records using within request. To do so, add multiple data objects into your JSON. --- ### Delete a Product Extension - [POST /delete/PX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-delete-px.md): Deletes a product extension. Only one object can be deleted per request (unless batched). Some object types may be blocked from being deleted by the update command as special processing is done by a dedicated manager command. Note: Some object types are only soft-deleted, some are hard-deleted in the database. This behavior cannot be influenced by the client. ### List Product Extension Objects - [POST /productmanager.fetch/*/PX/{ProductMasterExtensionName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-productmanager.fetch-*-typecode.md): Retrieves records from the Product Extensions table. Export the table to the Excel file (XLSX), CSV, or JSON using the output URL query parameter. When exporting to the file, specify fields (within the resultFields property) you want to include in the output table. Example request body for the export action: json { "data":{ "criteria":[ ], "operator":"and" }, "resultFields":[ "sku", "lastUpdateDate", "attribute1" ], "valueFields":[ ] } 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 Products' listProductsResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the List Products' listProductsResponseExample_valueFields response example. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Get Product Attribute Meta - [POST /productmanager.fetchpxam](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-productmanager.fetchpxam.md): Extended fetch command to retrieve product attribute meta data. Unlike the general fetch/{typeCode} endpoint, this extended endpoint also handles global metadata configurations. For example, if product metadata is configured to originate from the global partition, this command will automatically retrieve it from there. In contrast, the general fetch endpoint is limited to returning data exclusively from the local partition. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ## Customer Extensions ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Insert Bulk Customer Extensions - [POST /loaddata/CX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-loaddata-cx.md): Inserts multiple customers extensions to the Master Data table. The name (a name of the category) and customerId must be provided for each record in the header and data object within the request body. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). >Please note > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Upsert a Customer Extension - [POST /integrate/CX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-integrate-cx.md): Updates or creates a customer extension. To add a new customer extension that does not exist, specify the customerId and name parameter in the request. To update an existing customer extension, specify the name and customerId or typedId parameters of the existing customer extension. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. Use the /integrate/{TypeCode}/returnolddata endpoint to return also the data of the previous version in the response. --- Please note This method is intended to be used with one or two objects and it allows you to update particular fields. The request will overwrite the existing data of the record being updated, regardless of other changes. To work with more customers in bulk please use the /loaddata/C endpoint. --- This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. --- Information You can upsert multiple records using within request. To do so, add multiple data objects into your JSON. See the batchUpsertCustomerExample example. --- ### Delete a Customer Extension - [POST /delete/CX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-delete-cx.md): Deletes a customer extension. Only one object can be deleted per request (unless batched). Some object types may be blocked from being deleted by the update command as special processing is done by a dedicated manager command. Note: Some object types are only soft-deleted, some are hard-deleted in the database. This behavior cannot be influenced by the client. ### List Customer Extension Objects - [POST /customermanager.fetch/*/CX/{CustomerMasterExtensionName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-customermanager.fetch-*-typecode.md): Retrieves records from the Customer Extensions table. Export the table to the Excel file (XLSX), CSV, or JSON using the output URL query parameter. When exporting to the file, specify fields (within the resultFields property) you want to include in the output table. Example request body for the export action: json { "data":{ "criteria":[ ], "operator":"and" }, "resultFields":[ "customerId", "lastUpdateDate", "attribute1" ], "valueFields":[ ] } 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 Customers' listCustomersResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the List Customers' listCustomersResponseExample_valueFields response example. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ## Seller Extensions ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customer-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ### Insert Bulk Seller Extensions - [POST /loaddata/SX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-loaddata-sx.md): Inserts multiple product extensions to the Master Data table. The name (a name of the category) and sku must be provided for each record in the header and data object within the request body. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). Use the ISO 8601 date format (YYYY-MM-DD) if a date is included in the table. >Please note: > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. --- ### Add a Seller Extension - [POST /add/SX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-add-sx.md): Adds a seller to the Seller Extensions Master Data table. ### Get a Seller Extension - [POST /sellermanager.fetch/{SellerId}/SX/{SXCategory}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-sellermanager.fetch-sellerid-sx-sxcategory.md): Retrieves details of the specified Seller Extension. ### List Seller Extensions - [POST /sellermanager.fetch/*/SX/{SXCategory}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-sellermanager.fetch-*-sx-sxcategory.md): Retrieves all Seller Extensions. 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 Customers' listCustomersResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the List Customers' listCustomersResponseExample_valueFields response example. ### Update a Seller Extension - [POST /update/SX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-update-sx.md): Updates sellerId of the specified Seller Extension. The version property must be provided within the oldValues. ### Delete a Seller Extension - [POST /delete/SX](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-delete-sx.md): Deletes the specified (by typedId in the payload) Seller Extension. ### Import a File - [POST /importfile/SX/{SXCategory}/{slotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-importfile-sx-sxcategory-slotid.md): Uploads a CSV or XLSX file to the Seller Extensions table. Delete the upload slot using the /uploadmanager.deleteslot/{slot_id} (Delete an Upload Slot) endpoint after the file has been uploaded. ### Upload a File to PX/CX/SX - [POST /importfile/{TypeCode}/{target}/{uploadSlotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/seller-extensions/post-importfile-typecode-target-uploadslotid.md): Uploads CSV, or XLSX file to Product Extensions, Customer Extensions, or Seller Extensions table. ## Product Image ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 2. Upload a File - [POST /productimages.upload/{slot_id}/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/post-productimages.upload-slot_id-sku.md): Uploads a file and adds it to the specified product. To upload a file you need to retrieve the slot ID using the /uploadmanager.newuploadslot (Create an Upload Slot) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 2. Upload a File - [POST /productimages.upload/{slot_id}/{sku}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/post-productimages.upload-slot_id-sku.md): Uploads a file and adds it to the specified product. To upload a file you need to retrieve the slot ID using the /uploadmanager.newuploadslot (Create an Upload Slot) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ## 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 ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 2. Upload a File - [POST /bdmanager.upload/{typedId}/{slotId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.upload-typedid-slotid.md): Uploads a file. To upload a file you need to retrieve the slot ID using the /uploadmanager.newuploadslot (Create an Upload Slot) endpoint. ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### List Files - [POST /bdmanager.list/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.list-typedid.md): Retrieves details of the file(s) attached to the document (specified by typedId). ### Download a File - [POST /bdmanager.download/{typedId}/{binaryDataId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.download-typedid-id.md): Retrieves details of the file(s) attached to the document (specified by typedId). ### Check a File - [POST /bdmanager.checkifexists/{binaryDataId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.checkifexists-binarydataid.md): Checks whether the file with the specified id exists. Returns true within the data property if the file exists. ### Update a File - [POST /bdmanager.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.update-typedid.md): Updates file's metadata (e.g., a file name). ### Delete a File - [POST /bdmanager.delete/{typedId}/{binaryDataId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/post-bdmanager.delete-typedid.md): Deletes a file attached to the specified document. ### Download an Attachment - [GET /bdmanager.downloaddata/{binaryDataId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/attachments/get-bdmanager.downloaddata-binarydataid.md): Downloads the binary data of the attachment. ### 1. Create an Upload Slot - [GET /uploadmanager.newuploadslot](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-uploadmanager.newuploadslot-ownertypedid.md): Returns a slot ID that is needed for the /bdmanager.upload/{typedId}/{slot_id}, or /productimages.upload/{slot_id}/{sku} (Upload a File) endpoint. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ### 3. Delete an Upload Slot - [GET /uploadmanager.deleteslot/{slot_id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/product-image/get-delete-an-upload-slot.md): Deletes the upload slot that has been created using the /uploadmanager.newuploadslot (Create an Upload Slot) method and retrieves the file upload status, file version and other details. >Information > >To upload a file you need to perform the following actions: >1. Create an Upload Slot >2. Upload a File >3. Delete an Upload Slot ## Customers ### Insert Bulk Customers - [POST /loaddata/C](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-loaddata-c.md): Inserts multiple customers to the Master Data table. The /loaddata operation is a very efficient and quick way to insert bulk data to the Master Data table. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). >Please note > If no joinFields are provided in the request, then this operation will insert entire records. It means that in this case (without joinFields) with /loaddata it is not possible to update just some fields (for this use the /integrate endpoint instead). The source data must always contain the entire row’s content. ### Upsert a Customer - [POST /integrate/C](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-integrate-c.md): Updates or creates a customer. To add a new customer that does not exist, specify the customerId parameter in the request. To update an existing customer, specify the customerId or typedId parameter of the existing customer. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. Use the /integrate/{TypeCode}/returnolddata endpoint to return also the data of the previous version in the response. >Please note: >This method is intended to be used with one or two objects and it allows you to update particular fields. >The request will overwrite the existing data of the record being updated, regardless of other changes. >To work with more customers in bulk please use the /loaddata/C endpoint. --- This operation is particularly useful if the caller does not (and should not) know about typed IDs and other internal data fields, i.e. typically in an integration scenario. The only mandatory pre-requisite for this operation is that the object's defined business key fields (vary per object type) are present in every request. No typed ID or version fields are required. This also means that no version checking is performed, thus the request will overwrite existing data of that record, regardless of other changes. >Information: >You can upsert multiple records using within request. To do so, add multiple data objects into your JSON. See the example below. json [ { "data": { "name": "The Customer", "customerId": "c00001", "attribute1": "High Street 23, London" } }, { "data": { "name": "The Customer 02", "customerId": "c00002", "attribute1": "Low Street 161, Chicago" } } ] --- ### Add a Customer - [POST /add/C](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-add-c.md): Inserts a customer to the Master Data - Customers table. Please note: The data sent in your request might be different from our sample request schema. The custom fields (attribute1..attribute30) can be retrieved using the /fetch/CAM operation. ### Update a Customer - [POST /update/C](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-update-c.md): Updates an existing customer. ### Delete a Customer - [POST /delete/C](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-delete-c.md): Deletes a customer. Only one object can be deleted per request (unless batched). Some object types may be blocked from being deleted by the update command as special processing is done by a dedicated manager command. Note: Some object types are only soft-deleted, some are hard-deleted in the database. This behavior cannot be influenced by the client. ### List Customers - [POST /customermanager.fetchformulafilteredcustomers](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.fetchformulafilteredcustomers.md): Retrieves a list of Customers. A filter can be applied (see the request sample). 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 listCustomersResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the listCustomersResponseExample_valueFields response example. ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Get a Customer - [POST /fetch/C/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-fetch-c-id.md): Retrieves details (attributes) of the specified customer. ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ## Live Price Grids ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Submit Products - [POST /pricegridmanager.accept/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.accept.md): Submits the PriceGridItems to the workflow. --- 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) ### List Live Price Grids - [POST /fetch/PG](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-fetch-pg.md): Retrieves all Price Grids based on filter settings. --- Filter example: Returns only Price Grids where status = CANCELLED. json { "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"status", "operator":"equals", "value":"CANCELLED" } ] } } --- ### Get a Live Price Grid - [POST /fetch/PG/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-fetch-pg-id.md): Retrieves details of the specified Live Price Grid. ### List Live Price Grid Items - [POST /pricegridmanager.fetch/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.fetch-id.md): Retrieves Live Price Grid Items. A filter can be applied. Filter example: Returns the item where id = 644. > #### Please note: > Filtering by typedId is not accepted by this enpoint. json { "endRow":300, "oldValues":null, "operationType":"fetch", "startRow":0, "textMatchStyle":"exact", "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"id", "operator":"equals", "value":644 } ] } } Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_FETCH | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Workflow Logics (WF_BUILDER) ### Copy a Price Grid - [POST /pricegridmanager.copy/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.copy-id.md): Creates a copy of the specified Live Price Grid (including metadata and Price Grid Items). --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_ADD | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Administer LPG (PB_PRICEGRIDS) ### Mass Edit Price Grid Items - [POST /pricegridmanager.massedit/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.massedit-id.md): Updates fields of specified Live Price Grid Items.Specify the items in the request body by the id field. > Information: > The id is the typedId without the PGI suffix. For example, the id attribute of the item with typedId = 649.PGI is 649. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_UPDATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Update a Live Price Grid Item - [POST /pricegridmanager.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.update-id.md): Updates a Price Grid Item. >To update items without a recalculation, use the /pricegridmanager.update/{id}/norecalc endpoint. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_UPDATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Update a Live Price Grid Item (No Recalculation) - [POST /pricegridmanager.update/{id}/norecalc](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.update-id-norecalc.md): Updates a Price Grid Item without recalculation. Use this endpoint to skip recalculation of comments and manualResultPrice (Manual Override). --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_UPDATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Delete a Price Grid Item - [POST /pricegridmanager.delete/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.delete-id.md): Deletes a Live Price Grid Item object from the specified Live Price Grid. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_REMOVE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Administer LPG (PB_PRICEGRIDS) ### Deny a Live Price Grid Item - [POST /pricegridmanager.reject/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.reject-id.md): Sets the approvalState field to Denied. --- 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) ### Delete a Price Grid Item (Filter) - [POST /pricegridmanager.delete/{id}/batch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.delete-id-batch.md): Deletes a Live Price Grid Item based on filter settings. --- Filter example: Deletes only Price Grid Items where comments = "del". json { "data": { "filterCriteria": { "operator": "and", "criteria": [ { "fieldName": "comments", "operator": "iEquals", "value": "del" } ] } } } --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_REMOVE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Administer LPG (PB_PRICEGRIDS) ### Add Price Grid Items to a Price Grid - [POST /pricegridmanager.add/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.add-id.md): Adds products to the Live Price Grid. > Information: > Only products that are not already in the Price Grid will be added. You can specify products by skus (see the example 1 below) or by filter settings (see example 2). --- Example 1: Adds only products with specified SKUs. json { "data":{ "skus":[ "p0001", "p0002" ] } } Example 2: Adds only products where formulaName = "CompetitionPricing". json { "data":{ "filterCriteria":{ "operator":"and", "criteria":[ { "fieldName":"formulaName", "operator":"iEquals", "value":"CompetitionPricing" } ] } } } --- >To add items without a recalculation, use the /pricegridmanager.add/{id}/norecalc endpoint. Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_ADD | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Administer LPG (PB_PRICEGRIDS) ### Calculate a Price Grid - [POST /pricegridmanager.calculate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.calculate-id.md): Starts a calculation of the entire Live Price Grid. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_CALCULATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Cancel a Calculation - [POST /pricegridmanager.cancel/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.cancel-id.md): Cancels a Price Grid calculation background job. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_CALCULATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Perform a Mass Action - [POST /pricegridmanager.massaction/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.massaction-id.md): Performs a mass workflow action on specified Price Grid Items based on filter settings. --- Example: Approves only products where activePrice = 250. json { "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"activePrice", "operator":"equals", "value":250 } ], "workflowAction":"APPROVED", "comment":"Approved." } } --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_UPDATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Count Mass Action Items - [POST /pricegridmanager.massactioncount/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.massactioncount-id.md): Returns a number of Price Grid Items that would be affected by the mass action operation. totalRows value = number of affected items. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_UPDATE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Administer LPG (PB_PRICEGRIDS) ### Convert to Price List - [POST /pricegridmanager.convert2pl/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.convert2pl-id.md): Converts a Live Price Grid (including items) to a Price List. Returns the pricelistId. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_ADD | Manage Price Lists (PB_PRICELISTSEDITOR), Administer Price Lists (PB_PRICELISTS) ### Delete a Live Price Grid - [POST /pricegridmanager.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-pricegridmanager.delete.md): Deletes the Price Grid specified by typedId. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICEGRID_REMOVE | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Administer LPG (PB_PRICEGRIDS) ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### List Live Price Grid Types - [POST /fetch/PGTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-fetch-pgtt.md): Retrieves a list of Live Price Grid Types. ### Delete a Live Price Grid Type - [POST /delete/PGTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-delete-pgtt.md): Deletes the specified Live Price Grid Type. ### Add a Live Price Grid Type - [POST /add/PGTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-add-pgtt.md): Creates a Live Price Grid Type. ### Update a Live Price Grid Type - [POST /update/PGTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-update-pgtt.md): Updates the Live Price Grid Type. ### Download a Live Price Grid Excel File - [GET /pricegridmanager.fetchxls/{id1}/{id2}/{id3}/{id4}/{id5}/{id6}/{id7}/{id8}/{id9}/{id10}/{id11}/{id12}/{id13}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/get-pricegridmanager.fetchxls.md): Downloads the specified Price Grid in the XLSX format. ## Manual Price Lists ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Create a Manual Price List - [POST /add/MPL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-add-mpl.md): Creates a Manual Price List object. The Manual Price List is created without products. Use the /manualpricelistmanager.add/{id} (Add Products to a Manual Price List) endpoint to add products. ### Add Products to a Manual Pricelist - [POST /manualpricelistmanager.add/{id}/recalculate](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.add-id-recalculate.md): Adds products to the previously created Manual Price List and recalculates the Manual Price List. >To add items without a recalculation, use the /manualpricelistmanager.add/{id} endpoint. ### Add Products to a Manual Price List (No Recalculation) - [POST /manualpricelistmanager.add/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.add-id.md): Adds products to the previously created Manual Price List. Use to skip recalculation of comments and manualResultPrice (Manual Override). ### List Products From a Manual Price List - [POST /manualpricelistmanager.fetch/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.fetch-id.md): Retrieves products' details from the specified Manual Price List. A filter can be applied. ### List Manual Price Lists - [POST /fetch/MPL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-fetch-mpl.md): Retrieves a list of Manual Price List objects. ### Mass Edit a Manual Price List Items - [POST /manualpricelistmanager.massedit/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.massedit-id.md): Performs a mass update operation on products in the specified Manual Price List. ### Update a Manual Price List Item - [POST /manualpricelistmanager.update/{id}/recalculate](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.update-id.md): Updates an item and recalculates the specified Manual Price List. ### Upsert a Product in a Manual Price List - [POST /manualpricelistmanager.integrate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.integrate-id.md): Adds or updates a product in the specified Manual Price List. To add a new product that does not exist, specify the sku parameter in the request. To update an existing product, specify the sku or typedId parameter of the existing product. The /integrate method performs a partial update – it does not delete values from fields that have not been specified in the update request. ### Delete Products from a Manual Price List - [POST /manualpricelistmanager.delete/{id}/batch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.delete-id-batch.md): Deletes products specified by filter settings from the Manual Price List. ### Delete a Product from a Manual Price List - [POST /manualpricelistmanager.delete/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.delete-id.md): Deletes a product specified by typedId from the Manual Price List. ### Delete a Manual Price List - [POST /manualpricelistmanager.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.delete.md): Deletes the specified Manual Price List. ### Copy a Manual Price List - [POST /manualpricelistmanager.copy/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.copy.md): Creates a copy of the specified Manual Price List. ### Calculate a Manual Price List - [POST /manualpricelistmanager.calculate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-manualpricelistmanager.calculate-id.md): Starts a calculation of the entire Manual Price List. >Please note: >The calculated Manual Price List must contain a value in the linkedCFStypedId (CFS Link) field to perform the calculation action. ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ## Price Lists ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/customers/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### List Price Lists - [POST /fetch/PL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-fetch-pl.md): Retrieves a list of Price Lists. You can apply a filter on returned price lists. ### Get a Price List - [POST /fetch/PL/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-fetch-pl-id.md): Retrieves Price List details. ### List Price List Items - [POST /pricelistmanager.fetch/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.fetch-id.md): Retrieves a list of Price List Items. A filter can be applied. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_FETCH | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), View Price Lists (PB_PRICELISTS_RO) ### Create a Revision - [POST /pricelistmanager.add/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.add-id.md): Creates a revision of the Price List. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_ADD | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Calculate a Pricelist - [POST /pricelistmanager.calculate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.calculate-id.md): Calculates the Price List specified by id in the path parameter. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_UPDATE | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Update a Pricelist Detail - [POST /pricelistmanager.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.update-id.md): Updates the Price List Item (PLI) of the Pricelist specified by id in the path parameter. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_UPDATE | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Create a Price List - [POST /pricelistmanager.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.add.md): Creates a new Price List. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_ADD | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Submit a Price List - [POST /pricelistmanager.submit/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.submit-id.md): Starts an approval process for the Price List. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_UPDATE | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Revoke a Price List - [POST /pricelistmanager.revoke/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.revoke-id.md): Revokes an approved Price List. Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_REVOKE | Administer Price Lists (PB_PRICELISTS) ### Delete a Price List Item - [POST /pricelistmanager.delete/PL/{id}/batch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.delete-pl-id-batch.md): Deletes a Price List Item based on filter settings. --- Filter example: Deletes only Price List Items where comments = "denied". json { "data": { "filterCriteria": { "operator": "and", "criteria": [ { "fieldName": "comments", "operator": "iEquals", "value": "denied" } ] } } } --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_REMOVE | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Delete a Price List - [POST /pricelistmanager.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-pricelistmanager.delete.md): Deletes a Price List specified by typedId. --- Required Permission| Roles with the Required Permission | ---------|----------| PRICELIST_REMOVE | Administer Price Lists (PB_PRICELISTS), Manage Price Lists (PB_PRICELISTSEDITOR) ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### List Price List Types - [POST /fetch/PLTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-fetch-pltt.md): Retrieves a list of Price List Types. ### Delete a Price List Type - [POST /delete/PLTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-delete-pltt.md): Deletes the specified Price List Type. ### Add a Price List Type - [POST /add/PLTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-add-pltt.md): Creates a Price List Type. ### Update a Price List Type - [POST /update/PLTT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/price-lists/post-update-pltt.md): Updates the Price List Type. ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/manual-price-lists/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ### Assign Customers - [POST /customermanager.assign](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.assign.md): Assigns multiple customers to the specified entity (e.g., Price List, Live Price Grid, etc.). ### List Customer Assignments - [POST /customermanager.fetchassignments/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/live-price-grids/post-customermanager.fetchassignments-typedid.md): Retrieves a list of customers assigned to the specified entity. A filter can be applied (see the request sample). ## Sellers ### Add a Seller - [POST /add/SL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sellers/post-add-sl.md): Adds a seller into the Sellers Master Data table. ### List Sellers - [POST /sellermanager.fetchformulafilteredsellers](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sellers/post-sellermanager.fetchformulafilteredsellers.md): Retrieves all sellers based on filter settings. 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 Customers' listCustomersResponseExample_resultFields response example. valueFields: returns just an array of values. Use this option if a better performance is required. See the List Customers' listCustomersResponseExample_valueFields response example. ### Update a Seller - [POST /update/SL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sellers/post-update-sl.md): Updates a seller. The version property must be provided within the oldValues. ### Delete a Seller - [POST /delete/SL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sellers/post-delete-sl.md): Deletes a seller from the Sellers Master Data table. ## Condition Records ### Update a Condition Record Set - [POST /conditionrecordset.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-conditionrecordset.update-id.md): Allows you to update label, userGroupViewDetails, or userGroupEdit property of the Condition Record Set (CRCS). Required roles: - SUPPORT - PB_CONDITIONRECORDEDITOR ### Add a Condition Record Set - [POST /add/CRCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-add-crcs.md): Adds a Condition Record Set (CRCS) object. ### List Condition Record Sets - [POST /fetch/CRCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-fetch-crcs.md): Retrieves all Condition Record Set (CRCS) objects. ### Delete a Condition Records Set - [POST /delete/CRCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-delete-crcs.md): Deletes the specified Condition Record Set (CRCS). ### Get a Condition Record Item - [POST /fetch/CRCI12](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-fetch-crci12.md): Retrieves a Condition Record Item with 12 keys. >You can use the CRCI1..CRCI12 type codes in the path to retrieve Condition Record Items with different number of keys. > It is not possible to edit or delete the CRCI type codes. ### Add a Condition Record Item Attribute Meta - [POST /add/CRCIM](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-add-crcim.md): Creates a Condition Record Item Attribute Meta. ### Update a Condition Record Item Attribute Meta - [POST /update/CRCIM](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-update-crcim.md): Updates a Condition Record Item Attribute Meta. ### Get a Condition Record Item Attribute Meta - [POST /fetch/CRCIM](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-fetch-crcim.md): Retrieves a Condition Record Item Attribute Meta. ### Delete a Condition Record Item Attribute Meta - [POST /delete/CRCIM](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-delete-crcim.md): Deletes a Condition Record Item Attribute Meta. ### Get Condition Record Set Items With Set Id Validation - [POST /conditionrecordset.fetch/CRCI3](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/condition-records/post-conditionrecordset-fetch-crci3.md): Retrieves Condition Record Items with 3 keys (CRCI3) from the specified Condition Record Set. >You can use the CRCI1..CRCI12 type codes in the path to retrieve Condition Record Items with different number of keys. You can check for mandatory parameters, e. g.conditionRecordSetId. ## Imports ### Upload Excel to Import Manager - [POST /importmanager.upload/{slotId}/{typeCode}/{target}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.upload-(slotid)-typecode-target.md): Uploads an Excel file to a specific import via the upload slot created by /uploadmanager.newuploadslot. Use the optional managerUN query parameter to specify the unique name of the Import Manager. The maximum file size: 1GB ### List ImportManager Changes - [POST /importmanager.fetchchanges/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.fetchchanges-uniquename.md): Retrieves all, or filtered, changes for the specified ImportManager. ### Delete Import Changes - [POST /importmanager.deletechanges](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.deletechanges.md): Reverts all changes specified in the request body. ### Save Import Change - [POST /importmanager.savechange](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.savechange.md): Saves or updates an Import Change identified by Import Manager uniquename, type of change, target column name, target primary keys. ### Submit Changes - [POST /importmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.submit-typedid.md): Writes the changes made by the user in the Import Manager to the database. The changes are subject to validation against the data in the database. All the changes must pass the validation for the submit to be successful. ### Mass Edit Imports - [POST /importmanager.massedit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.massedit-typedid.md): Mass updates changes in Import Manager. ### Mass Delete Imports - [POST /importmanager.massdelete/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/imports/post-importmanager.massdelete-typedid.md): Mass deletes changes in Import Manager. ## Data Change Requests ### Add a Data Change Request - [POST /dcrmanager.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.add.md): Adds a new Data Change Request using the specified Data Change Request Type and label. ### Add a Data Change Request Item - [POST /dcrmanager.add/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.add-id.md): Adds a new Data Change Request Item (DCRI) to the DCR. ### Get a Data Change Request - [POST /dcrmanager.fetch/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.fetch-id.md): Retrieves details (items) of the specified Data Change Request. ### Get a Data Change Request (changes only) - [POST /dcrmanager.fetch/{id}/changesOnly](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.fetch-id-changesonly.md): Retrieves changed items of the specified Data Change Request. ### Update a Data Change Request Item - [POST /dcrmanager.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.update-id.md): Updates a Data Change Request Item (DCRI). ### Delete a Data Change Request Item - [POST /dcrmanager.delete/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.delete-id.md): Removes the item from the specified Data Change Request. ### Submit a Data Change Request - [POST /dcrmanager.submit/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.submit-id.md): Submits the specified Data Change Request (DCR). ### Submit a Data Change Request (async) - [POST /dcrmanager.submit/{id}/async](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.submit-id-async.md): Asynchronously submits the specified Data Change Request (DCR). Returns the Job Status Tracker object (JST). Use to submit large (set by asyncSubmitDCRThreshold via Advanced Configuration Options) DCRs to avoid system timeouts (180 seconds - AWS). asyncSubmitDCRThreshold default is set 100. If the key does not exist, the submit is always synchronous. ### Mass Edit Data Change Request Items - [POST /dcrmanager.addmassop/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.addmassop-id.md): Creates a new Mass Change record (DataChangeRequestMassChange). ### Get Data Change Request Mass Changes - [POST /dcrmanager.fetchmassop/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.fetchmassop-id.md): Retrieves Mass Change records (DataChangeRequestMassChange). ### Update Data Change Request Mass Changes - [POST /dcrmanager.updatemassop/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.updatemassop-id.md): Updates Mass Change records (DataChangeRequestMassChange). ### Delete a Data Change Request Mass Change - [POST /dcrmanager.deletemassop/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-change-requests/post-dcrmanager.deletemassop-id.md): Deletes specified Mass Change record (DataChangeRequestMassChange). ## Lookup Tables / Company Parameters ### Upsert a Lookup Table Value - [POST /lookuptablemanager.integrate/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.integrate-tableid.md): Creates a new Company Parameter record (LookupTableValue or MatrixLookupTableValue) or updates an existing record (if the specified name of the record already exists). --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLEVALUES_INTEGRATE | Data Integration (DATAINTEGRATION) ### Update a Lookup Table Value - [POST /lookuptablemanager.update/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.update-tableid.md): Updates LookupTableValue. Returns a list of updated LookupTableValue/MatrixLookupTableValue objects. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_UPDATE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Delete a Lookup Table Value - [POST /lookuptablemanager.delete/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.delete-tableid.md): Deletes a record (LookupTableValue or MatrixLookupTableValue) from the specified Company Parameters table (LookupTable). --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_REMOVE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Mass Delete Lookup Table Values - [POST /lookuptablemanager.delete/{tableId}/batch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.delete-tableid-batch.md): Deletes records from the specified Company Parameters table (LookupTable). A filter can be applied (see the request example). --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_REMOVE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Add a Lookup Table Value - [POST /lookuptablemanager.add/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.add-tableid.md): Creates a new LookupTableValue or MatrixLookupTableValue record in the LookupTable (Company Parameter table). --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_ADD | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### List All Lookup Table Values - [POST /lookuptablemanager.fetch/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.fetch-tableid.md): Retrieves all Company Parameter records for the specified Company Parameter table (LookupTable). Export the table to the Excel file (XLSX) using the output=xls URL query parameter. When exporting to the file, specify fields (within the resultFields property) you want to include in the output table. Example: json { "data":{ "criteria":[ ], "operator":"and" }, "resultFields":[ "key1", "key2", "key3", "attribute1", "attribute2", "attribute3" ], "valueFields":[ ] } ### List All Lookup Tables - [POST /lookuptablemanager.fetch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.fetch.md): Retrieves all Lookup Tables / Company Parameter tables. You can use this endpoint to retrieve the table ID. The tableId can be used in other endpoint URLs that work with Company Parameter Values. Find the table ID in the response under id parameter (e.g. "id": 2147484027). ### Add a Lookup Table - [POST /lookuptablemanager.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.add.md): Creates a new LookupTable. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_ADD | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Delete a Lookup Table - [POST /lookuptablemanager.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.delete.md): Deletes a Lookup Table specified by typedId. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_REMOVE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Delete Column Values (Matrix only) - [POST /lookuptablemanager.resetcolumn/{tableId}/{columnName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.resetcolumn-tableid-columnname.md): Resets column data of a given lookup table. Currently MatrixLookupTable tables. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_REMOVE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Insert Bulk Data to Lookup Table - [POST /lookuptablemanager.loaddata/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.loaddata-typecode.md): Inserts multiple records to the specified Lookup Table. The /loaddata operation is a very efficient and quick way to insert bulk data. The main advantage is its greater speed when loading thousands of records (compared to e.g. /integrate). ### Copy a Lookup Table - [POST /lookuptablemanager.copy/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.copy-tableid.md): Creates a copy of the specified Lookup Table, including LookupTableValue/MatrixLookupTableValue values and preferences. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_COPY | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Update a Lookup Table - [POST /lookuptablemanager.update](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.update.md): Updates a Lookup Table. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_UPDATE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Get Logic References - [POST /lookuptablemanager.findref/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.findref-tableid.md): Retrieves a list of logics for a given Lookup Table. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_UPDATE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ### Mass Edit - [POST /lookuptablemanager.massedit/{tableId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/lookup-tables-company-parameters/post-lookuptablemanager.massedit-tableid.md): Performs a mass edit action on LookupTableValue or MatrixLookupTableValue objects. Updates LTV or MLTV columns to specified values. --- Required Permission| Roles with the Required Permission | ---------|----------| LOOKUPTABLE_UPDATE | Administer Price Parameters (PB_PARAMETERS), Administer Plasma (PLASMA) ## User Admin ### List Users - [POST /accountmanager.fetchusers](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchusers.md): Retrieves a list of users. >Information: >If the authenticated user does not have the explicit USER_FETCH permission, the fields are reduced to a minimum. ### Change a User Password - [POST /accountmanager.changepassword/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.changepassword-userid.md): Changes a specified user's password. The authenticated user needs the ADMIN (including USERADMIN) permissions to perform this action. To change your own password, use the /accountmanager.changepassword endpoint instead. ### Change a Current User Password - [POST /accountmanager.changepassword](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.changepassword.md): Changes an authenticated user's password. ### Assign a User to a User Group - [POST /accountmanager.assigngroup/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assigngroup-userid.md): Assigns a User Group to the specified user. ### List User's User Groups - [POST /accountmanager.fetchgroups/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchgroups-userid.md): Returns a list of user group objects that are assigned to the specified user. ### List User's Roles - [POST /accountmanager.fetchroles/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchroles-userid.md): Returns a list of role objects that are assigned to the specified user. Avaialble for the following roles: - ADMIN (General Admin) - USERADMIN (Administer Users) - SUPPORT (Investigate for Support) - USERAUDIT (View Audits and Users) - PLASMA (Adminster Plasma) ### List User's Business Roles - [POST /accountmanager.fetchbusinessroles/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchbusinessroles-userid.md): Returns a list of business role objects that are assigned to the specified user. ### List Roles of the Business Role - [POST /accountmanager.fetchroles/BR/{businessroleId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchroles-br-businessroleid.md): Returns all user roles that the specified business role is assigned to. ### List Groups of the Business Role - [POST /accountmanager.fetchgroups/BR/{businessroleId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.fetchgroups-br-businessroleid.md): Returns all user groups that the specified business role is assigned to. ### Delete a Business Role - [POST /accountmanager.deletebusinessrole](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.deletebusinessrole.md): Deletes a Business Role. The general datasource /delete operation (/delete/BR) should NOT be used for Business Role object as this special command (/accountmanager.deletebusinessrole) also performs a cleanup of related objects (objects that have this business role assigned). ### Copy Roles - [POST /accountmanager.copyroles](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.copyroles.md): Copies roles from the existing user to other users. ### Generate a JWT Token - [POST /accountmanager.getjsonwebtoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getjsonwebtoken.md): Generates and returns a non-expiring JSON Web Token for the authenticated user. Allows to restrict the scope of the token by a list of permissions. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Generate a JWT Token (time limited) - [POST /accountmanager.getjsonwebtoken/{minutes}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getjsonwebtoken-minutes.md): Generates and returns an expiring JSON Web Token for the authenticated user. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Assign a Role to Users - [POST /accountmanager.assignrole](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assignrole.md): Assigns a role to multiple users. ### Assign a User Group to Users - [POST /accountmanager.assigngroup](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assigngroup.md): Assigns a group to multiple users. ### Assign a Role to a User - [POST /accountmanager.assignrole/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assignrole-userid.md): Assigns a role to a user. ### Assign a Business Role to a User - [POST /accountmanager.assignbusinessrole/{userId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assignbusinessrole-userid.md): Assigns a business role to a user. ### Assign a Business Role - [POST /accountmanager.assignbusinessrole](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assignbusinessrole.md): Assigns a business role to multiple users. ### Delete a User Group - [POST /accountmanager.deletegroup](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.deletegroup.md): Deletes a User Group. The general datasource /delete operation should NOT be used for the User Group object as this special command (/accountmanager.deletegroup) also performs a cleanup of related objects (objects that have this business role assigned). ### Copy a User - [POST /accountmanager.copyuser/{userid}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.copyuser-userid.md): Creates a copy of a selected user (including role and user group assignments). First name, last name, email and password are NOT copied (as they typically are different anyway). ### Assign a Role to a Business Role - [POST /accountmanager.assignrole/BR/businessroleId](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assignrole-br-businessroleid.md): Assigns a role to a business role. ### Assign a Group to a Business Role - [POST /accountmanager.assigngroup/BR/businessroleId](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.assigngroup-br-businessroleid.md): Assigns a group to a business role. ### Get a One Time Token - [POST /accountmanager.getonetimetoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getonetimetoken.md): Generates a one time auth token (for the authenticated user). The token can be, for example, sent via a URL GET parameter. ### Add a User - [POST /add/U](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-add-u.md): Creates a new user. ### Update a User - [POST /update/U](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-update-u.md): Updates details of the specified user. >Information: Note that Update a User should not be used for role or group assignments. For these operations, use APIs such as Assign a Business Role to a User or Assign a User Group to Users. ### Delete a User - [POST /delete/U](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-delete-u.md): Deletes a specified user. ### Get a User Audit Report - [POST /accountmanager.audit/{TypeCode}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.audit-typecode.md): Retrieves a report based on user roles, user groups, and business roles. ### Generate a JWT Token - [POST /accountmanager.getjsonwebtoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getjsonwebtoken.md): Generates and returns a non-expiring JSON Web Token for the authenticated user. Allows to restrict the scope of the token by a list of permissions. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Generate a JWT Token (time limited) - [POST /accountmanager.getjsonwebtoken/{minutes}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getjsonwebtoken-minutes.md): Generates and returns an expiring JSON Web Token for the authenticated user. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Get a One Time Token - [POST /accountmanager.getonetimetoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getonetimetoken.md): Generates a one time auth token (for the authenticated user). The token can be, for example, sent via a URL GET parameter. ### Get a User Audit Report - [POST /accountmanager.audit/{TypeCode}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-accountmanager.audit-typecode.md): Retrieves a report based on user roles, user groups, and business roles. ## Authentication ### Generate a JWT Token - [POST /accountmanager.getjsonwebtoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getjsonwebtoken.md): Generates and returns a non-expiring JSON Web Token for the authenticated user. Allows to restrict the scope of the token by a list of permissions. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Generate a JWT Token (time limited) - [POST /accountmanager.getjsonwebtoken/{minutes}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getjsonwebtoken-minutes.md): Generates and returns an expiring JSON Web Token for the authenticated user. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Get a One Time Token - [POST /accountmanager.getonetimetoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.getonetimetoken.md): Generates a one time auth token (for the authenticated user). The token can be, for example, sent via a URL GET parameter. ### Generate a JWT Token - [POST /accountmanager.getjsonwebtoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getjsonwebtoken.md): Generates and returns a non-expiring JSON Web Token for the authenticated user. Allows to restrict the scope of the token by a list of permissions. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Generate a JWT Token (time limited) - [POST /accountmanager.getjsonwebtoken/{minutes}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getjsonwebtoken-minutes.md): Generates and returns an expiring JSON Web Token for the authenticated user. Used for integration purposes. >Information: >The request header must contain real credentials (i.e. not just a session cookie). ### Get a One Time Token - [POST /accountmanager.getonetimetoken](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-accountmanager.getonetimetoken.md): Generates a one time auth token (for the authenticated user). The token can be, for example, sent via a URL GET parameter. ### Get an Authentication Token (API V2 only) - [POST /token](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-token.md): Retrieves the access token, token type and the refresh token. ### Delete an Authentication Token (API V2 only) - [DELETE /token](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/delete-token.md): Invalidates an access token. ### Refresh an Authentication Token (API V2 only) - [POST /token/refresh](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-token-refresh.md): Retrieves a new access token, token type, the refresh token, and expiration time. ### User Login (V1) - [GET /login/extended](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/get-login.md): Authenticates a user. When the user is authenticated, the logged-in user's details (including all roles and permissions) are returned in the response body. CSRF check is not performed by this endpoint, because the user is authenticated using the basic HTTP auth. ### Authenticate with SAML - [POST /saml/signon](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-saml-signon.md): Redirects to the Identity Provider (IdP) for authentication. ### OAuth Authorization Request - [POST /oauth/authorize](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-oauth-authorize.md): The authorization endpoint is used to interact with the resource owner and obtain an authorization grant. See https://datatracker.ietf.org/doc/html/rfc6749#section-3.1 for details. At the end of the flow it will send a code value back to/via the redirecttion URL specified in the client’s config & initial request (as they need to be the same). ### Access Token Request - [POST /oauth/token](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/authentication/post-oauth-token.md): Request to obtain the access token in the OAuth authorization process. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 for details. ## Logs ### Get a User Audit Report - [POST /accountmanager.audit/{TypeCode}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/user-admin/post-accountmanager.audit-typecode.md): Retrieves a report based on user roles, user groups, and business roles. ### List Email Tasks - [POST /admin.fetchemailtasks](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/admin-tools/post-admin.fetchemailtasks.md): Retrieves email tasks that are pending or have already been sent. The response contains a list with all (or filtered out) email task objects (type code: ET). ### List Logins - [POST /fetch/LAT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-fetch-lat.md): Retrieves the login application log – LoginAuditTrail (LAT). ### List Event Tasks - [POST /fetch/EVT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-fetch-evt.md): Retrieves a list of events generated by the Pricefx server. See the Server Events article. ### List Security & Configuration Events - [POST /fetch/SAT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-fetch-sat.md): Retrieves events related to security (Management of User Groups, Management of Roles, Pricefx user account deactivation) and some configuration settings (e.g., changing default calculation logics). ### List Email Tasks - [POST /admin.fetchemailtasks](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-admin.fetchemailtasks.md): Retrieves email tasks that are pending or have already been sent. The response contains a list with all (or filtered out) email task objects (type code: ET). ### Get a User Audit Report - [POST /accountmanager.audit/{TypeCode}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-accountmanager.audit-typecode.md): Retrieves a report based on user roles, user groups, and business roles. ### Get a Loki Log - [GET /streamlokilog](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/get-streamlokilog.md): Retrieves a stream of the Loki log. Required roles: - General Admin (without User Management) (ADMIN_WO_USER_MGMT) - Investigate for Support (SUPPORT) ## Admin Tools ### Ping (without authentication) - [GET /alive](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/admin-tools/get-alive.md): Checks the existence of the partition. No authentication is required. ### List Email Tasks - [POST /admin.fetchemailtasks](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/admin-tools/post-admin.fetchemailtasks.md): Retrieves email tasks that are pending or have already been sent. The response contains a list with all (or filtered out) email task objects (type code: ET). ### Change Terms of Use (deprecated) - [POST /accountmanager.changetermsofuse](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/admin-tools/post-accountmanager.changetermsofuse.md) ### List Email Tasks - [POST /admin.fetchemailtasks](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/logs/post-admin.fetchemailtasks.md): Retrieves email tasks that are pending or have already been sent. The response contains a list with all (or filtered out) email task objects (type code: ET). ## Custom Forms ### Create a Custom Form Type - [POST /add/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-add-cfot.md): Creates a new standalone or embedded Custom Form Type. ### List Custom Form Types - [POST /fetch/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-fetch-cfot.md): Retrieves a list of Custom Form Types. ### Update a Custom Form Type - [POST /update/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-update-cfot.md): Updates a Custom Form Type. ### Delete a Custom Form Type - [POST /delete/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-delete-cfot.md): Deletes a Custom Form Type by typedId. ### Create a Custom Form - [POST /customform.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.add.md): Creates a new Custom Form. ### Get a Custom Form - [POST /customform.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.fetch-typedid.md): Retrieves the Custom Form (specified by typedId), including all details. ### List Custom Forms - [POST /customform.search](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.search.md): Retrieves a list of Custom Forms of the specified Custom Form Type. ### Change a Custom Form Status - [POST /customform.changestatus/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.changestatus-typedid.md): Allows you to submit, revoke, or withrdraw the Custom Form. ### Update a Custom Form - [POST /customform.update](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.update.md): Allows you to update Label, User Group (Edit), and User Group (View Details) fields of the specified Custom Form. ### Delete a Custom Form - [POST /customform.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.delete.md): Deletes specified Custom Forms. ### Duplicate a Custom Form - [POST /customform.duplicate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.duplicate-typedid.md): Creates a copy of the specified Custom Form. The copy includes inputs, outputs, and embedded objects. Returns the duplicated Custom Form. Duplicated Custom Form fields: The Custom Form has an origin and it is not deleted originCustomFormId, originDeleted, originLabel, originUniqueName fields in the duplicated CFO object contain a copy of corresponding fields from the original Custom Form. The Custom Form origin has been deleted originCustomFormId is the id of the original Custom Form, originDeleted set to true. originLabel and originUniqueName fields are null. The Custom Form does not have an origin (the CFO is not duplicated) originCustomFormId, originDeleted, originLabel, originUniqueName fields have a null value. ### Create a Custom Form Revision - [POST /customform.createnewrevision/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.createnewrevision-typedid.md): Creates a new revision of the specified existing Custom Form. The returned object contains attributes, inputs or outputs, and duplicated embedded objects, but does not contain attached documents, actions, notes, and messages. Note: The revision can only be created from a standalone Custom Form. The status of the form (formStatus) must be APPROVED and the workflow status (workflowStatus) must be either APPROVED or NO_APPROVAL_REQUIRED. ### Preview a Custom Form Workflow - [POST /customform.preview](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.preview.md): Retrieves workflow details for the Custom Form where workflowStatus=DRAFT. Avaialble for the following roles: - SUPPORT (Investigate for Support) - CUSTOM_FORM_RO (View Custom Form) ## Calculated Field Sets ### Calculate a CFS - [POST /cfsmanager.calculate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculated-field-sets/post-cfsmanager.calculate-id.md): Executes a calculation of the Calculated Fields Set (specified by id as a path parameter). ### Cancel a CFS Calculation - [POST /cfsmanager.cancel/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculated-field-sets/post-cfsmanager.cancel-id.md): Cancels a calculation of the Calculated Fields Set (specified by id as a path parameter). ### List Calculated Field Sets - [POST /fetch/CFS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculated-field-sets/post-fetch-cfs.md): Retrieves Calculated Fields Sets. A filter can be applied. ### Delete a Calculated Field Set - [POST /delete/CFS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculated-field-sets/post-delete-cfs.md): Deletes a Calculated Fields Set (CFS). ## Jobs & Tasks ### List Jobs - [POST /admin.fetchjst](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/jobs-and-tasks/post-admin.fetchjst.md): Returns a list of all Job Status Trackers, excluding potentially large message field. Use the general /fetch/JST endpoint to retrieve JSTs including the message field. ### Cancel a Job - [POST /admin.canceljst/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/jobs-and-tasks/post-admin.canceljst-id.md): Cancels a Job Status Tracker (JST). Only a pending job can be cancelled. ## Data Manager ### List Data Manager Entities - [POST /datamart.getfcs/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.getfcs-typecode.md): Retrieves Data Manager Entities (Field Collections), including object's metadata. A filter can be applied. Action| Endpoint| ---------|----------| List Data Feeds | /datamart.getfcs/DMF List Data Sources | /datamart.getfcs/DMDS List Datamarts | /datamart.getfcs/DM List Datamart Model Tables | /datamart.getfcs/DMT List Data Loads | Use a different endpoint to retrieve Data Loads: /datamart.getdataloads ### Execute a Data Load Logic - [POST /datamart.distcalcparams/{typedId}/{logicName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.distcalcparams-typedid-formulaname.md): Executes the logic in the DMDataLoad context and returns the parameter definitions or test results. ### Get a DM Object - [POST /datamart.fetch/{objectId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.fetch-objectid.md): 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 distinctResults is set to true, it applies only to the first column specified in the valueFields array. For example, if "valueFields": ["ConditionType", "TableNumber"] is used, only distinct values for ConditionType are 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. ### Get a DM Object (no count) - [POST /datamart.fetchnocount/{objectId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.fetchnocount-objectid.md): 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. ### Update a Data Manager Entity - [POST /datamart.updatefc/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.updatefc-typecode.md): Updates and deploys a field collection (FC) definition - Data Feed (DMF), Datamart (DM), or Data Source (DMDS). >Information: >If Data Source (DMDS) is added or updated, then a Data Feed (DMF) is created for the corresponding Data Source. ### Create a Data Manager Entity - [POST /datamart.newfc/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.newfc-typecode.md): Creates a field collection (FC) definition - Data Feed (DMF), Datamart (DM), or Data Source (DMDS). ### Upload a Bulk Data to Data Source - [POST /datamart.loaddata/{datasourceUniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.loaddata-datasourceuniquename.md): Uploads a chunk (batch) of data from a client resource to the storage reserved for a particular Data Source. The uploaded data is not immediately transfered to the Data Source database table. Instead it is held (‘buffered’) in a staging area, until an explicit flush command is issued (refer to the /datamart.rundataload endpoint, "type": "DS_FLUSH"), or a Datamart dependent on the Data Source data is refreshed. ### Run a Data Load - [POST /datamart.rundataload](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.rundataload.md): Schedules a Data Load for immediate (but asynchronous) execution. ### Save a Data Load - [POST /datamart.updatedataload](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.updatedataload.md): Updates an existing Data Load. ### Mass Edit - [POST /datamart.massedit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.massedit.md): Performs a Mass Edit operation on specified Datamart object - changes values of the specified field (column). ### List Data Loads (with validation and schedules) - [POST /datamart.getdataloads](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.getdataloads.md): Returns a list of Data Load definitions. If fetching Data Loads takes too long and you don't need validation and schedules, use the List Data Loads (/datamart.listdataloads) endpoint instead. ### List Data Loads - [POST /datamart.listdataloads](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.listdataloads.md): Returns a list of Data Load definitions. No validation is run on returned Data Loads and no schedules are loaded. Use this endpoint for listing only.If you need Data Loads to be validated and schedules returned, use the List Data Loads (with validation and schedules) (/datamart.getdataloads) endpoint instead. ### Delete a Data Manager Entity - [POST /datamart.deletefc/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.deletefc.md): Deletes a field collection (FC) definition, i.e. Data Feed (DMF), Datamart (DM), or Data Source (DMDS). ### Query a Data Manager Object - [POST /datamart.query](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.query.md): Returns a list of objects that match the criteria specified in the request. ### SQL Query a Data Manager Object - [POST /datamart.sqlquery](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.sqlquery.md): Processes and queries data from Price Analyzer or Price Optimizer. The queries can be aggregated, do various computations including statistical projections. Supports filtering. ### List Rollups - [POST /datamart.getrollups](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.getrollups.md): Retrieves a list of Datamart Rollups based on filter settings. ### List Charts - [POST /datamart.getcharts](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.getcharts.md): Retrieves a list of saved charts, including chart's details. ### Import a Data Load - [POST /datamart.importdataloads](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.importdataloads.md): Imports a list of Data Load definitions. Existing definitions will be updated. >Information: >Omitting a property is equivalent to setting it to null. With one exception: a previously existing incLoadDate will be retained. ### Export an Excel File (XLSX) - [POST /datamart.exportdata/xlsx](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.exportdata-xlsx.md): Downloads an XLSX file. The returned file contains all definitions (meta) and the data. This is useful for importing the Data Source, Datamart, or Data Feed definitions + data in some other instance or partition. ### Export a CSV File - [POST /datamart.exportdata](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.exportdata.md): Downloads a ZIP file. The returned ZIP file contains Data Source, Datamart, or Data Feed definitions in the JSON file and data in the CSV file. ### Get a DM Export File - [POST /datamart.fetchexportfile/{fileName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.fetchexportfile-filename.md): Retrieves the file created using /datamart.export endpoint. Get the file name via datamart.getactionstatus/{actionUUID} endpoint. ### Get Action Status - [POST /datamart.getactionstatus/{actionUUID}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.getactionstatus-actionuuid.md): Retrieves the link of the exported file in the result property. Use the /datamart.fetchexportfile/{fileName} to download the file. ### Export Datamart - [POST /datamart.export/{fcTypedIdOrSourceName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.export.md): Exports the specified Datamart source. Typically used in an integration scenario (IM) for a given customer. The request’s body can contain a data block with a regular filter criteria definition (as, for example, used in the JSON API fetch commands), to filter the output rows. If the Analytics database for the parition is hosted in AWS, the export file(s) will be transferred to the corresponding S3 bucket, ready for retrieval using the datamart.fetchexportfile (Get a DM Export File) endpoint. Otherwise the files are put in the local file system of the node that handles the request: default path: server/temp//export// If needed, a different, absolute path can be set using an instance parameter: datamart.database.export.path Data is exported in the CSV format, and is always gzip-compressed. Character encoding is always UTF-8. There is no client side encryption. ### Restore Default Data Sources - [POST /datamart.restoredefaultds/{dataSourceName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-formulamanager.restoredefaultds.md): Creates a default Data Source (Product, Customer, Unit of Measures, Currencies, or Calendar). Use this endpoint if default Data Sources have not been created when setting up the partition. >Note: When no path parameter is passed, all default Data Sources are dropped and recreated - any data will be lost. >Othwerise, only the Data Source indicated by the path param is dropped and recreated. ### Import a File - [POST /datamart.importfile/{slotId}/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.importfile.md): Uploads a file to the Data Manager (specified by typeId in the path parameter). > To import data into FieldCollection (DMT or DMDS), use the datamart.loadfc/{typedId} endpoint. Follow these steps to upload a file: 1. Create an upload slot and retrieve the slotId using the /uploadmanager.newuploadslot endpoint (see Product Image > 1. Create an Upload Slot). 2. Upload the file using the /datamart.importfile/{slotId}/{typedId} endpoint. When importing a CSV file, it is possible to include more information than just a column name. Example: columName1:NUMBER:KEY,columnName2:TEXT:DIM,columnName3:NUMBER a,1,0.5 b,1,0.6 c,2,1.2 d,3,2.0 In the example above you can see that columnName1 column should be the NUMBER field type and also the key (KEY). The columnName2 column should be the TEXT type and a dimension (DIM). The columnName3 column should be a NUMBER. Possible field types: BOOLEAN, CURRENCY, DATE, DATETIME, INTEGER, LOB, MONEY, NUMBER, QUANTITY, TEXT, UOM >Information: When using datamart.importfile to upload a file with huge numbers (20+ significant decimal digits) it is recommended to use the Avro format. In CSV and XLSX files, you can use numbers within the double type or long type ranges. ### Create a DMFieldCollection - [POST /datamart.createfc/{fcType}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.createfc-fctype.md): Creates a DMFieldCollection from a multipart/form-data body containing the schema (JSON – the DMFieldCollection DTO) as a first part and the data (AVRO format) as second part. Fails if the specified DMFieldCollection already exists. The first part contains information about the schema of the Field Collenction to be created: - for DMDataSource - uniqueName - label* - fields - for DMT - name - label - fields* - owner – the ModeObject typedId that owns the table. \* fields is a list of the DMFields specification. The second part contains the table data in the AVRO format. The data schema must comply with the one given in the first part. An existing table will be overriden (deletes an existing one, creates a new one). >This is an endpoint dedicated for remote services (such as Optimization Engine or Python Engine). It is very strict by design in order to ensure that the uploaded data ends up exactly in the same format in the platform. ### List Datamart Orphan Objects - [POST /datamart.deleteobsoletes](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.deleteobsoletes.md): Returns a list of orphan Datamart objects. Identifies and returns details about objects considered obsolete. Objects such as: - Datamart Tables with missing owners. - Data Loads for which the target Field Cache was deleted. - Analytics (PriceAnalyzer) tables without a matching deployed Field Cache (FC). By default this endpoint works in the dry run mode to mitigate accidental deletions. Actual deletions require adding explicit /delete in the endpoint URL. ### Delete Datamart Orphan Objects - [POST /datamart.deleteobsoletes/delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/data-manager/post-datamart.deleteobsoletes-delete.md): Deletes orphan Datamart objects. Identifies and deletes objects considered obsolete. Objects such as: - Datamart Tables with missing owners. - Data Loads for which the target Field Cache was deleted. - Analytics (PriceAnalyzer) tables without a matching deployed Field Cache (FC). ## Actions ### Create an Action Item - [POST /add/AI](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/actions/post-add-ai.md): Adds an Action Item. ### Delete an Action Item - [POST /delete/AI](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/actions/post-delete-ai.md): Deletes an Action Item. ### List Action Items - [POST /fetch/AI](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/actions/post-fetch-ai.md): Retrieves Action Items by filter criteria. To retrieve a specific action, filter the action by id as follows: json { "data":{ "fieldName":"id", "operator":"equals", "value":"41", "_constructor":"AdvancedCriteria" } } ### Update an Action Item - [POST /update/AI](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/actions/post-update-ai.md): Updates an existing Action Item. ### Execute a Logic - [POST /actionitem.execute/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/actions/post-actionitem.execute-typecode.md): Executes a logic for the specified Action Item and returns the result. ## Action Types ### Add an Action Type - [POST /add/AIT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/action-types/post-add-ait.md): Creates a new Action Type (Action Item Type – AIT). ### List Action Types - [POST /fetch/AIT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/action-types/post-fetch-ait.md): Retrieves Action Types (Action Item Types – AIT). A filter can be applied. ### Update an Action Type - [POST /update/AIT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/action-types/post-update-ait.md): Updates the Action Type (Action Item Type – AIT). ### Delete an Action Item Type - [POST /delete/AIT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/action-types/post-delete-ait.md): Deletes the specified Action Type (Action Item Type – AIT). ## Calculation Grids ### Add a Calculation Grid - [POST /calculationgridmanager.addgrid](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-calculationgridmanager.addgrid.md): Creates a Calculation Grid (CG) object. ### List Calculation Grids - [POST /fetch/CG](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-fetch-cg.md): Retrieves Calculation Grids. A filter can be applied. ### Get a Calculation Grid - [POST /fetch/CG/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-fetch-cg-id.md): Retrieves the Calculation Grid object (specified by ID). ### Update a Calculation Grid - [POST /update/CG](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-update-cg.md): Updates label of the specified Calculation Grid. ### Delete a Calculation Grid - [POST /delete/CG](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-delete-cg.md): Deletes the specified Calculation Grid. Returns the deleted CG object. ### Calculate a Calculation Grid - [POST /calculationgridmanager.calculate/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-calculationgridmanager.calculate-id.md): Start the calculation job of the specified Calculation Grid. Returns the JobStatusTracker object (JST). ### Add a Calculation Grid Item - [POST /add/CGI{keyNumber}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-add-cgi6.md): Adds a new record (CGI) to the Calculation Grid. ### List Calculation Grid Items - [POST /fetch/CGI{keyNumber}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-fetch-cgi-keynumber.md): Retrieves all Calculation Grid Items for the specified Calculation Grid. ### Get a Calculation Grid Item - [POST /fetch/CGI{keyNumber}/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-fetch-cgi-keynumber-id.md): Retrieves the Calculation Grid Item record (CGI). ### Update a Calculation Grid Item - [POST /calculationgridmanager.update/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-calculationgridmanager.update-id.md): Allows you to perform a manual override of the specified Calculation Grid Item (CGI). Returns the updated CGIx object. ### Submit a Calculation Grid Item - [POST /calculationgridmanager.accept/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-calculationgridmanager.accept.md): Submits the CalculationGridItems to the workflow. --- Required Permission| Roles with the Required Permission | ---------|----------| CALCULATIONGRID_SUBMIT | Edit Calculation Grid & Add Products (CALCULATIONGRID_ADD), Edit CG (PB_CALCULATIONGRIDEDITOR), Administer CG (PB_CALCULATIONGRIDS) ### Deny a Calculation Grid Item - [POST /calculationgridmanager.reject/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-calculationgridmanager.reject.md): Denies the CalculationGridItems to the workflow. --- Required Permission| Roles with the Required Permission | ---------|----------| CALCULATIONGRID_SUBMIT | Edit Calculation Grid & Add Products (CALCULATIONGRID_ADD), Edit CG (PB_CALCULATIONGRIDEDITOR), Administer CG (PB_CALCULATIONGRIDS) ### Delete a Calculation Grid Item - [POST /delete/CGI{keyNumber}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/calculation-grids/post-delete-cgi-keynumber.md): Deletes the specified Calculation Grid Item. Returns the deleted CGI object in the response. ## Visual Configuration ### Add a Configuration Storage - [POST /add/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-add-jcs.md): Adds the JSON Configuration Storage (JCS). ### Update a Configuration Storage - [POST /update/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-update-jcs.md): Updates the JSON Configuration Storage (JCS). ### Get a Configuration Storage - [POST /fetch/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-fetch-jcs.md): Retrieves the JSON Configuration Storage (JCS). ### Delete a Configuration Storage - [POST /delete/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-delete-jcs.md): Deletes the JSON Configuration Storage (JCS). ### Deploy a Configuration Storage - [POST /jcsmanager.deploy](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-jcsmanager.deploy.md): Deploys the JSON Configuration Storage (JCS). Can be only used when storageStatus = DRAFT. Required roles: - SUPPORT - PM_FORMULA_DESIGNER_MANAGER - PB_STRATEGY_DESIGNER_MANAGER ### Add a Configuration Storage - [POST /add/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-add-jcs.md): Adds the JSON Configuration Storage (JCS). ### Update a Configuration Storage - [POST /update/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-update-jcs.md): Updates the JSON Configuration Storage (JCS). ### Get a Configuration Storage - [POST /fetch/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-fetch-jcs.md): Retrieves the JSON Configuration Storage (JCS). ### Delete a Configuration Storage - [POST /delete/JCS](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-delete-jcs.md): Deletes the JSON Configuration Storage (JCS). ### Deploy a Configuration Storage - [POST /jcsmanager.deploy](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/visual-configuration/post-jcsmanager.deploy.md): Deploys the JSON Configuration Storage (JCS). Can be only used when storageStatus = DRAFT. Required roles: - SUPPORT - PM_FORMULA_DESIGNER_MANAGER - PB_STRATEGY_DESIGNER_MANAGER ## Quotes ### Upsert a Quote - [POST /quotemanager.save](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.save.md): Creates or updates a quote. To update a quote, specify an existing uniqueName. >This endpoint is not allowed to modify the document status and workflow status. --- Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### List Quotes - [POST /quotemanager.fetchlist](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.fetchlist.md): Retrieves all quotes. You can also filter the returned data. --- Filter example: Returns only first 10 quotes with workflowStatus = APPROVED and quoteStatus = OFFER. json { "endRow":10, "oldValues": null, "operationType":"fetch", "startRow":0, "textMatchStyle":"exact", "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"workflowStatus", "operator":"equals", "value":"APPROVED" }, { "fieldName":"quoteStatus", "operator":"equals", "value":"OFFER" } ] } } --- Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), View Products (PB_PRODUCTS_RO), Administer Price Lists (PB_PRICELISTS), Manage Products (PB_PRODUCTEDITOR), Manage Price Lists (PB_PRICELISTSEDITOR), Administer LPG (PB_PRICEGRIDS), Manage BoM Data (PB_BOM), Administer Products (PB_PRODUCTS), View QuoteConfigurator (PRICESHOP_RO) Manage Product Master (PB_PRODUCTS_ONLY), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage PromotionManager (CM_CONTRACTMANAGER), Edit Quoting (PRICESHOP_EDIT) Administer Rebates (RM_REBATEMANAGER), Administer Quoting (PRICESHOP_QUOTEADMIN), View Product Details (PB_PDETAILSVIEW), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Claims (CLM_CLAIMMANAGER), Manage Product Master Extensions (PB_PXEDITOR), View BoM Data (PB_BOM_RO), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION), Manage QuoteConfigurator (PRICESHOP), View Price Lists (PB_PRICELISTS_RO) ### Get a Quote - [POST /quotemanager.fetch/{typedID}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.fetch-typedid.md): Retrieves quote details. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | View Quoting (PRICESHOP_RO), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP), Manage Workflow Logics (WF_BUILDER) ### Submit a Quote - [POST /quotemanager.submit](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.submit.md): Submits a specified quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Export an Excel File - [POST /quotemanager.fetchxls/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.exportxls-uniquename.md): Downloads the XLSX file of the specified quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | View Quoting (PRICESHOP_RO), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP), Manage Workflow Logics (WF_BUILDER) ### Export a DOCX File - [POST /quotemanager.fetchdocx/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.exportdocx-uniquename.md): Downloads the DOCX file of the specified quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | View Quoting (PRICESHOP_RO), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP), Manage Workflow Logics (WF_BUILDER) ### Export a PDF File - [POST /quotemanager.fetchpdf/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.fetchtpdf-uniquename.md): Downloads the PDF file of the specified quote. CloudConvert must be enabled (Administration > Configuration > External Systems > CloudConvert). ### Recalculate a Quote - [POST /quotemanager.price](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.price.md): Recalculates the price of the entire quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_PRICE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### List Products - [POST /quotemanager.fetchproducts](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.fetchproducts.md): Retrieves product records. Additionally to the /productmanager.fetchproducts endpoint, this command supports filtering by a custom formula set for the configured and evaluated quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_FETCHFILTERED | Edit LPG & Add Products (PB_PRICEGRIDEDITOR_ADD_SKU), Edit LPG (PB_PRICEGRIDEDITOR), Data Integration (DATAINTEGRATION), View Competition Data (PB_COMPETITION_RO), View Products (PB_PRODUCTS_RO), Administer Price Lists (PB_PRICELISTS), Manage Products (PB_PRODUCTEDITOR), Manage Price Lists (PB_PRICELISTSEDITOR), Administer LPG (PB_PRICEGRIDS), Manage BoM Data (PB_BOM), Administer Products (PB_PRODUCTS), View QuoteConfigurator (PRICESHOP_RO) Manage Product Master (PB_PRODUCTS_ONLY), Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage PromotionManager (CM_CONTRACTMANAGER), Edit Quoting (PRICESHOP_EDIT) Administer Rebates (RM_REBATEMANAGER), Administer Quoting (PRICESHOP_QUOTEADMIN), View Product Details (PB_PDETAILSVIEW), Manage Product Details Only (PB_PDETAILSEDITOR), Manage Claims (CLM_CLAIMMANAGER), Manage Product Master Extensions (PB_PXEDITOR), View BoM Data (PB_BOM_RO), Manage Products & Use EC (PB_PRODUCTEDITOR_EC), Manage Competition Data (PB_COMPETITION), Manage QuoteConfigurator (PRICESHOP), View Price Lists (PB_PRICELISTS_RO) ### Create a New Revision - [POST /quotemanager.createnewrevision/{identifier}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.createnewrevision-identifier.md): Creates a new revision of the quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Convert to a Deal - [POST /quotemanager.convert/{identifier}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.convert-identifier.md): Sets a quoteStatus to DEAL. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Copy a Quote - [POST /quotemanager.copy/{identifier}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.copy-identifier.md): Creates a copy of the specified quote. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Mark an Offer as Lost - [POST /quotemanager.changestatus/{identifier}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.changestatus-typedid.md): Changes quoteStatus from OFFER to LOST. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Revoke a Deal - [POST /quotemanager.revoke/{identifier}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.revoke-typedid.md): Sets quoteStatus to REVOKED. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_REVOKE | Administer QuoteConfigurator (PRICESHOP_QUOTEADMIN) ### Add Products to a Quote - [POST /quotemanager.addproducts](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.addproducts.md): Adds specified product items to the quote. The quote is recalculated after the items are added. Required Permission| Roles with the Required Permission | ---------|----------| QUOTE_UPDATE | Edit Quoting (PRICESHOP_EDIT), Administer Quoting (PRICESHOP_QUOTEADMIN), Manage Quoting (PRICESHOP) ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Mark an Offer as Lost (with reason) - [POST /clicmanager.setlostreason/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.setlostreason-typedid.md): Sets the specified Quote as LOST and sets the loss reason (lostReason). Optionally, an additional comment (lostReasonComment) can be added. Returns the updated Quote object. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Create a Quote - [POST /clicmanager.create/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.create-typecode.md): Creates a Quote (Q) or a Temporary Quote (QTMP). ### Save a Temporary Data - [POST /clicmanager.save/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.save-typedid.md): Stores the temporary data from QTMP to the persisted data (Q). Returns the Quote (Q) object. ### Get a Temporary Data - [POST /clicmanager.fetchtmpheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchtmpheader-typedid.md): Retrieves the existing temporary data (QTMP) for the specified Quote. Creates a new QTMP object for the Quote, if the temporary data does not exist. ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get Folder Statistics - [POST /clicmanager.folderstats/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.folderstats-typedid.md): Returns a list of parent IDs with the count of nested items. An example can be a list of Quote folders (their IDs) with the count of line items inside them. ### Undo Quote Revocation - [POST /quotemanager.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-quotemanager.undorevoke-typedid.md): Reverts the action 'Revoke Deal' and returns the Quote back to the Deal status. It is useful if the user revokes a Quote deal by mistake. There is no button for this action available in the UI. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Mark an Offer as Lost (with reason) - [POST /clicmanager.setlostreason/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.setlostreason-typedid.md): Sets the specified Quote as LOST and sets the loss reason (lostReason). Optionally, an additional comment (lostReasonComment) can be added. Returns the updated Quote object. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Create a Quote - [POST /clicmanager.create/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.create-typecode.md): Creates a Quote (Q) or a Temporary Quote (QTMP). ### Save a Temporary Data - [POST /clicmanager.save/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.save-typedid.md): Stores the temporary data from QTMP to the persisted data (Q). Returns the Quote (Q) object. ### Get a Temporary Data - [POST /clicmanager.fetchtmpheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchtmpheader-typedid.md): Retrieves the existing temporary data (QTMP) for the specified Quote. Creates a new QTMP object for the Quote, if the temporary data does not exist. ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get Folder Statistics - [POST /clicmanager.folderstats/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.folderstats-typedid.md): Returns a list of parent IDs with the count of nested items. An example can be a list of Quote folders (their IDs) with the count of line items inside them. ## 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. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Mark an Offer as Lost (with reason) - [POST /clicmanager.setlostreason/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.setlostreason-typedid.md): Sets the specified Quote as LOST and sets the loss reason (lostReason). Optionally, an additional comment (lostReasonComment) can be added. Returns the updated Quote object. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Create a Quote - [POST /clicmanager.create/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.create-typecode.md): Creates a Quote (Q) or a Temporary Quote (QTMP). ### Save a Temporary Data - [POST /clicmanager.save/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.save-typedid.md): Stores the temporary data from QTMP to the persisted data (Q). Returns the Quote (Q) object. ### Get a Temporary Data - [POST /clicmanager.fetchtmpheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchtmpheader-typedid.md): Retrieves the existing temporary data (QTMP) for the specified Quote. Creates a new QTMP object for the Quote, if the temporary data does not exist. ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get Folder Statistics - [POST /clicmanager.folderstats/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.folderstats-typedid.md): Returns a list of parent IDs with the count of nested items. An example can be a list of Quote folders (their IDs) with the count of line items inside them. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### Submit a Quote/Contract/Rebate Agreement - [POST /clicmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.submit-typedid.md): Submits a Contract, Quote, or Rebate Agreement. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.update-typedid.md): Updates a Quote, Contract, Rebate Agreement, or Compensation Plan. attributeExtension can be updated as follows: json { "data": { "typedId": "{typedId}", "version": {version}, "attributeExtension___AttributeExtensionColumn2": "testValue" } } >This endpoint is not allowed to modify the document status and workflow status. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Recalculate a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.calculate-typedid.md): Calculates a Quote, Contract, Rebate Agreement, or Compensation Plan. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### Submit a Quote/Contract/Rebate Agreement - [POST /clicmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.submit-typedid.md): Submits a Contract, Quote, or Rebate Agreement. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.update-typedid.md): Updates a Quote, Contract, Rebate Agreement, or Compensation Plan. attributeExtension can be updated as follows: json { "data": { "typedId": "{typedId}", "version": {version}, "attributeExtension___AttributeExtensionColumn2": "testValue" } } >This endpoint is not allowed to modify the document status and workflow status. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Recalculate a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.calculate-typedid.md): Calculates a Quote, Contract, Rebate Agreement, or Compensation Plan. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### List Unique CLIC Items - [POST /clicmanager.fetchitemuniquetypes/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchitemuniquetypes.md): Returns all SKUs for the given Calculable Line Item Collection (CLIC). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Mark an Offer as Lost (with reason) - [POST /clicmanager.setlostreason/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.setlostreason-typedid.md): Sets the specified Quote as LOST and sets the loss reason (lostReason). Optionally, an additional comment (lostReasonComment) can be added. Returns the updated Quote object. ### Send an Email - [POST /clicmanager.sendemail](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.sendemail.md): Sends an email with attached document (e.g., a Quote) to the specified recipients using the Publishing Template. You can retrieve available publishing templates calling the configurationmanager.fetchtemplates/{TypeCode} endpoint. ### Email Sending Rate Limits and Restrictions To prevent misuse, such as email flooding or spam, the following rate limits and restrictions are applied: Rate Limiting on clicmanager.sendemail Endpoint: - Each user account is restricted to calling this endpoint no more than 5 times (default) within a 5-minute period (default). - This limit is counted per partition. Recipient Limitation in Payload: - The payload for the clicmanager.sendemail endpoint, which specifies recipients limits the number of recipients. - A default limit of 20 recipients. To change these limits, adjust values for the following options in Advanced Configuration Options: - sendEmailMaxRecipients - sendEmailMinutesCountForThrottling - sendEmailMaxCountInLastMinutes ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Create a Quote - [POST /clicmanager.create/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.create-typecode.md): Creates a Quote (Q) or a Temporary Quote (QTMP). ### Save a Temporary Data - [POST /clicmanager.save/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.save-typedid.md): Stores the temporary data from QTMP to the persisted data (Q). Returns the Quote (Q) object. ### Get a Temporary Data - [POST /clicmanager.fetchtmpheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchtmpheader-typedid.md): Retrieves the existing temporary data (QTMP) for the specified Quote. Creates a new QTMP object for the Quote, if the temporary data does not exist. ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get Folder Statistics - [POST /clicmanager.folderstats/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.folderstats-typedid.md): Returns a list of parent IDs with the count of nested items. An example can be a list of Quote folders (their IDs) with the count of line items inside them. ### Fetch Activities - [POST /activitylog.fetch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-activitylog.fetch.md): Fetches activities for a CLIC module activity log in a concise format, e.g., when multiple 'add item' actions are performed consecutively, they are consolidated into a single activity log entry containing all details. ## Contracts (Agreements & Promotions) ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Export a PDF File - [POST /contractmanager.fetchpdf/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.exportpdf-uniquename.md): Downloads the PDF file of the specified A&P. CloudConvert must be enabled (Administration > Configuration > External Systems > CloudConvert). ### List Contracts - [POST /fetch/CT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-fetch-ct.md): Returns a list of Agreements and Promotions (formerly Contracts). ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### Submit a Quote/Contract/Rebate Agreement - [POST /clicmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.submit-typedid.md): Submits a Contract, Quote, or Rebate Agreement. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Get a Contract - [POST /contractmanager.fetch/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.fetch-uniquename.md): Retrieves details of the specified Contract. ### Add Contract Line Items - [POST /contractmanager.additems](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.additems.md): Adds line items and recalculates the Contract. ### Upsert a Contract - [POST /contractmanager.save](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.save.md): Creates or updates a Contract. To update a Contract, specify an existing uniqueName. >This endpoint is not allowed to modify the document status and workflow status. ### Submit a Contract - [POST /contractmanager.submit](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.submit.md): Submits the Contract. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### List Contract Price Records - [POST /fetch/CPR](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-fetch-cpr.md): Retrieves Contract Price Records (CPR). Use the filter (see the request sample) to exclude Quote Price Records from the returned Price Records. >To work with Contract Price Records, the option enableAPRecalculation must be set to true. Navigate to Administration > Configuration > System Configuration > Advanced Configuration Options and add the enableAPRecalculation option. ### List Contract Calculations - [POST /fetch/CTC](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-fetch-ctc.md): Retrieves Contract Calculations. >To work with Contract Calculations, the option enableAPRecalculation must be set to true. Navigate to Administration > Configuration > System Configuration > Advanced Configuration Options and add the enableAPRecalculation option. ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Undo Agreement & Promotion Revocation - [POST /contractmanager.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-contractmanager.undorevoke-typedid.md): Reverts the action 'Revoke Agreement & Promotion' and returns the Agreement/Promotion back to the Approved status. It is useful if the user revokes an Agreement/Promotion by mistake. There is no button for this action available in the UI. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### Submit a Quote/Contract/Rebate Agreement - [POST /clicmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.submit-typedid.md): Submits a Contract, Quote, or Rebate Agreement. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ## Sales Compensations ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### Add a Compensation Type - [POST /add/COHT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-add-coht.md): Creates a Compensation Type record in the Compensation Header Types table. ### List Compensation Types - [POST /fetch/COHT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-fetch-coht.md): Retrieves Compensation Types from the Compensation Header Types table. A filter can be applied. ### Update a Compensation Type - [POST /update/COHT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-update-coht.md): Updates a Compensation Type in the Compensation Header Types table. The version property must be provided within the oldValues. ### Delete a Compensation Type - [POST /delete/COHT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-delete-coht.md): Deletes a Compensation Type from the Compensation Header Types table. ### Add a Condition Type - [POST /add/COCT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-add-coct.md): Creates a Condition Type record in the Compensation Condition Types table. ### List Condition Types - [POST /fetch/COCT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-fetch-coct.md): Retrieves one or more (based on filter settings) Condition Types from the Compensation Condition Types table. ### Update a Condition Type - [POST /update/COCT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-update-coct.md): Updates a Condition Type in the Compensation Condition Types table. The version property must be provided within the oldValues. ### Delete a Condition Type - [POST /delete/COCT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-delete-coct.md): Deletes a Condition Type from the Compensation Condition Types table. ### Upsert a Compensation Plan - [POST /compensation.save](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.save.md): Creates or updates a Compensation Plan. Assigns new uniqueName when a new Compensation Plan is created. To update a Compensation Plan, specify the existing uniqueName. ### List Compensation Plans - [POST /fetch/CO](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-fetch-co.md): Retrieves Compensation Plans. A filter can be applied. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.update-typedid.md): Updates a Quote, Contract, Rebate Agreement, or Compensation Plan. attributeExtension can be updated as follows: json { "data": { "typedId": "{typedId}", "version": {version}, "attributeExtension___AttributeExtensionColumn2": "testValue" } } >This endpoint is not allowed to modify the document status and workflow status. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Delete a Compensation Plan - [POST /delete/CO](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-delete-co.md): Deletes a Compensation Plan. ### Duplicate a Compensation Plan - [POST /compensation.copy/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.copy.md): Creates a copy of the specified Compensation Plan. ### Recalculate a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.calculate-typedid.md): Calculates a Quote, Contract, Rebate Agreement, or Compensation Plan. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Add a Calculation - [POST /add/CORSC](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-add-corsc.md): Adds a Calculation (CompensationRecordSetCalculation) for the specified Compensation Record Set. ### List Calculations - [POST /fetch/CORSC](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-fetch-corsc.md): Retrieves Calculation (CompensationRecordSetCalculation) objects. A filter can be applied. ### Save Calculation - [POST /calculationrecord.savecalc](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-calculationrecord.savecalc.md): Updates Calculation details. ### Run a Calculation - [POST /calculationrecord.calculateset](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-calculationrecord.calculateset.md): Starts the calculation job (JST) of the calculation set. Returns the JobStatusTracker object. ### Delete a Calculation - [POST /clicmanager.deleteCompensationCalculation](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-delete-clicmanager.deletecompensationcalculation.md): Deletes the specified CompensationRecordSetCalculation object. Returns the deleted object in the response. ### Save a Compensation Record - [POST /compensationrecord.save](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensationrecord.save.md): Updates a Compensation Record. ### List Compensation Records - [POST /compensationrecord.fetch/{compensationRecordSetId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensationrecord.fetch.md): Retrieves all Compensation Records based on filter settings. ### Update a Compensation Record - [POST /compensationrecord.update](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensationrecord.update.md): Updates a CompensationRecord object. ### Revoke a Compensation Record - [POST /compensationrecord.revoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensationrecord.revoke.md): The Revoke action is available only for approved records. This action is useful when the Compensation Record was approved in Pricefx, integration did not happen yet and there is nothing to reverse in ERP. When this action is used, the record changes its status to Revoked. The Administer Compensation Records user role is needed to perform the Revoke action. ### List Accrual Records - [POST /fetch/COAR](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-fetch-coar.md): Retrieves Accrual Records. A filter can be applied. ### Send a Document to Sign - [POST /compensation.createsignature/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.createsignature-typedid.md): Sends the template with the specified Compensation document data via the e-signature system (DocuSign) and returns the Compensation object. ### Get a Signed Document - [POST /compensation.fetchsignature/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.fetchsignature.md): Downloads a signed document. ### Get a Signature Status - [POST /compensation.signaturestatus/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.signaturestatus-typedid.md): Returns the Compensation object (CO) with the updated signature status (possible values: sent, delivered, signed, completed, declined, voided, processing, error, cancelling). ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Undo Compensation Plan Revocation - [POST /compensation.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensation.undorevoke-typedid.md): Reverts the action 'Revoke Compensation Plan' and returns the Compensation Plan back to the Approved status. It is useful if the user revokes a Compensation Plan by mistake. There is no button for this action available in the UI. ### Undo Compensation Record Revocation - [POST /compensationrecord.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-compensationrecord.undorevoke-typedid.md): Reverts the action 'Revoke' and returns the Compensation Record back to the Approved status. It is useful if the user revokes a Compensation Record by mistake. There is no button for this action available in the UI. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.update-typedid.md): Updates a Quote, Contract, Rebate Agreement, or Compensation Plan. attributeExtension can be updated as follows: json { "data": { "typedId": "{typedId}", "version": {version}, "attributeExtension___AttributeExtensionColumn2": "testValue" } } >This endpoint is not allowed to modify the document status and workflow status. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Recalculate a Quote/Contract/Rebate Agreement/Compensation Plan - [POST /clicmanager.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.calculate-typedid.md): Calculates a Quote, Contract, Rebate Agreement, or Compensation Plan. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ## Rebate Agreements ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/quotes/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/contracts-(agreements-and-promotions)/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### List Rebate Agreements - [POST /fetch/RBA](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-fetch-rba.md): Retrieves a list of rebate agreements. --- Required Permission| Roles with the Required Permission | ---------|----------| REBATEAGREEMENT_FETCH | Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Administer RebateManager (RM_REBATEMANAGER), Administer Rebate Agreements (RM_REBATEAGREEMENTS_ADMIN), Manage Rebate Agreements (RM_REBATEAGREEMENTS), View Rebate Agreements (RM_REBATEAGREEMENTS_RO) ### Upsert a Rebate Agreement - [POST /rebateagreement.save](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebateagreement.save.md): Creates or updates a Rebate Agreement. Assigns new uniqueName when a new Rebate Agreement is created. To update a Rebate Agreement, specify an existing uniqueName. >This endpoint is not allowed to modify the document status and workflow status. ### List Rebate Agreement Items - [POST /rebateagreement.fetchitems](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebateagreement.fetchitems.md): Retrieves Rebate Agreement Items. A filter can be applied. ### Get a Rebate Agreement - [POST /rebateagreement.fetch/{uniqueName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebateagreement.fetch-uniquename.md): Retrieves details of the specified Rebate Agreement. ### Add Rebate Agreement Items - [POST /rebateagreement.additems](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebateagreement.additems.md): Adds items to the specified Rebate Agreement. ### Delete a Rebate Agreement - [POST /delete/RBA](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-delete-rba.md): Deletes a Rebate Agreement. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Undo Rebate Agreement Revocation - [POST /rebateagreement.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebateagreement.undorevoke-typedid.md): Reverts the action 'Revoke Agreement' and returns the Rebate Agreement back to the Approved status. It is useful if the user revokes a Rebate Agreement by mistake. There is no button for this action available in the UI. ### Undo Rebate Record Revocation - [POST /rebaterecord.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-agreements/post-rebaterecord.undorevoke-typedid.md): Reverts the action 'Revoke' and returns the Rebate Record back to the Approved status. It is useful if the user revokes a Rebate Record by mistake. There is no button for this action available in the UI. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/sales-compensations/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ### Get a Quote/Contract/Rebate Agreement/Compensation Plan Header - [POST /clicmanager.fetchheader/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetchheader-typedid.md): Retrieves details of the specified Compensation Plan, Contract, Quote, or Rebate Agreement - without line items. >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. >Use the clicmanager.fetch/{typedId} endpoint to return line items of the specified entity. ### List CLIC Objects - [POST /clicmanager.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.fetch.md): Retrieves line items of the specified CLIC entity (Quote/Contract/Rebate Agreement/Compensation Plan Line Items). >This endpoint is used in the REACT version only. It is not advisable to mix REACT endpoints together with Ember endpoints. ### Update CLIC Line Items - [POST /clicmanager.updatelineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.updatelineitems-typedid.md): Updates specified line item fields of a CLIC object (Quote, Agreements & Promotions (Contract), Rebate Agreement, or Compensation Plan). ### Delete All Line Items - [POST /clicmanager.removeallitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.removeallitems-typedid.md): Removes all line items from a specified CLIC (Quote,Agreements & Promotions (Contract), Rebate Agreement, Compensation Plan) object. This action can be performed only on doucments in the DRAFT status. >If 'Recalculate after line item modification' option is set then the document is recalculated. ### Import Line Items (w/o Input Types) - [POST /clicmanager.importlineitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/clicmanager/post-clicmanager.importlineitems-typedid.md): Imports CLIC line items without specified input types, alowing to assign the input type to the line item using logic. The input name of the imported line item in the API request is compared with the name of inputs generated by the line item logic. If those names are equal, the input type from the calculation logic is used. ## Rebate Calculations ### Add a Rebate Calculation - [POST /add/RRSC](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-calculations/post-add-rrsc.md): Adds a Calculation (RebateRecordSetCalculation) for the specified Rebate Record Set. ### List Rebate Calculations - [POST /fetch/RRSC](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-calculations/post-fetch-rrsc.md): Retrieves Calculation (RebateRecordSetCalculation) objects. A filter can be applied. ### Save a Rebate Calculation - [POST /rebaterecord.savecalc](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-calculations/post-rebaterecord.savecalc.md): Updates Calculation details. ### Run a Rebate Calculation - [POST /rebaterecord.calculateset](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-calculations/post-rebaterecord.calculateset.md): Starts the calculation job (JST) of the calculation set. Returns the JobStatusTracker object. ### Delete a Rebate Calculation - [POST /clicmanager.deleteRebateCalculation](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-calculations/post-clicmanager.deleterebatecalculation.md): Deletes a Rebate Calculation (the RebateRecordSetCalculation object). ## Rebate Record Group ### Submit a Rebate Record Group - [POST /rebaterecordgroup.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.submit-typedid.md): Submits a Rebate Record Group. Use the /rebaterecordgroup.submit/{typedId}/async endpoint to perform the submit action asynchronously. ### Calculate a Rebate Record Group - [POST /rebaterecordgroup.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.calculate-typecode.md): Calculates the specified Rebate Record Group (RRG). ### Get a Rebate Record Group - [POST /fetch/RRG](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-fetch-rrg.md): Retrieves the Rebate Record Group specified by the filter in the request payload. Retrieves all Rebate Record Groups when the payload is empty. ### Revoke a Rebate Record Group - [POST /rebaterecordgroup.revoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.revoke-typedid.md): Revokes a Rebate Record Group. ### Mass Submit Rebate Record Groups - [POST /rebaterecordgroup.masssubmit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.masssubmit-typedid.md): Performs the mass submit action on Rebate Record Groups specified by the filter in the request body. ### Preview a Rebate Record Group Workflow - [POST /rebaterecordgroup.preview/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.preview-typedid.md): Returns a Rebate Record Group workflow preview (resultWorkflow DTO). ### Should Submit a RRG Asynchronously - [POST /rebaterecordgroup.shouldsubmitasynchronously/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.shouldsubmitasynchronously-typedid.md): Returns true if the Submit action of the specified Rebate Record Group should be performed asynchronmously. If the number of Rebate Records within the given Rebate Record Group exceeds a defined threshold the group should be submitted in the asynchronous way. The threshold number can be set in the Advanced Configuration Option key asyncSubmitRRGThreshold. The default value is 10. Set to 0 to always submit a Rebate Record Group asynchronously. ### Mass Submit Rebate Record Groups - [POST /rebaterecordgroup.masssubmit](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.masssubmit.md): Peforms the Mass Submit action of the Rebate Record Groups specified by the filter in the request body. The Mass Submit action is always performed asynchronously - returns Job Status Tracker (JST). ### Undo Rebate Record Group Revocation - [POST /rebaterecordgroup.undorevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/rebate-record-group/post-rebaterecordgroup.undorevoke-typedid.md): Reverts the action 'Revoke' and returns the Rebate Record Group back to the Approved status. It is useful if the user revokes a Rebate Record Group by mistake. There is no button for this action available in the UI. ## Claim Types ### Add a Claim Type - [POST /add/CLT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claim-types/post-add-clt.md): Adds a Claim Type to the Claim Types table. ### Update a Claim Type - [POST /update/CLT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claim-types/post-update-clt.md): Updates a Claim Type. ### Delete a Claim Type - [POST /delete/CLT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claim-types/post-delete-clt.md): Deletes a Claim Type. Specify the typedId of the Claim Type you want to delete in the request (see the request example). ### List Claim Types - [POST /fetch/CLT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claim-types/post-fetch-clt.md): Retrieves all Claim Types, or Claim Types that match a filter. ## Claims ### Add a Claim - [POST /add/CL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-add-cl.md): Adds a Claim without any data and items. Use the update/CL (Update a Claim) to add the data (e.g., uploaded file) to the Claim. ### List Claims - [POST /fetch/CL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-fetch-cl.md): Retrieves a list of Claims. A filter can be applied (for example, to retrieve a particular Claim with the specified name). --- Required Permission| Roles with the Required Permission | ---------|----------| CLAIM_FETCH | Investigate for Support (SUPPORT), Administer Plasma (PLASMA), Manage Claims (CLM_CLAIMMANAGER), Use Claims (CLM_CLAIM) ### Update a Claim - [POST /update/CL](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-update-cl.md): Updates the Claim object. ### Calculate a Claim - [POST /claimmanager.calculate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.calculate-typecode.md): Calculates a Claim (runs the validation logic on all items. Creates a calculation job (JST). It does not read the data from the uploaded Excel file again but works with the (potentially edited) data that are already loaded in the system. You can also send items within the request body (no Excel file needed) – see the request example (calculateClaimRequestExample) for the request body structure. ### Cancel a Calculation - [POST /claimmanager.cancel/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.cancel-typecode.md): Cancels the Claim calculation job. ### List Items - [POST /claimmanager.fetchitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager-typecode.md): Retrieves all items of the specified Claim. ### Validate Items - [POST /claimmanager.validateitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.validateitems-typedid.md): Validates specified items of the Claim. ### Reject Items - [POST /claimmanager.rejectitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.rejectitems-typedid.md): Rejects specified items of the Claim. ### Get a Summary - [POST /claimmanager.summary/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.summary-typedid.md): Retrieves a summary of validated/rejected items. ### Remove Items - [POST /claimmanager.clearitems/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.clearitems-typedid.md): Deletes all items from the Claim. ### Submit a Claim - [POST /claimmanager.submit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/claims/post-claimmanager.submit-typedid.md): Submits the specified Claim. ## Optimization ### Calculate a Model Object Step - [POST /optimization.modelcalcexec/{typedId}/{stepName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalcexec-typedid-stepname.md): Executes a calculation of the step as a background task in the context of the Model Object. Returns two elements within the data array – the JST (Job Status Tracker) object (the calculation status of the newly created calculation) and the updated ModelObject object. ### Recalculate a Calculation of a Step - [POST /optimization.modelcalcexec/{typedId}/{stepName}/{calcName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalcexec-typedid-stepname-calcname.md): Executes a recalculation the calculation of the step as a background task (JST) in the context of the Model Object. Returns two elements within the data array – the JST (Job Status Tracker) object (the calculation status of the newly created calculation) and the updated ModelObject object. ### Recalculate Items of a Parallel Calculation - [POST /optimization.modelcalcexec/{typedId}/{stepName}/{calcName}/item](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalcexec-typedid-stepname-calcname/item.md): Executes a recalculation of the item as a background task (JST) with the id of the last calculation JST (copies calculation results from the previous JST). Use a filter in your request to specify items with CREATED or FAILED status. Cannot be used on items with the CALCULATED status. Fails if called for anything else than a Parallel Calculation. Returns two elements within the data array – the JST (Job Status Tracker) object (the calculation status of the newly created calculation) and the updated ModelObject object. ### Save a Model - [POST /optimization.modelsave/{typedId}/{stepName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelsave-typedid-stepname.md): Saves a Model Object of the step. Returns the updated ModelObject object. ### Submit a Model - [POST /optimization.modelsubmit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelsubmit-typedid.md): Submits a Model for approval. Returns the submited ModelObject object. >Note: A scheduled Model cannot be submitted. Required permission: MODELOBJECT_UPDATE ### Get a Calculation Status - [POST /optimization.modelcalcstatus/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalcstatus-typedid.md): Retrieves the status of all calculations for the given Model. ### Get a Step Calculation Status - [POST /optimization.modelcalcstatus/{typedId}/{stepName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalcstatus-typedid-stepname.md): Retrieves the status of the specified step calculation for the given Model. ### Cancel a Calculation Step - [POST /optimization.modelcalccancel/{typedId}/{stepName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelcalccancel-typedid-stepname.md): Cancels the calculation of the specified step for the given Model. ### List Model Logic Parameters - [POST /optimization.modelformulaparams/{typedId}/{stepName}/{formulaName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelformulaparams-typedid-stepname-formulaname.md): Retrieves parameters of the specified logic. ### Execute a Model Logic - [POST /optimization.modelformulaexec/{typedId}/{stepName}/{formulaName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelformulaexec-typedid-stepname-formulaname.md): Executes the logic in the context of the model and the step. Returns logic results. ### List Parallel Calculation Items - [POST /optimization.modelfetchpci](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelfetchpci.md): Retrieves all PCI objects (Parallel Calculation Items) for the specified job. A lightweight version of the general fetch/PCI endpoint. Does not return possibly large outputs and messages fields. ### Get a Parallel Calculation Item - [POST /fetch/PCI/{id}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-fetch-pci-id.md): Retrieves the Parallel Calculation Item (PCI) object specified by id as a path parameter. ### Revoke a Model - [POST /optimization.modelrevoke/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelrevoke-typedid.md): Revokes a model with a workflow so it can be deleted afterward. Only models with the workflow status = APPROVED or NO_APPROVAL_REQUIRED can be revoked. The revoke action will set the workflow status of a model to WITHDRAWN. Once revoked, the model is back in an editable state and can be deleted by users having the right to do so. Required roles: - PO_MCMO_MANAGER (Administrate Model Classes/Objects) - PO_MCMO (Manage Model Objects) - for models in Module Categories (see User Group Entitlements in Module Categories): MODULECATEGORY_MO_MANAGER (Manage Model in Module Category) ### Duplicate a Model - [POST /optimization.modelduplicate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelduplicate-typedid.md): Creates a copy of the specified model with a new name, including the parameter tables (if copyParamTables=true). ### Import Models - [POST /optimization.modelimport](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelimport.md): Imports a previously exported model from a ZIP file. ### Export Models - [POST /optimization.modelexport](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-optimization.modelexport.md): Export models to a ZIP file. ### Load Data Into FieldCollection - [POST /datamart.loadfc/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/optimization/post-datamart.loadfc-typedid.md): Loads AVRO data into a DMFieldCollection (DMDS or DMT) from a multipart/form-data request. It fails if the specified FieldCollection does not exist. Duplicate key values are forbidden. Type checking and schema validation are enforced. ## Workflow ### List Pending Approvals - [POST /workflowsmanager.fetch/active](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.fetch-active.md): Retrieves a list of all authenticated user's approvals. Available for the following roles: - ADMIN_WO_USER_MGMT (General Admin (without User Management)) - SUPPORT (Investigate for Support) - PRICESHOP_RO (View Quoting) - PRICESHOP_EDIT (Edit Quoting) - PB_PRICEGRIDS_RO (View LPG) - WF_BUILDER (Manage Workflow Logics) - RM_RAT (Manage Rebate Templates) - RM_REBATEAGREEMENTS_RO (View Rebate Agreements) - RM_REBATEAGREEMENTS (Manage Rebate Agreements) - WF_BUILDER (Manage Workflow Logics) - CONTRACTS_RO (View A&P) - CM_CONTRACTMANAGER (Manage A&P module) - CONTRACTS_RO (View A&P) - WF_ADMIN (Manage Workflows) - SC_COMPENSATIONS_RO (View Compensation Plans) - SC_ADMIN (Administer Sales Compensations module) ### List User's Pending Approvals - [POST /workflowsmanager.fetchfilteredbyapprovable/active/{loginName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.fetchfilteredbyapprovable-active-loginname.md): Retrieves a list of Pending Approvals for the particular user. ### List Workflows - [POST /workflowsmanager.fetch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.fetch.md): Retrieves a list of workflows (based on filter settings) where the authenticated user participates. The request can be sent also with an empty body (without filters or paging) in order to retrieve all workflows. Returns all workflows if the authenticated user is the workflow admin. --- Filter example: Returns only workflows where document type = Quote and workflow status = Approved. json { "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"code", "operator":"equals", "value":"Q" }, { "fieldName":"workflowStatus", "operator":"equals", "value":"APPROVED" } ] } } Available for the following roles: - ADMIN_WO_USER_MGMT (General Admin (without User Management)) - SUPPORT (Investigate for Support) - PRICESHOP_RO (View Quoting) - PRICESHOP_EDIT (Edit Quoting) - PB_PRICEGRIDS_RO (View LPG) - WF_BUILDER (Manage Workflow Logics) - RM_RAT (Manage Rebate Templates) - RM_REBATEAGREEMENTS_RO (View Rebate Agreements) - RM_REBATEAGREEMENTS (Manage Rebate Agreements) - WF_BUILDER (Manage Workflow Logics) - CONTRACTS_RO (View A&P) - CM_CONTRACTMANAGER (Manage A&P module) - CONTRACTS_RO (View A&P) - WF_ADMIN (Manage Workflows) - SC_COMPENSATIONS_RO (View Compensation Plans) - SC_ADMIN (Administer Sales Compensations module) ### Get a Workflow Document - [POST /workflowsmanager.fetchdetailsviaapprovable/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.fetchdetailsviaapprovable-typedid.md): Retrieves workflow details of the approvable object. See the Workflows article to find out which documents types can have approval workflows. Available for the following roles: - ADMIN_WO_USER_MGMT (General Admin (without User Management)) - SUPPORT (Investigate for Support) - PRICESHOP_RO (View Quoting) - PB_PRICELISTS_RO (View Price Lists) - PB_PRICEGRIDS_RO (View LPG) - RM_REBATEAGREEMENTS_RO (View Rebate Agreements) - RM_REBATEAGREEMENTS (Manage Rebate Agreements) - RM_REBATERECORDS (Manage Rebate Records) - RM_REBATERECORDS_RO (View Rebate Records) - CONTRACTS_RO (View A&P) - CM_CONTRACTS (Manage A&P) - CLM_CLAIM (Use Claims) - WF_ADMIN (Manage Workflows) - PO_MODELRECORDS_RO (View Policy Records) - PO_MODELRECORDS_APPROVAL (Approve Policy Records) - MODULECATEGORY_MO_RO (View Model in Module Category) - SC_COMPENSATIONS_RO (View Compensation Plans) ### Approve a Document - [POST /workflowsmanager.approve/{currentStepId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.approve-currentstepid.md): Approves a document specified by the currentStepId. Allows you to add a comment in the request body. ### Deny a Document - [POST /workflowsmanager.deny/{currentStepId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.deny-currentstepid.md): Denies a document specified by the currentStepId. Allows you to add a comment in the request body. ### Withdraw a Document - [POST /workflowsmanager.withdraw/{currentStepId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.withdraw-currentstepid.md): Withdraws the document from the approval workflow (specified by the currentStepId). ### Add an Approver Step - [POST /workflowsmanager.addapprover/{currentStepId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.addapprover-currentstepid.md): Adds an approver step to the workflow (specified by the currentStepId). ### Add a Watcher Step - [POST /workflowsmanager.addwatcher/{currentStepId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-workflowsmanager.addwatcher-currentstepid.md): Adds a watcher step to the workflow (specified by the currentStepId). ### Update a Review Status - [POST /review.update/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-review.update-typedid.md): > This feature is experimental in version 14.0 - Caribou Lou. Updates the review status of the specified line items in the Review step of the Collaboration Workflow. The request can only be executed by a member of the User Group that is currently authorized to review the associated input fields, as defined in the Creation Workflow configuration. If the user does not have the required permissions, the request will fail. ### Set a Review as Done - [POST /review.done/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-review.done-typedid.md): > This feature is experimental in version 14.0 - Caribou Lou. Completes the review of line items in the Review step of the Collaboration workflow. Only members of the User Group currently authorized by the Creation Workflow configuration can execute this request; otherwise, the request will fail. ### Fetch Pending Reviews - [POST /review.fetchpendingreviews](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow/post-review.fetchpendingreviews.md): Fetches a list of pending collaboration workflow reviews for the current user. ## Workflow Delegation ### Create a Workflow Delegation - [POST /workflowdelegationmanager.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.add.md): Adds a new delegation record. Allows you to assign approval rights to another user and set the time period in which the delegation should be active. > Use the /workflowdelegationmanager.checkdates (Validate a Workflow Delegation) endpoint to ensure that all provided dates are valid and there are no conflicts. ### List Delegated Workflows - [POST /workflowdelegationmanager.fetch](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.fetch.md): Retrieves a list of workflow delegations. A filter can be applied to return Initialized, Activated, or EndDated workflow delegations only. See the example below. The Filter Example: Returns only active delegations (status = ACTIVATED.) json { "data":{ "_constructor":"AdvancedCriteria", "operator":"and", "criteria":[ { "fieldName":"status", "operator":"equals", "value":"ACTIVATED" } ] } } ### Validate a Workflow Delegation - [POST /workflowdelegationmanager.checkdates](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.checkdates.md): Checks delegation for conflicts. Always use this operation before /workflowdelegationmanager.add to prevent invalid date conflicts in the new delegation. Use the same payload as for the /workflowdelegationmanager.add operation. ### Delete a Workflow Delegation - [POST /workflowdelegationmanager.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.delete.md): Deletes a delegation and returns the deleted delegation details. >A delegation where status = ACTIVATED cannot be deleted. Only delegations that have not been activated yet (startDate is in the future) can be deleted. Use the /workflowdelegationmanager.enddate endpoint to terminate an activated workflow delegation. ### Update a Workflow Delegation - [POST /workflowdelegationmanager.update](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.update.md): Allows you to update a workflow delegation's note. Returns updated delegation details. ### Deactivate a Workflow Delegation - [POST /workflowdelegationmanager.enddate](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/workflow-delegation/post-workflowdelegationmanager.enddate.md): Terminates an activated workflow delegation. Returns details of the terminated workflow delegation. ## Configuration ### Get External Application Properties - [GET /configurationmanager.getexternalappproperties](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/configuration/get-configurationmanager.getexternalappproperties.md): Retrieves all pfxExternalApp objects (as specified in Administration > Configuration > System Configuration > Advanced Configuration Options by the pfxExternalApp_ prefix. ## Internationalization ### List Internationalization Messages - [POST /i18nmanager.fetchWithExtraData](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/internationalization/post-i18nmanager.fetchwithextradata.md): Retrieves internationalization messages. Each i18n message contains key, value, and overriddenValue. Required roles - I18NADMIN - SUPPORT ### Delete Internationalization Messages - [POST /i18nmanager.deleteKeys](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/internationalization/post-i18nmanager.deletekeys.md): Deletes the specified internationalization messages. Required roles - I18NADMIN - SUPPORT ### Add a New Internationalization Message - [POST /i18nmanager.put](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/internationalization/post-i18nmanager.put.md): Adds overridden internationalization messages to the existing collection. Required roles - I18NADMIN - SUPPORT ## Metadata ### List Entity Fields - [POST /metadata.describe/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/metadata/post-metadata.describe-typecode.md): Retrieves information (data type, maximum length, possible values, whether the field is required, etc.) about fields of the specified entity. ### List Attribute Fields' Metadata - [POST /metadata.fetch/{TypeCode}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/metadata/post-metadata.fetch-typecode.md): Retrieves metadata of attribute fields. ## Comments ### Add a Comment - [POST /commentmanager.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.add.md): Adds a comment to the specified object. ### Reply To a Comment - [POST /commentmanager.reply](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.reply.md): Posts a reply to the comment specified by the commentThreadTypedId in the request body. ### Delete a Comment - [POST /commentmanager.delete/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.delete.md): Deletes an existing Comment or CommentThread. If the CommentThread contains only one comment, the whole CommentThread is deleted. If the CommentThread is deleted, all related Comments are hard deleted. ### List Comment Threads - [POST /commentmanager.fetchthreads/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.fetchthreads-typedid.md): Retrieves comment threads associated with the specified object. An empty request body returns all comment threads. To narrow down returned comment threads, employ a filter in the request body (see the request example). ### Resolve a Comment - [POST /commentmanager.resolve/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.resolve-typedid.md): Resolves a comment thread. ### Unresolve a Comment - [POST /commentmanager.unresolve/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.unresolve-typedid.md): Unresolves a previously resolved comment thread. ### Edit a Comment - [POST /commentmanager.edit/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/comments/post-commentmanager.edit-typedid.md): Edits the comment specified as the path param. Replaces the comment with the text provided in the request body. With each edit, the version number is incremented by 1. The comment metadata includes timestamps for creation and last update, along with the author of each change. If a reply is added to a resolved thread, the thread automatically changes to an unresolved state. ## Notifications ### Send a Validation Message - [POST /notification.send](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/notifications/post-notification.send.md): Sends a validation message (e.g., api.throwException, api.redAlert, etc.) from the validation of calculation logics in CLIC documents (Quotes, Agreements & Promotions (Contracts), Rebate Agreements, Compensation Plans) to the Notification Center (Notification API). See the App Notifications article for more details. ### List Notifications - [POST /notification.list](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/notifications/post-notification.list.md): Retrieves all notifications. A filter can be applied. See the App Notifications article for more details. ### Mark as Read - [POST /notification.setread](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/notifications/post-notification.setread.md): Sets the specifed notification as as read. See the App Notifications article for more details. ### Delete a Notification - [POST /notification.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/notifications/post-notification.delete.md): Deletes a specified notification. See the App Notifications article for more details. ## Heartbeat ### List Tasks - [POST /heartbeat.fetchtasks](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/heartbeat/post-heartbeat.fetchtasks.md): Retrieves a list of tasks to be handled by the heartbeat service. >This endpoint is disabled via backgroundWorkers.enableRemoteManagement by default. ## Key-Value Store See the [Key-Value Database Storage Knowledge Base](https://knowledge.pricefx.com/space/KB/3130624547/Key-Value+Database+Storage) article for more details. ### Create a KV Table - [POST /kvservice.createtable/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.createtable.md): Creates a table in the Key-Value Database Storage. ### Drop a KV Table - [POST /kvservice.droptable/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.droptable.md): Drops (deletes) a table in the Key-Value Database Storage. ### List KV Tables - [GET /kvservice.listtables](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/get-kvservice.listtables.md): Retrieves a list of tables in the Key-Value Database. ### Insert Bulk KV Data - [POST /kvservice.loaddata/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.loaddata-tablename.md): Inserts bulk data to the Key-Value Store. Existing Primary Key combos are overwritten automatically. This is the only command where you explicitly have to specify the automatic “payload” column. While technically you could put any text into that column, other endpoints and Groovy perform JSON conversions (e.g. return a proper map) when you perform key lookups. So inserting a valid JSON into payload is highly recommended! ### Search a KV Table - [POST /kvservice.fetch/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.fetch-tablename.md): Returns records that match the search criteria. ### Upsert a Key - [POST /kvservice.putkey/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.putkey.md): Inserts a new key to the table or updates the existing one. ### Get a Table Info - [GET /kvservice.describetable/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/get-kvservice.describetable-tablename.md): Retrieves primary keys, column names, column types, and indexes of the specified table. ### Get a Key - [POST /kvservice.fetchkey/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.fetchkey-tablename.md): Retrieves the payload from the table with the specified key. The request must contain key/value pairs for all primary keys as defined in table. ### Count Keys - [GET /kvservice.count/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/get-kvservice.count-tablename.md): Retrieves the number of keys in the specified table. ### Truncate a Table - [GET /kvservice.truncate/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/get-kvservice.truncate-tablename.md): Truncates the table; removes all key values from the table. Table structure (primary keys, columns, indexes) remains. ### Delete a Key - [POST /kvservice.removekey/{tableName}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/key-value-store/post-kvservice.removekey-tablename.md): Removes a value based on the primary key match – the request must contain all table's primary keys (see the request example).