# Upserts Third Party Items (TPItems) in bulk This endpoint allows for bulk upserting of TPItems. ### Creating a TPItems The fields that are required to create a TPLocation are type and code ### Updating a TPItems include the query parameter, upsert=true When a validation error occurs, the entire request will fail. ### Additional Notes Processing the item changes can take up to 10 minutes to process due to the amount of background processing that needs to be done. Endpoint: POST /third-party/{syncId}/items Version: v3.0: 3.26.2.2 Security: Auth API User Token ## Path parameters: - `syncId` (string, required) ## Query parameters: - `upsert` (boolean) ## Request fields (application/json-patch+json): - `type` (string,null) arbitrary item type from the third party - `code` (string,null) - `alternateCode` (string,null) - `description` (string,null) - `canMapToRecipes` (boolean,null) - `canMapToTransactions` (boolean,null) - `parentCode` (string,null) Third Party's code for parent Third Party Item of this Third Party Item ## Response 201 fields (text/plain): - `id` (integer,null) - `code` (string,null) - `type` (string,null) arbitrary item type from the third party - `description` (string,null) - `createdAt` (string) - `updatedAt` (string) - `canMapToRecipes` (boolean) - `canMapToTransactions` (boolean) - `syncConfig` (object) ## Response 400 fields (text/plain): - `message` (string,null) - `code` (string,null) - `path` (array,null) - `locations` (array,null) - `locations.line` (integer) - `locations.column` (integer) - `exception` (string,null) - `extensions` (object,null) ## Response 500 fields (text/plain): - `message` (string,null) - `errors` (array,null) - `errors.extensions` (string,null) ## Response 429 fields