# 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).