# Update an existing replication policy Updates an existing replication policy with modified transfer rates, schedule, and time window configuration. ## Endpoint `PUT /dcapi/som/replication-policies/{replication_policy_id}` ## Request ### Request URL `https://{server-hostname}:8383/dcapi/som/replication-policies/{replication_policy_id}` ### Scope `SOM.UPDATE` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Content-Type** (string, Mandatory): `application/replicationPolicyDetails.v1+json` - **Accept** (string, Mandatory): `application/replicationPolicyUpdatedStatus.v1+json` #### Path Parameters - **replication_policy_id** (string, Mandatory): Unique identifier of the replication policy. Get the replication policy ID from the [Replication Policies](https://www.manageengine.com/products/desktop-central/help/api/onpremise/replication-policies-list-replication-policies.html) API response (`replicationPolicyID`). #### Request Body `application/json` JSON Object: - **policyName** (string, Optional): Administrator-defined display name for the replication policy (max 250 characters). - **description** (string, Optional): Optional administrator-provided description for the replication policy (max 1000 characters). - **replicationInterval** (string, Optional): Interval in minutes at which the Distribution Server syncs data with the central server. - **daysOfWeek** (string, Optional): Comma-separated day numbers when replication is active: 1=Sunday through 7=Saturday (e.g., `'2,3,4,5,6'` for weekdays only). - **windowStartTime** (string, Optional): Start time of the replication window in `HH:mm` format (e.g., `'08:00'`). Replication is allowed only between the start and end times. - **windowEndTime** (string, Optional): End time of the replication window in `HH:mm` format (e.g., `'18:00'`). Replication is allowed only between the start and end times. - **dataTransferRate** (string, Optional): WAN data transfer rate limit in Kbps. Set to 0 for unlimited bandwidth, or specify a value from: 16, 32, 64, 128, 256, 512, 1024, 2048, 3072, 4096, 5120, 6144, 7168, 8192. - **dataTransferRateLAN** (string, Optional): LAN data transfer rate limit in Kbps. Set to 0 for unlimited bandwidth, or specify a value from: 16, 32, 64, 128, 256, 512, 1024, 2048, 3072, 4096, 5120, 6144, 7168, 8192. ### Sample Request ```curl curl --request PUT \ --url https://appdomain/dcapi/som/replication-policies/{replication_policy_id} \ --header 'Accept: application/replicationPolicyUpdatedStatus.v1+json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/replicationPolicyDetails.v1+json' \ --data '{"windowStartTime":"09:00","policyName":"Business Hours Only","windowEndTime":"17:00","replicationInterval":30,"description":"Replicate only during business hours","dataTransferRate":256,"daysOfWeek":"1,2,3,4,5"}' ``` ### Sample Request Body Update a business-hours replication policy. ```json { "windowStartTime": "09:00", "policyName": "Business Hours Only", "windowEndTime": "17:00", "replicationInterval": 30, "description": "Replicate only during business hours", "dataTransferRate": 256, "daysOfWeek": "1,2,3,4,5" } ``` ## Response Parameters ### HTTP Code 200 Response Body: `application/json` JSON Object: - **status** (boolean): Indicates whether the replication policy update or deletion completed successfully. - **message** (string): Descriptive message confirming the operation or explaining the reason for failure (e.g., `'Replication policy - Business Hours Only has been updated successfully'`). ### HTTP Code 404 Response Body: `application/json` JSON Object: - **statusCode** (string): HTTP status code (404). - **errorCode** (string): Error code identifying the resource that was not found. - **message** (string): Error message describing the missing resource. ### HTTP Code 412 Response Body: `application/json` JSON Object: - **statusCode** (string): HTTP status code (412). - **errorCode** (string): Precondition failed error code identifying the business logic violation. - **message** (string): Error message describing the precondition failed while processing request. ## Possible Response Codes - `200` HTTP code - `404` HTTP code - `412` HTTP code ## Sample Responses ### HTTP 200 Policy updated. ```json { "message": "Replication policy - Business Hours Only has been updated successfully", "status": true } ``` ### HTTP 404 Replication policy not found. ```json { "errorCode": "30027", "message": "Replication policy does not exist", "statusCode": 404 } ``` ### HTTP 412 Required replication policy parameters are missing. ```json { "errorCode": "30090", "message": "Required replication policy parameters are missing", "statusCode": 412 } ``` Invalid replication interval or insufficient replication window. ```json { "errorCode": "30086", "message": "Invalid replication interval or insufficient replication window", "statusCode": 412 } ``` Replication policy with same name already exists. ```json { "errorCode": "30025", "message": "A replication policy with the same name already exists", "statusCode": 412 } ``` ## API Rate Limit **Duration:** 1 minute | **Threshold:** 30 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.