openapi: 3.2.0 info: title: Harness Aggregation Rules 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: AggregationRules description: Aggregation Rules x-displayName: Aggregation Rules paths: /v1/aggregation-rules: get: summary: Get all aggregation rules tags: - AggregationRules responses: '200': $ref: '#/components/responses/AggregationRuleResponseList' operationId: get-aggregation-rules description: List aggregation rules security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' - $ref: '#/components/parameters/Page1' - $ref: '#/components/parameters/Limit5' - $ref: '#/components/parameters/Sort6' - $ref: '#/components/parameters/SearchTerm5' post: summary: Create an aggregation rule tags: - AggregationRules operationId: create-aggregation-rule responses: '201': $ref: '#/components/responses/AggregationRuleDetailsResponse' security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' requestBody: content: application/json: schema: $ref: '#/components/schemas/AggregationRuleDetailsRequest' /v1/aggregation-rules/{aggregation-rule-id}: get: summary: Get an aggregation rule tags: - AggregationRules responses: '200': $ref: '#/components/responses/AggregationRuleDetailsResponse' operationId: get-aggregation-rule security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' - $ref: '#/components/parameters/AggregationRuleIdentifier' put: summary: Update an aggregation rule tags: - AggregationRules operationId: update-aggregation-rule responses: '200': $ref: '#/components/responses/DefaultSaveResponse' security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' - $ref: '#/components/parameters/AggregationRuleIdentifier' requestBody: content: application/json: schema: $ref: '#/components/schemas/AggregationRuleDetailsRequest' delete: summary: Delete an aggregation rule tags: - AggregationRules operationId: delete-aggregation-rule security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' - $ref: '#/components/parameters/AggregationRuleIdentifier' - $ref: '#/components/parameters/ForceDelete2' responses: '204': description: No Content x-internal: false /v1/aggregation-rules/review: post: summary: Review aggregation computation targets tags: - AggregationRules operationId: review-aggregation-rules description: Resolve platform entities that will contain the aggregated values security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' requestBody: content: application/json: schema: $ref: '#/components/schemas/AggregationSelectionReviewRequest' responses: '200': $ref: '#/components/responses/AggregationSelectionReviewResponse' /v1/aggregation-rules/{aggregation-rule-id}/compute: post: summary: Trigger computation for an aggregation rule tags: - AggregationRules operationId: trigger-aggregation-rule-computation description: Trigger computation for a rule. If a computation is already running for the rule, the request is rejected. security: - x-api-key: [] parameters: - $ref: '#/components/parameters/AccountHeader5' - $ref: '#/components/parameters/AggregationRuleIdentifier' responses: '200': description: Computation triggered successfully components: parameters: ForceDelete2: name: force_delete in: query required: false schema: type: boolean default: false description: This is used if an entity need to be force deleted Page1: name: page in: query required: false schema: type: integer default: null description: "Pagination page number strategy: Specify the page number within the paginated collection related to the number of items in each page\t" Limit5: name: limit in: query required: false schema: default: null type: integer description: 'Pagination: Number of items to return' AggregationRuleIdentifier: name: aggregation-rule-id in: path description: Aggregation Rule Identifier required: true schema: type: string AccountHeader5: name: Harness-Account in: header required: false schema: type: string description: Identifier field of the account the resource is scoped to. Sort6: name: sort in: query required: false schema: type: string default: null description: Parameter on the basis of which sorting is done. SearchTerm5: name: search_term in: query required: false schema: type: string default: null description: This would be used to filter resources having attributes matching the search term. responses: AggregationSelectionReviewResponse: description: Response for aggregation selection review content: application/json: schema: $ref: '#/components/schemas/AggregationSelectionReviewResponse' AggregationRuleResponseList: description: Response for all aggregation rules available content: application/json: schema: type: array items: $ref: '#/components/schemas/AggregationRuleResponse' application/yaml: schema: type: array items: $ref: '#/components/schemas/AggregationRuleResponse' headers: X-Total-Elements: schema: type: integer description: Total number of elements returned in Paginated response. X-Page-Number: schema: type: integer description: Page number in Paginated response. X-Page-Size: schema: type: integer description: Maximum page size in Paginated response. DefaultSaveResponse: description: Default response for Save/Edit operations content: application/json: schema: $ref: '#/components/schemas/DefaultSaveResponse' application/yaml: schema: $ref: '#/components/schemas/DefaultSaveResponse' AggregationRuleDetailsResponse: description: Response for aggregation rule details content: application/json: schema: $ref: '#/components/schemas/AggregationRuleDetailsResponse' application/yaml: schema: $ref: '#/components/schemas/AggregationRuleDetailsResponse' schemas: AggregationSelectionReviewRequest: title: AggregationSelectionReviewRequest type: object required: - scopes - scopes_to_aggregate_at properties: scopes: type: array items: type: string description: List of input scopes where entities are selected scopes_to_aggregate_at: type: array items: $ref: '#/components/schemas/AggregationScopeLevel' description: Levels at which to aggregate and return platform entities AggregationSelectionReviewResponse: title: AggregationSelectionReviewResponse type: object required: - platform - systems - teams properties: platform: $ref: '#/components/schemas/AggregationPlatformSelection' systems: type: array items: type: string teams: type: array items: type: string x-examples: Example 1: platform: account: include: true include_all_children: PROJECTS orgs: - identifier: o1 include: true include_all_projects: false projects: - o1.p1 - o1.p2 - identifier: o2 include: false include_all_projects: false projects: - o2.p5 - identifier: o3 include: true include_all_projects: true projects: [] systems: - e_ref_1 - e_ref_2 - e_ref_3 AggregationEntitySelectionCriteria: title: AggregationEntitySelectionCriteria type: object properties: scopes: type: array items: type: string description: Scope identifiers of selected entities (e.g., org/project) kind: type: string type: type: string owners: type: array items: type: string tags: type: array items: type: string lifecycles: type: array items: type: string AggregationPlatformSelection: title: AggregationPlatformSelection type: object required: - account properties: account: $ref: '#/components/schemas/AggregationAccountSelection' AggregationScopeLevel: title: AggregationScopeLevel type: string enum: - ACCOUNT - ORGANIZATION - PROJECT - SYSTEM - TEAM AggregationOrgSelection: title: AggregationOrgSelection type: object required: - identifier - include - projects properties: identifier: type: string include: type: boolean projects: type: array items: type: string include_all_projects: type: boolean x-stoplight: id: h39blmgk2qgdj AggregationRuleResponse: title: AggregationRuleResponse type: object properties: aggregation_rule: $ref: '#/components/schemas/AggregationRule' AggregationComputeStatus: title: AggregationComputeStatus type: string enum: - CALCULATING - ERROR - SUCCESS AggFormula: title: AggFormula type: string enum: - SUM - AVG - COUNT - MAX - MIN - MEDIAN AggregationRuleDetails: title: AggregationRuleDetails type: object required: - identifier - name - field_for_agg - agg_formula - scopes_to_aggregate_at properties: identifier: type: string name: type: string description: type: string field_for_agg: type: string description: Field to aggregate agg_formula: $ref: '#/components/schemas/AggFormula' scopes_to_aggregate_at: type: array items: $ref: '#/components/schemas/AggregationScopeLevel' entity_selection_criteria: $ref: '#/components/schemas/AggregationEntitySelectionCriteria' last_computed_status: $ref: '#/components/schemas/AggregationComputeStatus' last_computed_at: type: integer format: int64 last_error_message: type: string AggregationRuleDetailsRequest: title: AggregationRuleDetailsRequest type: object properties: aggregation_rule: $ref: '#/components/schemas/AggregationRuleDetails' DefaultSaveResponse: title: DefaultSaveResponse x-stoplight: id: 4dbdqgfzqv8nz type: object description: 'Default response for Save/Edit operations ' properties: status: type: string x-stoplight: id: cskevfqvaydbn required: - status AggregationRule: title: AggregationRule x-stoplight: id: 1c19f3cea93dd type: object required: - identifier - name - field_for_agg - agg_formula - scopes_to_aggregate_at - last_computed_at properties: identifier: type: string name: type: string description: type: string field_for_agg: type: string agg_formula: $ref: '#/components/schemas/AggFormula' scopes_to_aggregate_at: type: array items: $ref: '#/components/schemas/AggregationScopeLevel' last_computed_status: $ref: '#/components/schemas/AggregationComputeStatus' last_computed_at: type: integer format: int64 last_error_message: type: string AggregationAccountSelection: title: AggregationAccountSelection type: object required: - include - orgs properties: include: type: boolean orgs: type: array items: $ref: '#/components/schemas/AggregationOrgSelection' include_all_children: type: string x-stoplight: id: gjhte9git7v9f enum: - ORGANIZATIONS - PROJECTS - ORGANIZATIONS_AND_PROJECTS AggregationRuleDetailsResponse: title: AggregationRuleDetailsResponse type: object properties: aggregation_rule: $ref: '#/components/schemas/AggregationRuleDetails' required: - aggregation_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