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 |
JSON Schema
{
"$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.
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.