openapi: 3.2.0 info: title: Harness Reconciler 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: Reconciler paths: /gitops/api/v1/agents/{agentIdentifier}/autocreate-logs: get: summary: List auto-create logs description: Lists logs for auto-created resources (services, environments, cluster links). Supports filtering by import request ID, application set, or application name. operationId: ReconcilerService_ListAutoCreateLogs responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1ListAutoCreateLogsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/gatewayruntimeError' parameters: - name: agentIdentifier in: path required: true schema: type: string - name: accountIdentifier in: query required: false schema: type: string - name: orgIdentifier in: query required: false schema: type: string - name: projectIdentifier in: query required: false schema: type: string - name: importRequestId in: query required: false schema: type: string - name: appSetName in: query required: false schema: type: string - name: sinceTime in: query required: false schema: type: string format: int64 - name: limit in: query required: false schema: type: integer format: int32 - name: appName in: query required: false schema: type: string - name: skip in: query required: false schema: type: integer format: int32 tags: - Reconciler /gitops/api/v1/agents/{agentIdentifier}/reconcile/counts: post: summary: Collect entity counts on cluster via agent description: 'Returns number of entities that exist in the cluster on the agent. Filter can be used to count only global entities (with empty project) and those specified by the filter.' operationId: ReconcilerService_CollectCounts responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/reconcilerReconcileCountsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/gatewayruntimeError' parameters: - name: agentIdentifier description: Agent identifier for entity. in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity. in: query required: false schema: type: string - name: orgIdentifier description: Organization Identifier for the Entity. in: query required: false schema: type: string - name: projectIdentifier description: Project Identifier for the Entity. in: query required: false schema: type: string requestBody: $ref: '#/components/requestBodies/servicev1ReconcilerFilter' tags: - Reconciler /gitops/api/v1/agents/{agentIdentifier}/reconcile/import: post: summary: Import data from cluster via agent description: 'Imports data from cluster via agent. There must be at least one project mapping in the database. Returns number of entities imported.' operationId: ReconcilerService_ImportData responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/reconcilerReconcileCountsResponse' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/gatewayruntimeError' parameters: - name: agentIdentifier description: Agent identifier for entity. in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity. in: query required: false schema: type: string - name: orgIdentifier description: Organization Identifier for the Entity. in: query required: false schema: type: string - name: projectIdentifier description: Project Identifier for the Entity. in: query required: false schema: type: string requestBody: $ref: '#/components/requestBodies/servicev1ReconcilerFilter' tags: - Reconciler components: schemas: reconcilerReconcileCountsResponse: type: object properties: applicationCount: type: integer format: int32 clusterCount: type: integer format: int32 repositoryCount: type: integer format: int32 repositoryCertificateCount: type: integer format: int32 gnuPGPublicKeyCount: type: integer format: int32 repoCredsCount: type: integer format: int32 applicationSetCount: type: integer format: int32 applicationPerProjectCount: type: object additionalProperties: type: integer format: int32 applicationSetPerProjectCount: type: object additionalProperties: type: integer format: int32 clusterPerProjectCount: type: object additionalProperties: type: integer format: int32 repositoryPerProjectCount: type: object additionalProperties: type: integer format: int32 importRequestId: type: string title: ImportRequestId is the unique identifier for tracking auto-created resources during this import operation reconcileAppResponse: $ref: '#/components/schemas/reconcilerReconcileAppResponse' reconcilerAutoCreateCounts: type: object properties: serviceCount: type: integer format: int32 environmentCount: type: integer format: int32 clusterLinkCount: type: integer format: int32 title: AutoCreateCounts holds counts for auto-created resources servicev1ReconcilerFilter: type: object properties: projectNames: type: array items: type: string gatewayruntimeError: type: object properties: error: type: string code: type: integer format: int32 message: type: string details: type: array items: $ref: '#/components/schemas/protobufAny' v1ListAutoCreateLogsResponse: type: object properties: logs: type: array items: $ref: '#/components/schemas/v1AutoCreateLog' total: type: integer format: int32 successServices: type: integer format: int32 failedServices: type: integer format: int32 successEnvironments: type: integer format: int32 failedEnvironments: type: integer format: int32 successClusterLinks: type: integer format: int32 failedClusterLinks: type: integer format: int32 protobufAny: type: object properties: type_url: type: string description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." value: type: string format: byte description: Must be a valid serialized protocol buffer of the above specified type. description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" reconcilerReconcileAppResponse: type: object properties: autoCreateCounts: $ref: '#/components/schemas/reconcilerAutoCreateCounts' title: ReconcileAppResponse contains the response from application reconciliation v1AutoCreateLog: type: object properties: accountIdentifier: type: string orgIdentifier: type: string projectIdentifier: type: string resourceType: type: string resourceRef: type: string agentIdentifier: type: string status: type: string failureReason: type: string errorCode: type: string createdAt: type: string format: int64 application: $ref: '#/components/schemas/v1ApplicationInfo' v1ApplicationInfo: type: object properties: name: type: string orgIdentifier: type: string projectIdentifier: type: string parentAppSetName: type: string title: ApplicationInfo contains information about the application that triggered the auto-create requestBodies: servicev1ReconcilerFilter: content: application/json: schema: $ref: '#/components/schemas/servicev1ReconcilerFilter' required: true 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