openapi: 3.2.0 info: title: Harness Orchestration Activities 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: Orchestration Activities x-displayName: Orchestration Activities [Beta] paths: /rmg/api/orchestration/activity: post: summary: Create Orchestration Activity tags: - Orchestration Activities operationId: post-orchestrationActivity description: Create a new orchestration activity parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' requestBody: $ref: '#/components/requestBodies/CreateOrchestrationActivityRequest' responses: '200': $ref: '#/components/responses/CreateOrchestrationActivityResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: 3p6k9m4x7l2w /rmg/api/orchestration/activity/summary: get: summary: Fetch List of Orchestration Activities tags: - Orchestration Activities operationId: get-orchestration-activity-summary description: Retrieve a paginated list of orchestration activities parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' - $ref: '#/components/parameters/RmPage' - $ref: '#/components/parameters/Size' - $ref: '#/components/parameters/RmSort' - $ref: '#/components/parameters/SearchTermParam' responses: '200': $ref: '#/components/responses/OrchestrationActivitySummaryResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: get-orchestration-activity-summary /rmg/api/orchestration/activity/{identifier}: get: summary: Get Orchestration Activity tags: - Orchestration Activities operationId: get-orchestrationActivity description: Get orchestration activity by identifier parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' - name: identifier in: path required: true schema: type: string description: Identifier of the orchestration activity responses: '200': $ref: '#/components/responses/GetOrchestrationActivityResponse' '400': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' put: summary: Update Orchestration Activity tags: - Orchestration Activities operationId: put-orchestration-activity description: Update an orchestration activity with the provided YAML configuration parameters: - name: identifier in: path required: true schema: type: string description: The identifier of the orchestration activity to update - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' requestBody: $ref: '#/components/requestBodies/UpdateOrchestrationActivityRequest' responses: '200': $ref: '#/components/responses/UpdateOrchestrationActivityResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: put-orchestration-activity delete: summary: Delete Orchestration Activity tags: - Orchestration Activities operationId: delete-orchestration-activity description: Delete an orchestration activity by identifier parameters: - name: identifier in: path required: true schema: type: string description: The identifier of the orchestration activity to delete - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' responses: '204': description: Orchestration activity deleted successfully '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: delete-orchestration-activity /rmg/api/orchestration/activity/{activityRef}/inputs: get: summary: Get Activity Inputs by Activity Ref tags: - Orchestration Activities operationId: get-orchestration-activity-inputs description: Retrieve input definitions and values for a specific activity within a process input configuration parameters: - name: activityRef in: path required: true schema: type: string description: The referred activity in process yaml - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' responses: '200': $ref: '#/components/responses/ActivityInputsResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: get-orchestration-process-input-activity-inputs /rmg/api/orchestration/activity/{activityExecutionId}/onhold/action: post: summary: Handle On-Hold Activity Action tags: - Orchestration Activities operationId: postOnHoldActivityAction description: Process actions (retry/ignore) for activities in ON_HOLD state parameters: - name: activityExecutionId in: path required: true schema: type: string description: The ID of the activity execution - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' requestBody: $ref: '#/components/requestBodies/OnHoldActivityActionRequest' responses: '200': $ref: '#/components/responses/OnHoldActivityActionResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: post-onhold-activity-action /rmg/api/orchestration/activity/processIdentifier/{identifier}: get: summary: List Orchestration Activities by Process Identifier tags: - Orchestration Activities operationId: get-orchestration-activities-by-process-identifier description: Retrieve a paginated list of orchestration activities for a specific process identifier parameters: - name: identifier in: path required: true schema: type: string description: The process identifier - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' - name: phaseIdentifier in: query required: false schema: type: string description: Optional phase identifier to filter activities - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/RmLimit' responses: '200': $ref: '#/components/responses/OrchestrationActivityListByProcessIdentifierResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: list-orchestration-activities /rmg/api/orchestration/activity/list: post: summary: Get Orchestration Activities by activity refs tags: - Orchestration Activities operationId: get-orchestration-activities-by-acitivity-refs description: Get orchestration activities for specific activity refs parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RmOrgParam' - $ref: '#/components/parameters/RmProjectParam' - $ref: '#/components/parameters/Cursor' - $ref: '#/components/parameters/RmLimit' requestBody: required: true content: application/json: schema: type: object required: - activityRefs properties: activityRefs: type: array items: type: string description: Array of activity references responses: '200': $ref: '#/components/responses/OrchestrationActivityListByProcessIdentifierResponse' '400': $ref: '#/components/responses/RmErrorResponse' '403': $ref: '#/components/responses/RmErrorResponse' '404': $ref: '#/components/responses/RmErrorResponse' '500': $ref: '#/components/responses/RmErrorResponse' x-stoplight: id: create-orchestration-activities components: responses: GetOrchestrationActivityResponse: description: Response for Get Orchestration Activity API content: application/json: schema: type: object required: - yaml - identifier properties: yaml: type: string description: YAML representation of the orchestration activity identifier: type: string description: Identifier of the orchestration activity CreateOrchestrationActivityResponse: description: Response for successful orchestration activity creation content: application/json: schema: type: object required: - identifier - yaml properties: identifier: type: string yaml: type: string OrchestrationActivityListByProcessIdentifierResponse: description: Response for listing orchestration activities by process identifer content: application/json: schema: type: object required: - activities - nextRequest - last properties: activities: type: array items: $ref: '#/components/schemas/OrchestrationActivityYamlDto' nextRequest: $ref: '#/components/schemas/NextRequest' last: type: boolean description: Whether this is the last page of results ActivityInputsResponse: description: Response containing activity input definitions with their values and metadata content: application/json: schema: $ref: '#/components/schemas/ActivityInputsResponse' RmErrorResponse: description: Error Response body content: application/json: schema: $ref: '#/components/schemas/RmError' UpdateOrchestrationActivityResponse: description: Response for successful orchestration activity update content: application/json: schema: type: object required: - identifier - yaml properties: identifier: type: string description: Identifier of the updated orchestration activity yaml: type: string description: YAML configuration of the updated orchestration activity OrchestrationActivitySummaryResponse: description: Paginated list of orchestration activities content: application/json: schema: type: object properties: content: type: array items: $ref: '#/components/schemas/OrchestrationActivitySummaryDTO' pageable: $ref: '#/components/schemas/RmPageable' totalPages: type: integer last: type: boolean totalElements: type: integer size: type: integer number: type: integer sort: $ref: '#/components/schemas/PageableSort' numberOfElements: type: integer first: type: boolean empty: type: boolean required: - content - pageable - totalPages - last - totalElements - size - number - sort - numberOfElements - first - empty OnHoldActivityActionResponse: description: On-hold activity action processed successfully content: application/json: schema: $ref: '#/components/schemas/OnHoldActivityActionResponse' parameters: RmSort: name: sort in: query required: false schema: type: array items: type: string description: 'Sort parameters as an array. Format: `[field_name, direction]` where direction is `asc` or `desc`. Supported fields: `start_ts`, `startTs`, `end_ts`, `endTs`, `last_updated_at`, `lastUpdatedAt`, `created_at`, `createdAt`, `name`, `identifier`, `status`, `type`. When used in query params, use format: `sort=field_name&sort=direction` (e.g., `sort=start_ts&sort=desc`). ' examples: example1: value: - created_at,asc example2: value: - last_updated_at,desc example3: value: - start_ts,desc example4: value: - end_ts,asc RmOrgParam: name: orgIdentifier in: query required: false schema: type: string description: Organisation Identifier Size: name: size in: query required: false schema: type: integer RmProjectParam: name: projectIdentifier in: query required: false schema: type: string description: Project Identifier RmLimit: name: limit in: query schema: type: number default: 500 maximum: 500 description: The number of records expected AccountParam: name: Harness-Account in: header required: true schema: type: string description: Account Identifier Cursor: name: cursor in: query schema: type: string description: Cursor Based Pagination SearchTermParam: name: searchTerm in: query description: Optional search string to filter releases by name. required: false schema: type: string RmPage: name: page in: query required: false schema: type: integer schemas: OnHoldActivityActionRequest: type: object required: - action properties: action: type: string enum: - retry - ignore description: The action to perform on the on-hold activity. Must be 'retry' if retryWith is present. x-oapi-codegen-extra-tags: validate: required,oneof=retry ignore retryWith: type: string enum: - SUBPROCESS description: Specifies the retry mechanism. If present, action must be 'retry'. Currently only SUBPROCESS is supported. subprocessInfo: $ref: '#/components/schemas/SubprocessInfo' description: Subprocess information. Required when retryWith is SUBPROCESS. inputs: type: array description: Optional list of input values for retrying the on-hold activity. Only valid when action is 'retry'. items: $ref: '#/components/schemas/ActivityExecutionInputDTO' outputs: type: array description: Optional list of output values for ignoring the on-hold activity. Only valid when action is 'ignore'. items: $ref: '#/components/schemas/ExecutionOutputDTO' ActivityExecutionInputDTO: type: object description: Input value for an activity execution required: - name - value - type properties: name: type: string description: Name of the input parameter value: $ref: '#/components/schemas/AnyValue' description: Value of the input parameter (can be string, number, boolean, object, array, etc.) type: $ref: '#/components/schemas/InputVariableType' description: Type of the input parameter OrchestrationActivityYamlDto: type: object required: - identifier - yaml properties: identifier: type: string description: Identifier of the activity yaml: type: string description: YAML configuration of the activity orgIdentifier: type: string description: Organization identifier of the activity projectIdentifier: type: string description: Project identifier of the activity ExecutionOutputDTO: type: object description: Output value for a phase execution required: - name - value properties: name: type: string description: Name of the output parameter value: $ref: '#/components/schemas/AnyValue' description: Value of the output parameter (can be string, number, boolean, object, array, etc.) NextRequest: type: object properties: cursor: type: string limit: type: integer ActivityInputsResponse: type: object description: Enhanced response structure for activity inputs required: - activityInput properties: activityInput: type: string description: activityInput Yaml string OrchestrationActivitySummaryDTO: title: OrchestrationActivitySummaryDTO type: object required: - identifier - name - type - lastUpdatedAt - lastUpdatedBy - createdBy - createdAt properties: identifier: type: string description: Identifier of the orchestration activity name: type: string description: Name of the orchestration activity description: type: string description: Description of the orchestration activity type: $ref: '#/components/schemas/CreateOrchestrationActivityRequestType' createdAt: type: integer format: int64 description: Created timestamp in milliseconds lastUpdatedAt: type: integer format: int64 description: Last updated timestamp in milliseconds lastUpdatedBy: $ref: '#/components/schemas/LastUpdatedByDTO' createdBy: $ref: '#/components/schemas/CreatedByDTO' x-stoplight: id: orchestration-activity-summary-dto SubprocessInfo: type: object required: - processIdentifier - processInputIdentifier - releaseInput - output properties: processIdentifier: type: string description: Process identifier. Required when retryWith is SUBPROCESS. processInputIdentifier: type: string description: Process input identifier. Required when retryWith is SUBPROCESS. releaseInput: type: string description: Release input YAML. Required when retryWith is SUBPROCESS. output: type: object additionalProperties: type: string description: Output map with key-value pairs. InputVariableType: type: string description: Type of an input variable for parameters and process inputs. enum: - string - list - boolean - number - object - service - multiService - environment - multiEnvironment - infrastructure - multiInfrastructure - connector RmError: title: Error Response x-stoplight: id: d53gtsgvwyk44 type: object description: Error Response required: - message properties: message: type: string x-stoplight: id: 5n8vetciod7k8 description: error message detail code: type: string description: canonical error code name enum: - BAD_REQUEST - UNAUTHORIZED - FORBIDDEN - NOT_FOUND - INTERNAL_SERVER_ERROR AnyValue: oneOf: - type: string - type: number - type: boolean - type: object additionalProperties: true - type: array items: type: object x-go-type: interface{} description: Flexible type that accepts any JSON value (string, number, boolean, object, or array) LastUpdatedByDTO: title: LastUpdatedByDTO type: object required: - identifier properties: name: type: string identifier: type: string email: type: string x-stoplight: id: q1hm7j6egaq6k CreateOrchestrationActivityRequestType: type: string enum: - PIPELINE - MANUAL - SUBPROCESS description: Type of orchestration activity OnHoldActivityActionResponse: type: object properties: activityExecutionId: type: string description: The ID of the processed activity execution action: type: string description: The action that was performed CreatedByDTO: type: object description: Details of the user who created the event required: - name - email properties: name: type: string description: Name of the user who created the event email: type: string description: Email of the user who created the event identifier: type: string description: Identifier of the user who created the event x-stoplight: id: created-by-dto PageableSort: type: object x-go-name: PageableSort properties: empty: type: boolean sorted: type: boolean unsorted: type: boolean RmPageable: type: object properties: pageNumber: type: integer pageSize: type: integer sort: $ref: '#/components/schemas/PageableSort' offset: type: integer paged: type: boolean unpaged: type: boolean requestBodies: OnHoldActivityActionRequest: required: true content: application/json: schema: $ref: '#/components/schemas/OnHoldActivityActionRequest' CreateOrchestrationActivityRequest: content: application/json: schema: type: object required: - yaml properties: yaml: type: string description: Request body for creating an orchestration activity UpdateOrchestrationActivityRequest: content: application/json: schema: type: object required: - yaml properties: yaml: type: string description: Request body for updating an orchestration activity 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