# Create a new replication policy Creates a new replication policy with transfer rates, schedule, and time window configuration. ## Endpoint **POST** `/dcapi/som/replication-policies` ## Request URL ```text https://{server-hostname}:8383/dcapi/som/replication-policies ``` ## Scope ```text SOM.CREATE ``` ## Header ```text Authorization: d92d4xxxxxxxxxxxxx15f52 ``` ## Request Parameters ### Request Headers - **Content-Type** `string` **Mandatory**: `application/replicationPolicyDetails.v1+json` - **Accept** `string` **Mandatory**: `application/replicationPolicyAddStatus.v1+json` ### 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 ```bash curl --request POST \ --url https://appdomain/dcapi/som/replication-policies \ --header 'Accept: application/replicationPolicyAddStatus.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 Create 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 was created successfully - **message** `string`: Descriptive message confirming creation or explaining the reason for failure (e.g., 'Replication policy - Business Hours Only has been created successfully') - **data** `JSON Object`: Contains the identifier of the newly created replication policy ### 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 - **412**: HTTP code ## Sample Response: HTTP 200 Policy created ```json { "data": { "replicationPolicyID": 5 }, "message": "Replication policy - Business Hours Only has been created successfully", "status": true } ``` ## Sample Response: 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 ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **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.