---
updatedAt: 2026-03-31T06:02:31.000Z
agentTools:
  siteIndex: https://docs.jfrog.com/llms.txt
  projectIndex: https://docs.jfrog.com/artifactory/llms.txt
---

# Pull/Push Replication

Schedules immediate content replication between two Artifactory instances. Replication can optionally include properties and delete items if they do not exist in the source repository. Pull Replication - pulls content from a remote Artifactory repository to a local cache of the remote repository. Push Replication - pushes content from a local repository into a local repository of another Artifactory instance. Multi-push Replication - pushes content from a local repository into a local repository of several Artifactory instances (Enterprise only). The type of replication initiated depends on the type of repository specified in the repoPath parameter. If repoPath is a local repository, a push replication will be triggered. If repoPath is a remote repository cache, a pull replication will be triggered. If no repositories are provided in the payload, Artifactory will trigger all existing replication configurations.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "JFrog Artifactory Repository Replication API",
    "description": "REST API for managing repository replication in JFrog Artifactory",
    "version": "1.0.0",
    "contact": {
      "name": "JFrog Support"
    }
  },
  "servers": [
    {
      "url": "https://{jfrog_url}/artifactory/api",
      "description": "JFrog Platform",
      "variables": {
        "jfrog_url": {
          "default": "myserver.jfrog.io",
          "description": "Your JFrog Platform hostname (e.g., mycompany.jfrog.io)"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Repository Replication",
      "description": "Repository replication management operations"
    }
  ],
  "paths": {
    "/replication/execute/{repoPath}": {
      "post": {
        "tags": [
          "Repository Replication"
        ],
        "summary": "Pull/Push Replication",
        "description": "Schedules immediate content replication between two Artifactory instances. Replication can optionally include properties and delete items if they do not exist in the source repository. Pull Replication - pulls content from a remote Artifactory repository to a local cache of the remote repository. Push Replication - pushes content from a local repository into a local repository of another Artifactory instance. Multi-push Replication - pushes content from a local repository into a local repository of several Artifactory instances (Enterprise only). The type of replication initiated depends on the type of repository specified in the repoPath parameter. If repoPath is a local repository, a push replication will be triggered. If repoPath is a remote repository cache, a pull replication will be triggered. If no repositories are provided in the payload, Artifactory will trigger all existing replication configurations.",
        "operationId": "executePullPushReplication",
        "parameters": [
          {
            "name": "repoPath",
            "in": "path",
            "description": "Repository path (local repository for push, remote repository cache for pull)",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1
            }
          },
          {
            "name": "strategy",
            "in": "query",
            "description": "Replication strategy to use",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "description": "Array of replication targets. If omitted, all existing replication configurations will be triggered.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReplicationRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Replication executed successfully"
          },
          "400": {
            "description": "Bad Request - The request body is malformed or a required parameter is missing.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Bad Credentials - Authentication failed. A valid token is required.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Permission Denied - The user does not have the necessary permissions to perform this action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "description": "Standard JFrog error envelope",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "status": {
                  "type": "integer"
                },
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ReplicationRequest": {
        "type": "object",
        "description": "Request object for executing immediate replication. All fields are optional for pull replication; url, username, password are needed only for push replication.",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the repository at the remote Artifactory instance. Used only by push replication."
          },
          "username": {
            "type": "string",
            "description": "Username at the remote Artifactory instance. Used only by push replication."
          },
          "password": {
            "type": "string",
            "description": "Password at the remote Artifactory instance. Used only by push replication."
          },
          "proxy": {
            "type": "string",
            "description": "Name of the proxy (if used) at the remote Artifactory instance. Used only by push replication."
          },
          "disableProxy": {
            "type": "boolean",
            "description": "When true, disables proxy usage for this replication"
          },
          "properties": {
            "type": "boolean",
            "description": "When true, properties of replicated artifacts will be synchronized also (default true)",
            "default": true
          },
          "delete": {
            "type": "boolean",
            "description": "When true, items that were deleted remotely will also be deleted locally (including properties metadata) (default false)",
            "default": false
          },
          "includePathPrefixPattern": {
            "type": "string",
            "description": "Include path prefix pattern for filtering artifacts to replicate"
          },
          "excludePathPrefixPattern": {
            "type": "string",
            "description": "Exclude path prefix pattern for filtering artifacts to replicate"
          },
          "checkBinaryExistenceInFilestore": {
            "type": "boolean",
            "description": "When true, enables distributed checksum storage. Requires Enterprise+ license."
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "JWT token authentication"
      },
      "basicAuth": {
        "type": "http",
        "scheme": "basic",
        "description": "Basic authentication"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    },
    {
      "basicAuth": []
    }
  ],
  "x-readme": {
    "explorer-enabled": false
  }
}
```