openapi: 3.2.0 info: title: Harness Commitment Orchestrator User Approval APIs 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: Commitment Orchestrator User Approval APIs paths: /gateway/lw/api/accounts/{account_id}/v2/approvals/list: post: tags: - Commitment Orchestrator User Approval APIs summary: List of Commitment transactions with filtering options description: List of commitment related transactions with advanced filtering options operationId: ApprovalsListV2 parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string - name: routingId description: Routing Identifier for the request in: query required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity in: query required: true schema: type: string - name: start_date in: query schema: type: string format: date description: Start date for the approval period. - name: end_date in: query schema: type: string format: date description: End date for the approval period. requestBody: description: Input for filtering and pagination content: application/json: schema: $ref: '#/components/schemas/ApprovalsListRequestV2' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ApprovalsListResponseV2' '400': description: Invalid request content: {} x-codegen-request-body-name: body /gateway/lw/api/accounts/{account_id}/v1/approvals/list: post: tags: - Commitment Orchestrator User Approval APIs summary: List of Commitment transactions awaiting user approvals description: List of commitment related transactions waiting for user approvals operationId: ApprovalsList parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity in: query required: true schema: type: string requestBody: description: Input for Pagination content: '*/*': schema: $ref: '#/components/schemas/PaginationInput' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ApprovalEventsSuccessResponse' '400': description: Invalid status value content: {} x-codegen-request-body-name: body /gateway/lw/api/accounts/{account_id}/v1/approvals/update: post: tags: - Commitment Orchestrator User Approval APIs summary: Approve/Reject commitment transactions description: Approve or Reject commitment transactions operationId: ApprovalsUpdate parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity in: query required: true schema: type: string requestBody: description: Actions and their approval or rejection status content: '*/*': schema: $ref: '#/components/schemas/ApprovalPayload' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/GenericSuccessResponse' '400': description: Invalid status value content: {} x-codegen-request-body-name: body /gateway/lw/api/accounts/{account_id}/v2/approvals/overview: post: tags: - Commitment Orchestrator User Approval APIs summary: Overview API with summary for different types of approval events description: Overview API with summary of event types with the status and potential savings opportunities operationId: ApprovalsOverview parameters: - name: account_id description: Account Identifier for the Entity in: path required: true schema: type: string - name: accountIdentifier description: Account Identifier for the Entity in: query required: true schema: type: string requestBody: description: Input for Supported optional filters content: '*/*': schema: $ref: '#/components/schemas/ApprovalsOverviewRequestFilters' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/ApprovalOverviewSuccessResponse' '400': description: Invalid status value content: {} x-codegen-request-body-name: body components: schemas: PaginationInput: type: object properties: limit: type: integer maximum: 100 example: 20 page: type: integer example: 1 maximum: 100 ApprovalPayload: type: object properties: actions: type: array items: $ref: '#/components/schemas/ApprovalAction' ApprovalEventSummary: type: object properties: savings_potential: type: number event_count: type: integer event_type: type: string event_status: type: string ApprovalEventsSuccessResponse: type: object properties: ts: type: integer description: Response timestamp success: type: boolean description: Specifies if the operation is successful errors: type: string description: Specifies the error if the operation failed response: type: object properties: total: type: integer pages: type: integer events: type: array items: $ref: '#/components/schemas/ApprovalEvent' ApprovalAction: type: object properties: id: type: integer example: 13 description: ID of the event being approved or rejected status: type: string example: APPROVED enum: - APPROVED - REJECTED ApprovalEventV2: type: object properties: id: type: integer description: Unique identifier for the event example: 786 category: type: string description: Category of the event example: ExpandSeedReservation cloud_account_id: type: string description: Cloud account identifier example: DoNotDelete_aws_india_master cloud_account_name: type: string description: Cloud account name example: DoNotDelete_aws_india_master_name account_id: type: string description: Harness account identifier example: zEaak-FLS425IEO7OLzMUg evaluated_at: type: string format: date-time description: Timestamp when the event was evaluated example: '2024-12-18T04:38:35.19815Z' status: type: string description: Status of the event enum: - PENDING - COMPLETED - EXPIRED - REJECTED example: EXPIRED potential_savings: type: number format: float description: Potential savings from the event example: 15.840000000000003 potential_spend: type: number format: float description: Potential spend from the event example: 70.56 name: type: string description: Name of the event example: Reserved Instance Exchange metadata: type: object description: Additional metadata for the event additionalProperties: true example: hourly spend: 0.076 instances: 1 payment option: No Upfront platform: Linux/UNIX source instance type: t3.nano target instance type: t2.nano tenancy: Shared source_ri: instance_type: t3.nano instances: 1 platform: Linux region: ap-southeast-1 tenancy: Shared target_ri: expiry_date: '2024-12-21T06:53:31Z' instance_type: t2.nano instances: 1 platform: Linux/UNIX region: ap-southeast-1 tenancy: Shared ApprovalsOverviewRequestFilters: type: object properties: regions: type: array items: type: string description: List of regions to filter by cloud_account_ids: type: array items: type: string description: List of cloud account IDs to filter by service: type: string enum: - Amazon Elastic Compute Cloud - Compute - Amazon Relational Database Service ApprovalEvent: type: object properties: id: type: integer category: type: string cloud_account_id: type: string account_id: type: string evaluated_at: type: string metadata: type: object description: Map of key and value with data specific to the event type GenericSuccessResponse: type: object properties: ts: type: integer description: Response timestamp success: type: boolean description: Specifies if the operation is successful errors: type: string description: Specifies the error if the operation failed ApprovalsListRequestV2: type: object properties: pagination: type: object properties: limit: type: integer description: Number of items per page example: 15 page: type: integer description: Page number (starting from 1) example: 1 service: type: string description: Filter by service name example: Amazon Elastic Compute Cloud - Compute statuses: type: array description: Filter by event statuses items: type: string enum: - PENDING - COMPLETED - EXPIRED - REJECTED - QUEUED - APPROVED - APPROVAL_PENDING example: - COMPLETED - APPROVED cloud_account_id: type: string description: Filter by cloud account ID example: '' event_types: type: array description: Filter by event types items: type: string enum: - Reserved Instance Exchange - Atom RI Purchase - Savings Plan Purchase - RDS Reserved Instance Purchase example: [] regions: type: array description: Filter by regions items: type: string example: - ap-southeast-1 ApprovalsListResponseV2: type: object properties: ts: type: integer description: Response timestamp example: 1755058271 success: type: boolean description: Indicates if the request was successful example: true errors: type: - array - 'null' description: List of errors if any items: type: object example: null response: type: object properties: total: type: integer description: Total number of events matching the criteria example: 112 pages: type: integer description: Total number of pages example: 2 events: type: array description: List of approval events items: $ref: '#/components/schemas/ApprovalEventV2' ApprovalOverviewSuccessResponse: type: object properties: ts: type: integer description: Response timestamp success: type: boolean description: Specifies if the operation is successful errors: type: string description: Specifies the error if the operation failed response: type: object properties: result: type: array items: $ref: '#/components/schemas/ApprovalEventSummary' 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