openapi: 3.2.0 info: title: Harness AutoStopping Load Balancers 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: AutoStopping Load Balancers description: This contains APIs to create and manage load balancers used for AutoStopping. paths: /gateway/lw/api/accounts/{account_id}/autostopping/loadbalancers: get: tags: - AutoStopping Load Balancers summary: Return all the load balancers description: Retrieves a list of all AutoStopping load balancers configured in your account. Load balancers act as proxy entry points that route traffic to your AutoStopping Rules. operationId: ListLoadBalancers parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: abc12_DEFgh-ijkLMNOPqr - name: vpc description: VPC (Virtual Private Cloud) is the cloud resource where the load balancer is deployed. in: query schema: type: string example: vpc-12345678 - name: region description: Optional filter to list load balancers in a specific cloud region (e.g., 'us-east-1' for AWS, 'eastus' for Azure). in: query schema: type: string example: us-east-1 - name: cloud_account_id description: Unique identifier of the cloud connector (AWS, Azure, or GCP) configured in CACM. in: query required: true schema: type: string example: lightwing_nonprod - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7xd responses: '200': description: Successfully retrieved list of load balancers content: application/json: schema: $ref: '#/components/schemas/ListAccessPointResponse' '400': description: Invalid status value content: {} put: tags: - AutoStopping Load Balancers summary: Update a load balancer description: Updates the configuration of an existing AutoStopping load balancer. operationId: EditLoadBalancer parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: px7xd_ - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7xd_ requestBody: content: '*/*': schema: $ref: '#/components/schemas/AccessPoint' required: true responses: '200': description: Load balancer updated successfully content: application/json: schema: $ref: '#/components/schemas/CreateAccessPointResponse' '400': description: Invalid status value content: {} x-codegen-request-body-name: accessPoint post: tags: - AutoStopping Load Balancers summary: Create a load balancer description: Creates a new AutoStopping load balancer to act as a proxy entry point for routing traffic to AutoStopping Rules. operationId: CreateLoadBalancer parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: px7xd_ - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7xd_ requestBody: content: '*/*': schema: $ref: '#/components/schemas/AccessPoint' required: true responses: '200': description: Load balancer created successfully content: application/json: schema: $ref: '#/components/schemas/CreateAccessPointResponse' '400': description: Invalid status value content: {} x-codegen-request-body-name: accessPoint delete: tags: - AutoStopping Load Balancers summary: Delete load balancers and the associated resources description: 'Permanently deletes one or more AutoStopping load balancers and their associated resources. **⚠️ CAUTION:** This action is irreversible. Once deleted, the load balancer configuration cannot be recovered. Any AutoStopping Rules using this load balancer will lose their access point and may become inaccessible.' operationId: DeleteLoadBalancer parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: pxXVjvw - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7xdw requestBody: content: '*/*': schema: $ref: '#/components/schemas/DeleteAccessPointPayload' required: true responses: '200': description: OK content: {} x-codegen-request-body-name: accessPoint /gateway/lw/api/accounts/{account_id}/autostopping/loadbalancers/{lb_id}: get: tags: - AutoStopping Load Balancers summary: Return details of a load balancer description: Retrieves detailed configuration and status information for a specific AutoStopping load balancer. operationId: DescribeLoadBalancer parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: px7xdXVjvw - name: lb_id description: Unique identifier of the load balancer in: path required: true schema: type: string example: lb-abc123 - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7xpfWPYXVjvw responses: '200': description: Successfully retrieved load balancer details content: application/json: schema: $ref: '#/components/schemas/GetAccessPointResponse' '400': description: Invalid status value content: {} /gateway/lw/api/accounts/{account_id}/autostopping/loadbalancers/{lb_id}/rules: get: tags: - AutoStopping Load Balancers summary: Return all the AutoStopping Rules in a load balancer description: Retrieves a list of all AutoStopping Rules that are configured to route traffic through a specific load balancer. operationId: AccessPointRules parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: abc12_DEFgh-ijkLMNOPqr - name: lb_id description: Unique identifier of the load balancer in: path required: true schema: type: string example: lb-abc123 - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: px7WPYXVjvw responses: '200': description: Successfully retrieved list of AutoStopping Rules content: application/json: schema: $ref: '#/components/schemas/ServicesResponse' '400': description: Invalid status value content: {} /gateway/lw/api/accounts/{account_id}/autostopping/loadbalancers/{lb_id}/last_active_at: get: tags: - AutoStopping Load Balancers summary: Return last activity details of a load balancer description: Retrieves the timestamp of the most recent activity (traffic) through the load balancer. operationId: LoadBalancerActivity parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string example: pfWPYXVjvw - name: lb_id description: Unique identifier of the load balancer in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for authentication and authorization. in: query required: true schema: type: string example: pxWPYXVjvw responses: '200': description: Successfully retrieved last activity timestamp content: application/json: schema: $ref: '#/components/schemas/AccessPointActivityResponse' '400': description: Invalid status value content: {} components: schemas: RoutingRule: type: object properties: path_match: type: string LwService: required: - cloud_account_id - kind - name - org_id type: object properties: id: type: integer format: int64 name: type: string org_id: type: string account_identifier: type: string project_id: type: string fulfilment: type: string kind: type: string cloud_account_id: type: string idle_time_mins: type: integer format: int64 host_name: type: string health_check: type: object properties: {} custom_domains: type: array items: type: string match_all_subdomains: type: boolean disabled: type: boolean routing: $ref: '#/components/schemas/RoutingData' opts: $ref: '#/components/schemas/Opts' created_at: type: string access_point_id: type: string metadata: $ref: '#/components/schemas/ServiceMetadata' status: type: string ServiceUsageRecord: type: object properties: service_id: type: number path: type: string session_id: type: string idle_time_mins: type: number created_at: type: string Proxy: type: object properties: id: type: string AccessPointMeta: type: object properties: error: type: string certificate_id: type: string security_groups: type: array items: type: string dns: type: object properties: route53: type: object properties: hosted_zone_id: type: string others: type: string albArn: type: string resource_group: type: string fe_ip_id: type: string subnet_id: type: string size: type: string app_gateway_id: type: string subnet_name: type: string fe_ip_name: type: string certificate: $ref: '#/components/schemas/CertificateData' func_region: type: string AccessPoint: type: object properties: id: type: string account_id: type: string cloud_account_id: type: string org_id: type: string project_id: type: string host_name: type: string region: type: string type: type: string name: type: string vpc: type: string status: type: string enum: - created - submitted - errored metadata: $ref: '#/components/schemas/AccessPointMeta' subnets: type: array items: type: string security_groups: type: array items: type: string editables: type: array items: type: string ServiceError: type: object properties: error: type: string action: type: string ServiceMetadata: type: object properties: cloud_provider_details: type: object properties: name: type: string type: type: string target_group_details: type: object properties: {} service_errors: type: array items: $ref: '#/components/schemas/ServiceError' kubernetes_connector_id: type: string autostopping_proxy_config: type: object properties: http: $ref: '#/components/schemas/HTTPProxy' tcp: $ref: '#/components/schemas/HTTPProxy' RoutingData: type: object properties: instance: $ref: '#/components/schemas/InstanceBasedRoutingData' ports: type: array items: $ref: '#/components/schemas/PortConfig' lb: type: string k8s: type: object properties: RuleJson: type: string ConnectorID: type: string Namespace: type: string custom_domain_providers: type: object properties: {} container_svc: $ref: '#/components/schemas/ContainerSvc' database: $ref: '#/components/schemas/RDSDatabase' HTTPProxy: required: - proxy - ports type: object properties: proxy: $ref: '#/components/schemas/Proxy' ports: type: array items: $ref: '#/components/schemas/PortConfig' PortConfig: type: object properties: protocol: type: string target_protocol: type: string port: type: integer target_port: type: integer server_name: type: string action: type: string redirect_url: type: string routing_rules: type: array items: $ref: '#/components/schemas/RoutingRule' Opts: type: object properties: preserve_private_ip: type: boolean delete_cloud_resources: type: boolean always_use_private_ip: type: boolean access_details: type: object properties: {} hide_progress_page: type: boolean idle_time_for_state_sync: type: boolean description: If true, idle time is used for state sync instead of the default 5 minutes ASGMinimal: type: object properties: id: type: string name: type: string desired: type: integer min: type: integer max: type: integer on_demand: type: integer spot: type: integer mixed_instance: type: boolean cloud_account_id: type: string provider_name: type: string target_groups: type: array items: $ref: '#/components/schemas/TargetGroupMinimal' region: type: string availability_zones: type: array items: type: string status: type: string meta: type: object properties: {} ContainerSvc: type: object properties: cluster: type: string service: type: string region: type: string task_count: type: number InstanceBasedRoutingData: type: object properties: filter_text: type: string scale_group: $ref: '#/components/schemas/ASGMinimal' CreateAccessPointResponse: type: object properties: response: $ref: '#/components/schemas/AccessPoint' errors: type: array items: type: string metadata: type: object properties: {} DeleteAccessPointPayload: type: object properties: ids: type: array items: type: string with_resources: type: boolean TargetGroupMinimal: type: object properties: id: type: string name: type: string port: type: integer protocol: type: string vpc: type: string ListAccessPointResponse: type: object properties: response: type: array items: $ref: '#/components/schemas/AccessPoint' RDSDatabase: type: object properties: id: type: string region: type: string AccessPointActivityResponse: type: object properties: response: $ref: '#/components/schemas/ServiceUsageRecord' CertificateData: type: object properties: name: type: string password: type: string content: type: string ServicesResponse: type: object properties: response: type: array items: $ref: '#/components/schemas/LwService' GetAccessPointResponse: type: object properties: response: $ref: '#/components/schemas/AccessPoint' 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