## Create Reason Codes `ReasonCodeCreateReasonCodesResponse ReasonCodes.CreateReasonCodes(ReasonCodeCreateReasonCodesParamsparameters, CancellationTokencancellationToken = default)` **post** `/api/v2/public/reasoncodes` Creates or updates reason codes. See request schema for required fields and enum details. ### Parameters - `ReasonCodeCreateReasonCodesParams parameters` - `required IReadOnlyList reasonCodes` Body param: List of reason codes to create or update. - `required Int? DefaultReviewStatus` Default review status value. Required. - `required Boolean? IsCommentMandatory` Indicates if comment is mandatory. Required. - `required Boolean? IsGain` Indicates if this is a gain reason code. Required. - `required Boolean? IsImageMandatory` Indicates if image is mandatory. Required. - `required Boolean? IsLoss` Indicates if this is a loss reason code. Required. - `required Boolean? IsOrderNumberMandatory` Indicates if order number is mandatory. Required. - `required Boolean? IsPickingList` Indicates if used for picking list. Required. - `required Boolean? IsSalesOrderDiscount` Indicates if used for sales order discount. Required. - `required Boolean? IsStore` Indicates if the reason code is store-visible. Required. - `required Int? ReasonCode` Reason code identifier. Required. - `required string ReasonCodeDescription` Reason code description. Required. Max length: 250. - `required ReasonCodeType? ReasonCodeType` Reason code type. 1=LossReasonCode, 2=RejectionReasonCode, 3=MovementReasonCode, 4=SalesOrderDiscountReasonCode, 5=LocationTags, 6=CountReasonCode, 7=GainLossReasonCode. - `11` - `22` - `33` - `44` - `55` - `66` - `77` - `string? CodeDescription` Optional additional code description. Max length: 500. - `Boolean flush` Query param: When true, existing reason codes are flushed before inserting. ### Returns - `class ReasonCodeCreateReasonCodesResponse:` Standard success response returned by mutation endpoints. - `string? Data` Optional data payload returned by the operation. - `string? Message` Human-readable message describing the result. - `Boolean Success` Indicates whether the operation completed successfully. ### Example ```csharp ReasonCodeCreateReasonCodesParams parameters = new() { ReasonCodes = [ new() { DefaultReviewStatus = 0, IsCommentMandatory = true, IsGain = false, IsImageMandatory = false, IsLoss = true, IsOrderNumberMandatory = false, IsPickingList = false, IsSalesOrderDiscount = false, IsStore = true, ReasonCode = 101, ReasonCodeDescription = "Damaged on arrival", ReasonCodeType = ReasonCodeType.1, CodeDescription = "Used when product arrives damaged", }, ], }; var response = await client.ReasonCodes.CreateReasonCodes(parameters); Console.WriteLine(response); ```