openapi: 3.2.0 info: title: Harness Project mappings 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: Project mappings paths: /gitops/api/v1/agents/{agentIdentifier}/appprojectsmapping: get: summary: Get Harness-Argo project mapping by agent description: GetAppProjectMappingListByAgent retrieves Harness-Argo project mappings list by agent. operationId: AppProjectMappingService_GetAppProjectMappingListByAgent responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/servicev1AppProjectMapping' 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 tags: - Project mappings post: summary: Create Harness-Argo project mapping description: Create creates Harness-Argo project mappings. operationId: AppProjectMappingService_Create responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Empty' 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/servicev1AppProjectMapping' tags: - Project mappings put: summary: Update Harness-Argo project mapping description: Update updates Harness-Argo project mappings. operationId: AppProjectMappingService_Update responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Empty' 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/servicev1AppProjectMapping' tags: - Project mappings /gitops/api/v1/agents/{agentIdentifier}/appprojectsmapping/{name}: delete: summary: Delete Harness-Arog project mapping description: Delete deletes Harness-Argo project mapping. operationId: AppProjectMappingService_Delete responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Empty' 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: name 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 tags: - Project mappings /gitops/api/v1/appprojectsmapping: get: summary: Get Harness-Argo project mappings description: GetAppProjectMappingList retrieves Harness-Argo project mappings list. operationId: AppProjectMappingService_GetAppProjectMappingList responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/servicev1AppProjectMapping' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/gatewayruntimeError' parameters: - name: agentIdentifier description: Agent identifier for entity. in: query required: false 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 tags: - Project mappings /gitops/api/v2/agents/{agentIdentifier}/appprojectsmapping: post: summary: Create Harness-Argo project mapping V2 description: CreateV2 creates Harness-Argo project mappings. operationId: AppProjectMappingService_CreateV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingV2' 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingCreateRequestV2' required: true tags: - Project mappings /gitops/api/v2/agents/{agentIdentifier}/appprojectsmapping/{identifier}: get: summary: Get Harness-Argo project mapping V2 description: GetAppProjectMappingV2 retrieves Harness-Argo project mapping for the given identifier. operationId: AppProjectMappingService_GetAppProjectMappingV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingV2' 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: identifier description: app project mapping identifier. 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 - name: argoProjectName in: query required: false schema: type: string - name: autoCreateServiceEnv description: Enable automated creation of service,environment and cluster-env link. Defaults to false. in: query required: false schema: type: boolean tags: - Project mappings delete: summary: Delete Harness-Argo project mapping description: DeleteV2 deletes Harness-Argo project mappings. operationId: AppProjectMappingService_DeleteV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1Empty' 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: identifier description: app project mapping identifier. 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 - name: argoProjectName description: Argo Project name for the Entity. in: query required: false schema: type: string tags: - Project mappings put: summary: Update Harness-Argo project mappings V2 description: UpdateV2 updates Harness-Argo project mappings. operationId: AppProjectMappingService_UpdateV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingV2' 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: identifier description: app project mapping identifier. in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingQueryV2' required: true tags: - Project mappings /gitops/api/v2/agents/{agentIdentifier}/appprojectsmappings: get: summary: Get Harness-Argo project mapping list by agent V2 description: GetAppProjectMappingsListByAgentV2 retrieves Harness-Argo project mappings list by agent. operationId: AppProjectMappingService_GetAppProjectMappingsListByAgentV2 responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingV2List' 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: identifier description: app project mapping identifier. in: query required: false 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 - name: argoProjectName in: query required: false schema: type: string - name: autoCreateServiceEnv description: Enable automated creation of service,environment and cluster-env link. Defaults to false. in: query required: false schema: type: boolean tags: - Project mappings /gitops/api/v2/appprojectsmapping: get: summary: Get Harness-Argo project mappings with pagination and search description: ListAppProjectMappings retrieves Harness-Argo project mappings list with pagination and search. operationId: AppProjectMappingService_ListAppProjectMappings responses: '200': description: A successful response. content: application/json: schema: $ref: '#/components/schemas/v1AppProjectMappingList' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/gatewayruntimeError' parameters: - name: agentIdentifier description: Agent identifier for entity. in: query required: false 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 - name: searchTerm in: query required: false schema: type: string - name: pageSize in: query required: false schema: type: integer format: int32 - name: pageIndex in: query required: false schema: type: integer format: int32 tags: - Project mappings components: schemas: v1AppProjectMappingList: type: object properties: content: type: array items: $ref: '#/components/schemas/servicev1AppProject' totalPages: type: integer format: int32 totalItems: type: integer format: int32 pageItemCount: type: integer format: int32 pageSize: type: integer format: int32 pageIndex: type: integer format: int32 empty: type: boolean v1AppProjectMappingV2: type: object properties: identifier: type: string ArgoProjectName: type: string projectIdentifier: type: string orgIdentifier: type: string accountIdentifier: type: string agentIdentifier: type: string createdAt: type: string format: date-time lastModifiedAt: type: string format: date-time autoCreateServiceEnv: type: boolean servicev1AppProjectMapping: type: object properties: appProjMap: type: object additionalProperties: $ref: '#/components/schemas/servicev1Project' v1AppProjectMappingQueryV2: type: object properties: identifier: type: string description: app project mapping identifier. agentIdentifier: type: string description: Agent identifier for entity. accountIdentifier: type: string description: Account Identifier for the Entity. orgIdentifier: type: string description: Organization Identifier for the Entity. projectIdentifier: type: string description: Project Identifier for the Entity. argoProjectName: type: string autoCreateServiceEnv: type: boolean description: Enable automated creation of service,environment and cluster-env link. Defaults to false. v1Empty: type: object gatewayruntimeError: type: object properties: error: type: string code: type: integer format: int32 message: type: string details: type: array items: $ref: '#/components/schemas/protobufAny' 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 }" v1AppProjectMappingV2List: type: object properties: appProjectMappings: type: array items: $ref: '#/components/schemas/v1AppProjectMappingV2' 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. v1AppProjectMappingCreateRequestV2: type: object properties: agentIdentifier: type: string description: Agent identifier for entity. accountIdentifier: type: string description: Account Identifier for the Entity. orgIdentifier: type: string description: Organization Identifier for the Entity. projectIdentifier: type: string description: Project Identifier for the Entity. argoProjectName: type: string autoCreateServiceEnv: type: boolean description: Enable automated creation of service,environment and cluster-env link. Defaults to false. servicev1AppProject: type: object properties: accountIdentifier: type: string description: Account Identifier for the Entity. projectIdentifier: type: string description: Project Identifier for the Entity. orgIdentifier: type: string description: Organization Identifier for the Entity. name: type: string createdAt: type: string format: date-time lastModifiedAt: type: string format: date-time agentIdentifier: type: string description: Agent identifier for entity. autoCreateServiceEnv: type: boolean description: 'AppProject and AppProjectV2 currently only represent mapping and are lightweight objects that persist the mapping between argocd projects and harness projects. For managing ArgoCD Projects via Agent, there is AgentProjectService (older one with inconsistent implementation) and AgentArgoProjectService.' requestBodies: servicev1AppProjectMapping: content: application/json: schema: $ref: '#/components/schemas/servicev1AppProjectMapping' 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