openapi: 3.2.0 info: title: Harness Tf Standard Backend 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: tf-standard-backend description: HTTP standard backend for Terraform paths: /iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/terraform-backend: get: tags: - tf-standard-backend summary: Show terraform state operationId: tf-standard-backend#pull-terraform-state parameters: - name: accountIdentifier in: query description: Account is the internal customer account ID. allowEmptyValue: true required: true schema: type: string description: Account is the internal customer account ID. example: vhe minLength: 1 maxLength: 128 example: vtv - name: org in: path description: Org is the organisation identifier. required: true schema: type: string description: Org is the organisation identifier. example: sf minLength: 1 maxLength: 128 example: eh2 - name: project in: path description: Project is the project identifier. required: true schema: type: string description: Project is the project identifier. example: p minLength: 1 maxLength: 128 example: a - name: workspace in: path description: Workspace identifier required: true schema: type: string description: Workspace identifier example: workspace123 example: workspace123 responses: '200': description: OK response. content: application/json: schema: type: string format: binary '400': description: 'BadRequestError: Bad Request response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '401': description: 'UnauthorizedError: Unauthorized response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '403': description: 'ForbiddenError: Forbidden response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '404': description: 'NotFoundError: Not Found response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '408': description: 'TimeoutError: Request Timeout response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '409': description: 'ConflictError: Conflict response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '423': description: 'LockedError: Locked response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '499': description: 'ContextCancelledError: response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '500': description: 'InternalServerError: Internal Server Error response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '502': description: 'BadGatewayError: Bad Gateway response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' post: tags: - tf-standard-backend summary: Create terraform state operationId: tf-standard-backend#push-terraform-state parameters: - name: accountIdentifier in: query description: Account is the internal customer account ID. allowEmptyValue: true required: true schema: type: string description: Account is the internal customer account ID. example: f minLength: 1 maxLength: 128 example: '53' - name: ID in: query description: If the backend is locked, this value must match the persisted terraform lock id. allowEmptyValue: true schema: type: string description: If the backend is locked, this value must match the persisted terraform lock id. example: 1ac4b858-bf0b-8539-9d80-8c521f6423cf example: 1ac4b858-bf0b-8539-9d80-8c521f6423cf - name: org in: path description: Org is the organisation identifier. required: true schema: type: string description: Org is the organisation identifier. example: hl3 minLength: 1 maxLength: 128 example: tk - name: project in: path description: Project is the project identifier. required: true schema: type: string description: Project is the project identifier. example: v minLength: 1 maxLength: 128 example: lao - name: workspace in: path description: Workspace identifier required: true schema: type: string description: Workspace identifier example: workspace123 example: workspace123 - name: Content-Length in: header description: Size in bytes of the state. allowEmptyValue: true schema: type: integer description: Size in bytes of the state. example: 501043638353866 format: int64 example: 5414030745992186000 responses: '200': description: OK response. '400': description: 'BadRequestError: Bad Request response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '401': description: 'UnauthorizedError: Unauthorized response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '403': description: 'ForbiddenError: Forbidden response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '404': description: 'NotFoundError: Not Found response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '408': description: 'TimeoutError: Request Timeout response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '409': description: 'ConflictError: Conflict response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '423': description: 'LockedError: Locked response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '499': description: 'ContextCancelledError: response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '500': description: 'InternalServerError: Internal Server Error response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '502': description: 'BadGatewayError: Bad Gateway response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' /iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/terraform-backend/lock: delete: tags: - tf-standard-backend summary: Unlock workspace operationId: tf-standard-backend#unlock-workspace parameters: - name: accountIdentifier in: query description: Account is the internal customer account ID. allowEmptyValue: true required: true schema: type: string description: Account is the internal customer account ID. example: '4' minLength: 1 maxLength: 128 example: c - name: org in: path description: Org is the organisation identifier. required: true schema: type: string description: Org is the organisation identifier. example: w minLength: 1 maxLength: 128 example: xut - name: project in: path description: Project is the project identifier. required: true schema: type: string description: Project is the project identifier. example: esk minLength: 1 maxLength: 128 example: f - name: workspace in: path description: Workspace identifier required: true schema: type: string description: Workspace identifier example: workspace123 example: workspace123 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UnlockWorkspaceRequest' example: created: Quam quasi est a. id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock operation: OperationTypePlan path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: 1.0.0 who: user1 responses: '200': description: OK response. '400': description: 'BadRequestError: Bad Request response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '401': description: 'UnauthorizedError: Unauthorized response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '403': description: 'ForbiddenError: Forbidden response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '404': description: 'NotFoundError: Not Found response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '408': description: 'TimeoutError: Request Timeout response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '409': description: 'ConflictError: Conflict response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '423': description: 'LockedError: Locked response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '499': description: 'ContextCancelledError: response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '500': description: 'InternalServerError: Internal Server Error response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '502': description: 'BadGatewayError: Bad Gateway response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' post: tags: - tf-standard-backend summary: Lock workspace operationId: tf-standard-backend#lock-workspace parameters: - name: accountIdentifier in: query description: Account is the internal customer account ID. allowEmptyValue: true required: true schema: type: string description: Account is the internal customer account ID. example: abs minLength: 1 maxLength: 128 example: 5y - name: org in: path description: Org is the organisation identifier. required: true schema: type: string description: Org is the organisation identifier. example: '3' minLength: 1 maxLength: 128 example: al - name: project in: path description: Project is the project identifier. required: true schema: type: string description: Project is the project identifier. example: 6zo minLength: 1 maxLength: 128 example: nr - name: workspace in: path description: Workspace identifier required: true schema: type: string description: Workspace identifier example: workspace123 example: workspace123 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LockWorkspaceRequest' example: created: Quae sit voluptas. id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock operation: OperationTypePlan path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: 1.0.0 who: user1 responses: '200': description: OK response. content: application/json: schema: $ref: '#/components/schemas/HarnessIacmLockinfo' example: account: l created: 8165251417377498000 id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock locked_by_display_name: Ullam aut est qui. locked_by_principal_id: Explicabo facilis praesentium accusantium exercitationem aut necessitatibus. locked_by_principal_type: Temporibus sed aut sit. manual: true operation: OperationTypePlan org: 2ax path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c project: a1 reason: Magnam quod cupiditate qui quo sint quisquam. version: 1.0.0 who: user1 workspace: workspace123 '400': description: 'BadRequestError: Bad Request response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '401': description: 'UnauthorizedError: Unauthorized response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '403': description: 'ForbiddenError: Forbidden response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '404': description: 'NotFoundError: Not Found response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '408': description: 'TimeoutError: Request Timeout response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '409': description: 'ConflictError: Conflict response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '423': description: 'LockedError: Locked response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '499': description: 'ContextCancelledError: response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '500': description: 'InternalServerError: Internal Server Error response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' '502': description: 'BadGatewayError: Bad Gateway response.' content: application/vnd.goa.error: schema: $ref: '#/components/schemas/IaCMError' components: schemas: HarnessIacmLockinfo: type: object properties: account: type: string description: Account is the internal customer account ID. example: p minLength: 1 maxLength: 128 created: type: integer description: Time that the lock was taken. example: 5845931977240394000 format: int64 id: type: string description: Unique ID for the lock. Generated by the terraform cli. example: 1ac4b858-bf0b-8539-9d80-8c521f6423cf minLength: 1 info: type: string description: Extra information to store with the lock. default: '' example: production workspace lock locked_by_display_name: type: string description: Display name of who locked the workspace example: Deserunt aut fugiat consequatur. locked_by_principal_id: type: string description: Principal ID who created the manual lock example: Et tempore. locked_by_principal_type: type: string description: 'Type of principal: ''user'' or ''service_account''' example: Similique distinctio earum officiis assumenda eius doloribus. manual: type: boolean description: Whether the lock is manual (user-initiated). true = manual lock, false = automatic lock (Terraform CLI) default: false example: true operation: type: string description: Terraform operation. example: OperationTypePlan org: type: string description: Org is the organisation identifier. example: vk minLength: 1 maxLength: 128 path: type: string description: Path to the state file when applicable. default: '' example: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c project: type: string description: Project is the project identifier. example: ye7 minLength: 1 maxLength: 128 reason: type: string description: Reason for manual lock (optional, max 1024 chars) example: Consectetur corrupti sint. version: type: string description: Terraform version. example: 1.0.0 who: type: string description: The machine user who is performing the operation. default: '' example: user1 workspace: type: string description: Workspace identifier example: workspace123 description: Terraform lock information resource. example: account: v created: 5134664667880166000 id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock locked_by_display_name: Eius ratione dolorem ratione qui. locked_by_principal_id: Et autem enim. locked_by_principal_type: Dolorum quaerat ratione amet vel veniam. manual: true operation: OperationTypePlan org: cy path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c project: ns reason: Eligendi sunt eveniet dicta explicabo et quod. version: 1.0.0 who: user1 workspace: workspace123 required: - account - org - project - workspace - id - operation - version - created LockWorkspaceRequest: type: object properties: created: type: string description: Time that the lock was taken. example: Unde qui. id: type: string description: Unique ID for the lock. Generated by the terraform cli. example: 1ac4b858-bf0b-8539-9d80-8c521f6423cf minLength: 1 info: type: string description: Extra information to store with the lock. default: '' example: production workspace lock operation: type: string description: Terraform operation. example: OperationTypePlan path: type: string description: Path to the state file when applicable. default: '' example: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: type: string description: Terraform version. example: 1.0.0 who: type: string description: The machine user who is performing the operation. default: '' example: user1 example: created: Rem rem. id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock operation: OperationTypePlan path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: 1.0.0 who: user1 required: - id - operation - version - created UnlockWorkspaceRequest: type: object properties: created: type: string description: Time that the lock was taken. example: Voluptas nemo ut est. id: type: string description: Unique ID for the lock. Generated by the terraform cli. example: 1ac4b858-bf0b-8539-9d80-8c521f6423cf minLength: 1 info: type: string description: Extra information to store with the lock. default: '' example: production workspace lock operation: type: string description: Terraform operation. example: OperationTypePlan path: type: string description: Path to the state file when applicable. default: '' example: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: type: string description: Terraform version. example: 1.0.0 who: type: string description: The machine user who is performing the operation. default: '' example: user1 example: created: Repudiandae voluptatum reprehenderit veniam. id: 1ac4b858-bf0b-8539-9d80-8c521f6423cf info: production workspace lock operation: OperationTypePlan path: /api/orgs/org1/projects/proj1/workspaces/production/data/fcdf0196-f5b3-49ab-87e3-ff102dfaf58c version: 1.0.0 who: user1 required: - id - operation - version - created IaCMError: type: object properties: fault: type: boolean description: Is the error a server-side fault? example: false id: type: string description: ID is a unique identifier for this particular occurrence of the problem. example: 123abc message: type: string description: Message is a human-readable explanation specific to this occurrence of the problem. example: parameter 'p' must be an integer name: type: string description: Name is the name of this class of errors. example: bad_request temporary: type: boolean description: Is the error temporary? example: false timeout: type: boolean description: Is the error a timeout? example: true example: fault: false id: 123abc message: parameter 'p' must be an integer name: bad_request temporary: false timeout: true required: - name - id - message - temporary - timeout - fault 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