Harness · Schema

A gitops-agent

DevOpsGitOpsInternal Developer PortalLifecycleSoftware DeliveryCI/CDContinuous DeliveryContinuous Integration

Properties

Name Type Description
accountIdentifier string Account Identifier for the Entity.
projectIdentifier string Project Identifier for the Entity.
orgIdentifier string Organization Identifier for the Entity.
identifier string
name string
metadata object
description string
type object
createdAt object
lastModifiedAt object
tags object
health object
credentials object
version object
upgradeAvailable boolean
scope object
disasterRecoveryNode object
isPLG boolean Indicates if the agent is for PLG.
operator object
prefixedIdentifier string The scoped identifier of the agent. This is a combination of the account, org, project, and agent identifiers.
deletionInProgress boolean
View JSON Schema on GitHub

JSON Schema

harness-v1-agent-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-v1-agent-schema.json",
  "title": "A gitops-agent",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-agents-api-openapi.yml#/components/schemas/v1Agent",
  "type": "object",
  "properties": {
    "accountIdentifier": {
      "type": "string",
      "description": "Account Identifier for the Entity.",
      "title": "The ID of the Harness Account that this gitops-agent belongs to"
    },
    "projectIdentifier": {
      "type": "string",
      "description": "Project Identifier for the Entity.",
      "title": "The ID of the Harness Project that this gitops-agent belongs to"
    },
    "orgIdentifier": {
      "type": "string",
      "description": "Organization Identifier for the Entity.",
      "title": "The ID of the Harness Organization that this gitops-agent belongs to"
    },
    "identifier": {
      "type": "string",
      "title": "The gitops-server generated ID for this gitops-agent"
    },
    "name": {
      "type": "string",
      "title": "A human readable name for the gitops-agent"
    },
    "metadata": {
      "$ref": "#/$defs/v1AgentMetadata"
    },
    "description": {
      "type": "string",
      "title": "A human readable description for the gitops-agent"
    },
    "type": {
      "$ref": "#/$defs/v1AgentType"
    },
    "createdAt": {
      "$ref": "#/$defs/v1Time"
    },
    "lastModifiedAt": {
      "$ref": "#/$defs/v1Time"
    },
    "tags": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "title": "Tags that help organize gitops-agents"
    },
    "health": {
      "$ref": "#/$defs/v1AgentHealth"
    },
    "credentials": {
      "$ref": "#/$defs/v1AgentCredentials"
    },
    "version": {
      "$ref": "#/$defs/v1SemanticVersion"
    },
    "upgradeAvailable": {
      "type": "boolean",
      "title": "Indicates whether this agent has an upgrade available (i.e. the version of this gitops-agent is not the latest released)"
    },
    "scope": {
      "$ref": "#/$defs/v1AgentScope"
    },
    "disasterRecoveryNode": {
      "$ref": "#/$defs/v1DisasterRecoveryNode"
    },
    "isPLG": {
      "type": "boolean",
      "description": "Indicates if the agent is for PLG."
    },
    "operator": {
      "$ref": "#/$defs/v1AgentOperator"
    },
    "prefixedIdentifier": {
      "type": "string",
      "description": "The scoped identifier of the agent. This is a combination of the account, org, project, and agent identifiers."
    },
    "deletionInProgress": {
      "type": "boolean",
      "title": "Deletion in progress"
    }
  },
  "$defs": {
    "servicev1AppProjectMapping": {
      "type": "object",
      "properties": {
        "appProjMap": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/servicev1Project"
          }
        }
      }
    },
    "servicev1HealthStatus": {
      "type": "string",
      "enum": [
        "HEALTH_STATUS_UNSET",
        "HEALTHY",
        "UNHEALTHY"
      ],
      "default": "HEALTH_STATUS_UNSET"
    },
    "servicev1Project": {
      "type": "object",
      "properties": {
        "projectIdentifier": {
          "type": "string",
          "description": "Project Identifier for the Entity."
        },
        "orgIdentifier": {
          "type": "string",
          "description": "Organization Identifier for the Entity."
        },
        "autoCreateServiceEnv": {
          "type": "boolean",
          "description": "Enable automated creation of service,environment and cluster-env link. Defaults to false."
        }
      }
    },
    "v1AgentComponentHealth": {
      "type": "object",
      "properties": {
        "status": {
          "$ref": "#/$defs/servicev1HealthStatus"
        },
        "k8sError": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "v1AgentCredentials": {
      "type": "object",
      "properties": {
        "privateKey": {
          "type": "string"
        },
        "publicKey": {
          "type": "string"
        }
      }
    },
    "v1AgentHealth": {
      "type": "object",
      "properties": {
        "lastHeartbeat": {
          "type": "string",
          "format": "date-time",
          "title": "The last time the agent sent a HeartbeatRequest"
        },
        "argoRepoServer": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        },
        "argoAppController": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        },
        "argoRedisServer": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        },
        "harnessGitopsAgent": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        },
        "connectionStatus": {
          "$ref": "#/$defs/v1ConnectedStatus"
        },
        "argoAppSetController": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        },
        "argoHAProxy": {
          "$ref": "#/$defs/v1AgentComponentHealth"
        }
      }
    },
    "v1AgentMetadata": {
      "type": "object",
      "properties": {
        "namespace": {
          "type": "string",
          "title": "The k8s namespace that this agent resides in"
        },
        "highAvailability": {
          "type": "boolean",
          "title": "Whether or not this deployment should be deployed using deploy-ha.yaml"
        },
        "deployedApplicationCount": {
          "type": "integer",
          "format": "int32",
          "title": "Number of Deployed Applications"
        },
        "existingInstallation": {
          "type": "boolean",
          "title": "If the agent is running in an existing argo installation"
        },
        "mappedProjects": {
          "$ref": "#/$defs/servicev1AppProjectMapping"
        },
        "infraType": {
          "$ref": "#/$defs/v1ClusterInfraType"
        },
        "isNamespaced": {
          "type": "boolean"
        }
      }
    },
    "v1AgentOperator": {
      "type": "string",
      "enum": [
        "UNKNOWN",
        "ARGO",
        "FLAMINGO"
      ],
      "default": "UNKNOWN"
    },
    "v1AgentScope": {
      "type": "string",
      "enum": [
        "AGENT_SCOPE_UNSET",
        "ACCOUNT",
        "ORG",
        "PROJECT"
      ],
      "default": "AGENT_SCOPE_UNSET"
    },
    "v1AgentType": {
      "type": "string",
      "enum": [
        "AGENT_TYPE_UNSET",
        "CONNECTED_ARGO_PROVIDER",
        "MANAGED_ARGO_PROVIDER",
        "HOSTED_ARGO_PROVIDER"
      ],
      "default": "AGENT_TYPE_UNSET",
      "description": "AgentType is the type of agent. CONNECTED_ARGO_PROVIDER is deprecated and will be removed in a future release.\n\nPlease use type \"MANAGED_ARGO_PROVIDER\" to create your agents.\n\n\"MANAGED_ARGO_PROVIDER\" agents are user managed agents and \"HOSTED_ARGO_PROVIDER\" agents are Harness managed agents(these cannot be created by users directly)."
    },
    "v1ClusterInfraType": {
      "type": "string",
      "enum": [
        "UNSET",
        "OPENSHIFT"
      ],
      "default": "UNSET",
      "title": "Agent destination cluster type"
    },
    "v1ConnectedStatus": {
      "type": "string",
      "enum": [
        "CONNECTED_STATUS_UNSET",
        "CONNECTED",
        "DISCONNECTED"
      ],
      "default": "CONNECTED_STATUS_UNSET"
    },
    "v1DisasterRecoveryNode": {
      "type": "object",
      "properties": {
        "identifier": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/v1DisasterRecoveryType"
        }
      }
    },
    "v1DisasterRecoveryType": {
      "type": "string",
      "enum": [
        "UNKNOWN_TYPE",
        "PRIMARY",
        "SECONDARY"
      ],
      "default": "UNKNOWN_TYPE"
    },
    "v1SemanticVersion": {
      "type": "object",
      "properties": {
        "major": {
          "type": "string",
          "format": "int64"
        },
        "minor": {
          "type": "string",
          "format": "int64"
        },
        "patch": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "v1Time": {
      "type": "object",
      "properties": {
        "seconds": {
          "type": "string",
          "format": "int64",
          "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive."
        },
        "nanos": {
          "type": "integer",
          "format": "int32",
          "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive. This field may be limited in precision depending on context."
        }
      },
      "description": "Time is a wrapper around time.Time which supports correct\nmarshaling to YAML and JSON.  Wrappers are provided for many\nof the factory methods that the time package offers.\n\n+protobuf.options.marshal=false\n+protobuf.as=Timestamp\n+protobuf.options.(gogoproto.goproto_stringer)=false"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/harness-v1-agent"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.