Harness Replication API

The Replication API from Harness — 6 operation(s) for replication.

Operations 9

GET /har/api/v1/replication/rules List replication rules #
POST /har/api/v1/replication/rules Create a replication rule #
DELETE /har/api/v1/replication/rules/{id} Delete a replication rule #
GET /har/api/v1/replication/rules/{id} Get a replication rule #
PUT /har/api/v1/replication/rules/{id} Update a replication rule #
GET /har/api/v1/replication/rules/{id}/migration/images List migration images #
GET /har/api/v1/replication/rules/{id}/migration/images/{image_id}/logs Get migration logs for an image #
POST /har/api/v1/replication/rules/{id}/migration/start Start migration #
POST /har/api/v1/replication/rules/{id}/migration/stop Stop migration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harness-replication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harness-replication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Replication API
  version: '1.0'
  description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0.
  contact:
    name: API Support
    email: contact@harness.io
    url: https://harness.io/
  x-logo:
    url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook
    altText: Harness
  termsOfService: https://harness.io/terms-of-use/
servers:
- url: https://app.harness.io
  description: Harness host URL
- url: https://{vanity}
  description: Vanity URL
  variables:
    vanity:
      default: app.harness.io
security:
- x-api-key: []
tags:
- name: Replication
paths:
  /har/api/v1/replication/rules:
    get:
      description: List all replication rules
      operationId: listReplicationRules
      parameters:
      - $ref: '#/components/parameters/spaceRefQueryParam'
      responses:
        '200':
          $ref: '#/components/responses/ListReplicationRuleResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: List replication rules
      tags:
      - Replication
    post:
      operationId: createReplicationRule
      parameters:
      - $ref: '#/components/parameters/spaceRefQueryParam'
      requestBody:
        $ref: '#/components/requestBodies/ReplicationRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/ReplicationRuleResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Create a replication rule
      tags:
      - Replication
  /har/api/v1/replication/rules/{id}:
    delete:
      operationId: deleteReplicationRule
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Delete a replication rule
      tags:
      - Replication
    get:
      operationId: getReplicationRule
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ReplicationRuleResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Get a replication rule
      tags:
      - Replication
    put:
      operationId: updateReplicationRule
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        $ref: '#/components/requestBodies/ReplicationRuleRequest'
      responses:
        '200':
          $ref: '#/components/responses/ReplicationRuleResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Update a replication rule
      tags:
      - Replication
  /har/api/v1/replication/rules/{id}/migration/images:
    get:
      description: List migration images given an id
      operationId: listMigrationImages
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/RegistrypageNumber'
      - $ref: '#/components/parameters/RegistrypageSize'
      - $ref: '#/components/parameters/RegistrysortOrder'
      - $ref: '#/components/parameters/sortField'
      responses:
        '200':
          $ref: '#/components/responses/ListMigrationImageResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: List migration images
      tags:
      - Replication
  /har/api/v1/replication/rules/{id}/migration/images/{image_id}/logs:
    get:
      operationId: getMigrationLogsForImage
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      - in: path
        name: image_id
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/PlainTextResponse'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Get migration logs for an image
      tags:
      - Replication
  /har/api/v1/replication/rules/{id}/migration/start:
    post:
      description: Start migration given an id
      operationId: startMigration
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Start migration
      tags:
      - Replication
  /har/api/v1/replication/rules/{id}/migration/stop:
    post:
      description: Stop migration given an id
      operationId: stopMigration
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/Success'
        '400':
          $ref: '#/components/responses/RegistryBadRequest'
        '401':
          $ref: '#/components/responses/RegistryUnauthenticated'
        '403':
          $ref: '#/components/responses/RegistryUnauthorized'
        '404':
          $ref: '#/components/responses/RegistryNotFound'
        '500':
          $ref: '#/components/responses/RegistryInternalServerError'
      summary: Stop migration
      tags:
      - Replication
components:
  responses:
    RegistryUnauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: Access denied due to insufficient permissions
    RegistryUnauthenticated:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: Authentication failed or missing credentials
    RegistryBadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: The request was invalid or malformed
    RegistryNotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: The requested resource was not found
    RegistryInternalServerError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RegistryError'
      description: An unexpected server error occurred
    Success:
      content:
        application/json:
          schema:
            properties:
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            type: object
      description: Generic success response
    ListMigrationImageResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ListMigrationImage'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: Response for list migration images
    ListReplicationRuleResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ListReplicationRule'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: Response for list replication rules
    ReplicationRuleResponse:
      content:
        application/json:
          schema:
            properties:
              data:
                $ref: '#/components/schemas/ReplicationRule'
              status:
                $ref: '#/components/schemas/RegistryStatus'
            required:
            - status
            - data
            type: object
      description: Response for replication rule update
    PlainTextResponse:
      content:
        text/plain; charset=utf-8:
          schema:
            example: Hello, world!
            type: string
      description: A plain text response
  schemas:
    ListMigrationImage:
      description: A list of migration images
      properties:
        images:
          description: A list of Artifact versions
          items:
            $ref: '#/components/schemas/MigrationImage'
          type: array
        itemCount:
          description: The total number of items
          example: 1
          format: int64
          type: integer
        pageCount:
          description: The total number of pages
          example: 100
          format: int64
          type: integer
        pageIndex:
          description: The current page
          example: 0
          format: int64
          type: integer
        pageSize:
          description: The number of items per page
          example: 1
          type: integer
      required:
      - pageCount
      - itemCount
      - pageSize
      - pageIndex
      - images
      type: object
    JfrogReplicationRegistry:
      properties:
        namespace:
          type: string
        passwordSecretId:
          type: string
        passwordSecretSpaceId:
          type: string
        url:
          format: uri
          type: string
        username:
          type: string
      required:
      - url
      - namespace
      type: object
    ListReplicationRule:
      description: A list of replication rules
      properties:
        itemCount:
          description: The total number of items
          example: 1
          format: int64
          type: integer
        pageCount:
          description: The total number of pages
          example: 100
          format: int64
          type: integer
        pageIndex:
          description: The current page
          example: 0
          format: int64
          type: integer
        pageSize:
          description: The number of items per page
          example: 10
          type: integer
        rules:
          description: A list of Replication Rules
          items:
            $ref: '#/components/schemas/ReplicationRule'
          type: array
      required:
      - pageCount
      - itemCount
      - pageSize
      - pageIndex
      - rules
      type: object
    RegistryStatus:
      description: Request processing status indicator
      enum:
      - SUCCESS
      - FAILURE
      - ERROR
      type: string
    ReplicationRule:
      properties:
        allowedPatterns:
          items:
            type: string
          type: array
        blockedPatterns:
          items:
            type: string
          type: array
        createdAt:
          type: string
        destination:
          $ref: '#/components/schemas/ReplicationRegistry'
        destinationType:
          enum:
          - Local
          - Jfrog
          - GCP
          type: string
        identifier:
          type: string
        modifiedAt:
          type: string
        parentRef:
          type: string
        source:
          $ref: '#/components/schemas/ReplicationRegistry'
        sourceType:
          enum:
          - Local
          - Jfrog
          - GCP
          type: string
      required:
      - identifier
      - source
      - destination
      - sourceType
      - destinationType
      - allowedPatterns
      - blockedPatterns
      - parentRef
      - modifiedAt
      - createdAt
      type: object
    LocalReplicationRegistry:
      properties:
        registryIdentifier:
          type: string
      required:
      - registryIdentifier
      type: object
    MigrationImage:
      properties:
        imageId:
          type: string
        imageTag:
          type: string
        progress:
          type: integer
        status:
          type: string
      type: object
    RegistryError:
      description: Standard error response with code, message and optional details
      properties:
        code:
          description: The HTTP error code
          example: '404'
          type: string
        details:
          description: 'Additional context and details about the error.

            May include field-specific validation errors or debugging information.

            '
          example:
            field: registry_identifier
            reason: Registry does not exist in the specified project
            value: invalid-registry
          type: object
        message:
          description: Human-readable error message explaining what went wrong
          example: Registry not found
          type: string
      required:
      - code
      - message
      type: object
    ReplicationRegistry:
      oneOf:
      - $ref: '#/components/schemas/LocalReplicationRegistry'
      - $ref: '#/components/schemas/JfrogReplicationRegistry'
    ReplicationRuleRequest:
      properties:
        allowedPatterns:
          items:
            type: string
          type: array
        blockedPatterns:
          items:
            type: string
          type: array
        destination:
          $ref: '#/components/schemas/ReplicationRegistry'
        destinationType:
          enum:
          - Local
          - Jfrog
          - GCP
          type: string
        source:
          $ref: '#/components/schemas/ReplicationRegistry'
        sourceType:
          enum:
          - Local
          - Jfrog
          - GCP
          type: string
      required:
      - source
      - destination
      - sourceType
      - destinationType
      - allowedPatterns
      - blockedPatterns
      type: object
  parameters:
    spaceRefQueryParam:
      description: 'Reference to the scope in which the registry exists.

        '
      in: query
      name: space_ref
      schema:
        type: string
    RegistrysortOrder:
      description: sortOrder
      in: query
      name: sort_order
      schema:
        type: string
    RegistrypageSize:
      description: Number of items per page
      in: query
      name: size
      schema:
        default: 20
        format: int64
        type: integer
    sortField:
      description: sortField
      in: query
      name: sort_field
      schema:
        type: string
    RegistrypageNumber:
      description: Current page number
      in: query
      name: page
      schema:
        default: 1
        format: int64
        type: integer
  requestBodies:
    ReplicationRuleRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReplicationRuleRequest'
      description: request for create and update replication rule
  securitySchemes:
    x-api-key:
      name: x-api-key
      type: apiKey
      in: header
      description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint.
externalDocs:
  description: Find out more about Swagger
  url: http://swagger.io
x-stoplight:
  id: oc91t4vrfnjyi
x-tagGroups:
- name: Organizations
  tags:
  - Organization
- name: Projects
  tags:
  - Org Project
  - Project
- name: Secrets
  tags:
  - Account Secret
  - Org Secret
  - Project Secret
  - Secrets
- name: Connectors
  tags:
  - Account Connector
  - Org Connector
  - Project Connector
  - Connectors
  - GoogleSecretManagerConnector
- name: Roles
  tags:
  - Account Roles
  - Organization Roles
  - Project Roles
  - Roles
- name: Resource Groups
  tags:
  - Account Resource Groups
  - Organization Resource Groups
  - Project Resource Groups
  - Filter Resource Groups
  - Harness Resource Group
  - Zendesk
- name: Role Assignments
  tags:
  - Account Role Assignments
  - Org Role Assignments
  - Project Role Assignments
  - Role Assignments
- name: Platform
  tags:
  - Access Control List
  - Account Banner
  - Account Banner
  - Account Licensed Modules
  - Account License Type
  - Account Webhooks
  - AccountSetting
  - Accounts
  - Analyze Account Access Policy
  - Analyze Organization Access Policy
  - Analyze Project Access Policy
  - ApiKey
  - Audit
  - AuditFilters
  - Authentication Settings
  - Canny
  - Devops Essentials License Data By Account
  - EULA
  - Filter
  - Harness Resource Type
  - Invite
  - IP Allowlist
  - Nextgen Ldap
  - Notification Channels
  - Notification Rules
  - OIDC
  - Oidc-Access-Token
  - Oidc-ID-Token
  - Org Webhooks
  - Permissions
  - Project Webhooks
  - Secret Managers
  - Service Account
  - Setting
  - SMTP
  - Source Code Manager
  - Token
  - User
  - User Group
  - Variables
- name: Delegate
  tags:
  - Agent mTLS Endpoint Management
  - Delegate Download Resource
  - Delegate Group Tags Resource
  - Delegate Setup Resource
  - Delegate Token Resource
- name: Pipelines
  tags:
  - Pipelines
  - Input Sets
  - Approvals
  - Pipeline Execution
  - Pipeline Dashboard
  - Pipeline Input Set
  - Pipeline
  - Pipeline Execution Details
  - Pipeline Execute
  - Pipeline Refresh
  - Pipeline data retention
  - Triggers
  - TriggersEvents
  - Webhook Triggers
  - Webhook Event Handler
  - DryRunPipeline
- name: Artifact Registry
  tags:
  - Registries
  - Artifacts
  - Docker Artifacts
  - Helm Artifacts
  - quarantine
  - Webhooks
  - Spaces
  - Replication
  - Registry V3 - Registries
  - Registry V3 - Packages
  - Registry V3 - Versions
  - Registry V3 - Files
  - Registry V3 - Metadata
  - Registry V3 - Firewall
  - Registry V3 - Transfer
- name: Database DevOps
  tags:
  - Database Schema
  - Database Instance
  - Deployed State
  - Execution Config
  - Migration State
- name: CD
  tags:
  - K8s Release Service Mapping
  - CustomDeployment
  - Environments
  - EnvironmentGroup
  - Infrastructures
  - Usage
  - File Store
  - Service Dashboard
  - ServiceOverrides
  - Rollback
  - tas
- name: Deployment Freeze
  tags:
  - Freeze CRUD
  - Freeze Evaluation
  - Freeze Schema
- name: Services
  tags:
  - Account Services
  - Org Services
  - Project Services
  - Services
- name: Rancher Infrastructures
  tags:
  - Account Rancher Infrastructure
  - Org Rancher Infrastructure
  - Project Rancher Infrastructure
- name: Templates
  tags:
  - Account Template
  - Org Template
  - Project Template
  - Templates
  - Global Templates
- name: GitOps
  tags:
  - Agents
  - Application
  - Applications
  - Certificates
  - Clusters
  - Dashboard Aggregates
  - Dashboards
  - GnuPGP Keys
  - GPG Keys
  - Hosts
  - Project mappings
  - Projects
  - Reconciler
  - Repositories
  - Repository Certificates
  - Repository credentials
  - ValidateHost
- name: GitX
  tags:
  - GitX Webhooks
  - Org Gitx Webhooks
  - Project Gitx Webhooks
- name: CACM
  tags:
  - Anomalies Ignorelist Rule
  - Anomalies
  - BI Dashboards
  - Budgets
  - Budget Groups
  - Cost Categories
  - Cloud Accounts
  - K8S Connectors Metadata
  - Notification Settings v2
  - Overview
  - Data Job Status
  - Recommendation cost settings
  - Unit Metric
  - Anomaly Comments
  - Cloud and AI cost anomaly details
  - Cloud and AI cost anomalies v2
  - Cost Details
  - Currency Preferences
  - External Data Provider
  - AiEngine
  - CACM governance cost settings
  - Governance Enforcement Recommendation APIs
  - Governance Alert
  - Governance Overview
  - Governance Recommendation APIs
  - RuleEnforcement
  - Rule Executions
  - Rule
  - Rule Sets
  - Perspectives Folders
  - Perspective Reports
  - Perspectives
  - Cost Category Jira Project Mapping
  - Recommendations Details
  - Recommendations
  - Recommendation Jira
  - Recommendation Preferences
  - Recommendation Presets
  - Recommendation Servicenow
  - Recommendation Tags
  - Recommendation Ignore List
  - AutoStopping Rules
  - AutoStopping Rules V2
  - AutoStopping Load Balancers
  - AutoStopping Fixed Schedules
  - AutoStopping Alerts
  - Commitment Orchestrator Events APIs
- name: Feature Flags
  tags:
  - API Keys
  - Feature Flags
  - Targets
  - Target Groups
  - Environment Perspectives
  - Anomalies
  - Proxy
  - Tags
- name: SRM
  tags:
  - Monitored Services
  - SLOs dashboard
  - NG SLOs
  - SLOs
  - Downtime
  - Srm Notification
- name: Internal Developer Portal - IDP
  tags:
  - Entities
  - Teams
  - CatalogCustomProperties
  - Scores
  - DataSource
  - KubernetesDataPoints
  - AggregationRules
  - AppConfig
  - PluginInfo
  - LayoutProxy
  - Kinds
  - LayoutsV3
  - LayoutsV4
- name: Environment Management - IDP
  tags:
  - Environment
  - Infrastructure
  - Instance
- name: Custom Dashboards
  tags:
  - aida
  - dashboards
  - downloads
  - embed
  - folders
- name: Policy Management
  tags:
  - dashboard
  - examples
  - policies
  - evaluate
  - evaluations
  - policysets
  - system
- name: Code
  tags:
  - repository
  - status_checks
  - pullreq
  - upload
  - webhook
  - resource
  - rules
  - labels
- name: IaCM
  tags:
  - usage
  - approvals
  - costs
  - executions
  - module-registry
  - workspaces
  - settings
  - tf-standard-backend
  - variables
- name: STO
  tags:
  - Exemptions
  - Issues
  - Scans
  - Products
  - Test Targets
  - Target Variants
- name: SEI
  tags:
  - Collection categories
  - Collections
  - Contributors
  - DORA
- name: Git Sync (deprecated)
  tags:
  - Git Branches
  - Git Full Sync
  - Git Sync Settings
  - Git Sync
  - Git Sync Errors
- name: Error Models
  tags:
  - Error Response
  - Governance Metadata
- name: Supply Chain Security
  tags:
  - integration
  - PipelineInfraConfig
  - SBOM
  - Integration Step Config
  - Delete Step Config
  - Delete Repositories
  - Pipeline Store Config
  - Evidence Vault [Beta]
- name: Release Management
  tags:
  - Release Groups
  - Releases
  - Orchestration Processes
  - Orchestration Activities
  - Orchestration Executions
  - Conflicts
  - Freeze
  - Reports
  - Uploads
- name: Resilience Testing
  tags:
  - Actions
  - Action Templates
  - Chaos Components
  - Chaos Hubs
  - ChaosGuard Conditions
  - ChaosGuard Rules
  - DR Tests
  - Experiments
  - Experiment Templates
  - Faults
  - Fault Templates
  - Chaos Infrastructure
  - Health
  - Network Maps
  - Onboarding
  - Probes
  - Probe Templates
  - Chaos Recommendations
  - Risks