# Add a Condition Type Creates a Condition Type record in the Compensation Condition Types table. Endpoint: POST /add/COCT Security: basic, X-PriceFx-jwt ## Request fields (application/json): - `data` (object) The CompensationConditionType object. The type code is COCT. Defines which logic will be used to calculate particular Compensation Condition Type and what parameters (in attributeX fields) will be available to the logic when it executes. Whether you use a different logic for various Compensation Condition Types or the same logic, depends on how much different the processes behind the various Compensation Condition Types are. - `data.uniqueName` (string) A unique identifier name, given by an implementation engineer. - `data.typedId` (string) - `data.label` (string) A name of the Compensation Condition Type, visible to business users when selecting a type of new line on a Compensation Plan. - `data.formulaName` (string,null) A compensation condition logic. This logic is used to calculate all following: - COLI – compensation line item – for draft / editable document - COLI – compensation line item – for approved/read-only document - COR – Compensation Record - `data.waterfallElement` (string,null) Stands for a name of a waterfall element which will contain the compensation money amount calculated by this compensation condition type. The actual usage of this setting is up to the implementation engineer who has to use this value then in another logic (e.g. in the Quote Line Item logic). - `data.createDate` (string) - `data.createdBy` (integer) - `data.lastUpdateDate` (string) - `data.lastUpdateBy` (integer) - `data.userGroupEdit` (string,null) - `data.userGroupViewDetails` (string,null) - `data.version` (integer) - `data.attribute1` (any) - `data.attribute2` (any) - `data.attribute3` (any) - `data.attribute4` (any) - `data.attribute5` (any) - `data.attribute6` (any) - `data.attribute7` (any) - `data.attribute8` (any) - `data.attribute9` (any) - `data.attribute10` (any) - `data.attribute11` (any) - `data.attribute12` (any) - `data.attribute13` (any) - `data.attribute14` (any) - `data.attribute15` (any) - `data.attribute16` (any) - `data.attribute17` (any) - `data.attribute18` (any) - `data.attribute19` (any) - `data.attribute20` (any) - `data.attribute21` (any) - `data.attribute22` (any) - `data.attribute23` (any) - `data.attribute24` (any) - `data.attribute25` (any) - `data.attribute26` (any) - `data.attribute27` (any) - `data.attribute28` (any) - `data.attribute29` (any) - `data.attribute30` (any) - `operationType` (string) ## Response 200 fields (application/json): - `response` (object) - `response.node` (string) - `response.data` (array) - `response.data.uniqueName` (string) A unique identifier name, given by an implementation engineer. - `response.data.typedId` (string) - `response.data.label` (string) A name of the Compensation Condition Type, visible to business users when selecting a type of new line on a Compensation Plan. - `response.data.formulaName` (string,null) A compensation condition logic. This logic is used to calculate all following: - COLI – compensation line item – for draft / editable document - COLI – compensation line item – for approved/read-only document - COR – Compensation Record - `response.data.waterfallElement` (string,null) Stands for a name of a waterfall element which will contain the compensation money amount calculated by this compensation condition type. The actual usage of this setting is up to the implementation engineer who has to use this value then in another logic (e.g. in the Quote Line Item logic). - `response.data.createDate` (string) - `response.data.createdBy` (integer) - `response.data.lastUpdateDate` (string) - `response.data.lastUpdateBy` (integer) - `response.data.userGroupEdit` (string,null) - `response.data.userGroupViewDetails` (string,null) - `response.data.version` (integer) - `response.data.attribute1` (any) - `response.data.attribute2` (any) - `response.data.attribute3` (any) - `response.data.attribute4` (any) - `response.data.attribute5` (any) - `response.data.attribute6` (any) - `response.data.attribute7` (any) - `response.data.attribute8` (any) - `response.data.attribute9` (any) - `response.data.attribute10` (any) - `response.data.attribute11` (any) - `response.data.attribute12` (any) - `response.data.attribute13` (any) - `response.data.attribute14` (any) - `response.data.attribute15` (any) - `response.data.attribute16` (any) - `response.data.attribute17` (any) - `response.data.attribute18` (any) - `response.data.attribute19` (any) - `response.data.attribute20` (any) - `response.data.attribute21` (any) - `response.data.attribute22` (any) - `response.data.attribute23` (any) - `response.data.attribute24` (any) - `response.data.attribute25` (any) - `response.data.attribute26` (any) - `response.data.attribute27` (any) - `response.data.attribute28` (any) - `response.data.attribute29` (any) - `response.data.attribute30` (any) - `response.status` (integer)