Harness Cost Details API

Fetch cloud and AI cost data for cost analysis

Operations 5

POST /ccm/api/costdetails/overview/iacm Returns cost overview for IaCM resources #
POST /ccm/api/costdetails/overview Returns an overview of the cost #
POST /ccm/api/costdetails/clusterData Returns cluster data in a tabular format #
POST /ccm/api/costdetails/tabularformat Returns cost details in a tabular format #
POST /ccm/api/costdetails/timeseriesformat Returns cost details in a time series format #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/harness-cost-details-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

harness-cost-details-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Harness Cost Details 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: Cost Details
  description: Fetch cloud and AI cost data for cost analysis
paths:
  /ccm/api/costdetails/overview/iacm:
    post:
      tags:
      - Cost Details
      summary: Returns cost overview for IaCM resources
      description: Returns cost details for IaCM-managed resources based on cloud-native identifiers and Terraform provider/type metadata.
      operationId: iacmResourceCostOverview
      parameters:
      - name: accountIdentifier
        in: query
        description: Account Identifier for the Entity.
        required: true
        schema:
          type: string
      requestBody:
        description: IaCM resource cost request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IacmResourceCostRequest'
        required: true
      responses:
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Failure'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CcmError'
        default:
          description: Returns cost details for specified IaCM resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDTOIacmResourceCosts'
  /ccm/api/costdetails/overview:
    post:
      tags:
      - Cost Details
      summary: Returns an overview of the cost
      description: Returns total cost, cost trend, and the time period based on the specified query parameters.
      operationId: costdetailoverview
      parameters:
      - name: accountIdentifier
        in: query
        description: Account Identifier for the Entity.
        required: true
        schema:
          type: string
      - name: perspectiveId
        in: query
        description: Perspective identifier of the cost details
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: Start time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today - 7days
        schema:
          type: string
      - name: endTime
        in: query
        description: End time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today
        schema:
          type: string
      - name: isClusterHourlyData
        in: query
        description: To fetch cluster hourly data in case of cluster perspective. Defaults to false
        schema:
          type: boolean
      - name: useCostCategoryStampedData
        in: query
        schema:
          type: boolean
          default: false
      requestBody:
        description: Cost details query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostDetailsQueryParams'
      responses:
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Failure'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CcmError'
        default:
          description: Returns total cost, cost trend, and the time period based on the specified query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDTOCostOverview'
  /ccm/api/costdetails/clusterData:
    post:
      tags:
      - Cost Details
      summary: Returns cluster data in a tabular format
      description: Returns cluster data based on the specified query parameters.
      operationId: clusterData
      parameters:
      - name: accountIdentifier
        in: query
        description: Account Identifier for the Entity.
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: Start time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today - 7days
        schema:
          type: string
      - name: endTime
        in: query
        description: End time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today
        schema:
          type: string
      - name: isClusterHourlyData
        in: query
        description: To fetch cluster hourly data in case of cluster perspective. Defaults to false
        schema:
          type: boolean
      - name: useCostCategoryStampedData
        in: query
        schema:
          type: boolean
          default: false
      requestBody:
        description: Cost details query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClusterCostDetailsQueryParams'
        required: true
      responses:
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Failure'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CcmError'
        default:
          description: Returns cluster data in a tabular format based on the specified query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDTOListClusterCostDetails'
  /ccm/api/costdetails/tabularformat:
    post:
      tags:
      - Cost Details
      summary: Returns cost details in a tabular format
      description: Returns cost details in a tabular format based on the specified query parameters.
      operationId: costdetailtabular
      parameters:
      - name: accountIdentifier
        in: query
        description: Account Identifier for the Entity.
        required: true
        schema:
          type: string
      - name: perspectiveId
        in: query
        description: Perspective identifier of the cost details
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: Start time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today - 7days
        schema:
          type: string
      - name: endTime
        in: query
        description: End time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today
        schema:
          type: string
      - name: isClusterHourlyData
        in: query
        description: To fetch cluster hourly data in case of cluster perspective. Defaults to false
        schema:
          type: boolean
      - name: useCostCategoryStampedData
        in: query
        schema:
          type: boolean
          default: false
      requestBody:
        description: Cost details query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostDetailsQueryParams'
        required: true
      responses:
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Failure'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CcmError'
        default:
          description: Returns cost details in a tabular format based on the specified query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDTOPerspectiveEntityStatsData'
  /ccm/api/costdetails/timeseriesformat:
    post:
      tags:
      - Cost Details
      summary: Returns cost details in a time series format
      description: Returns cost details in a time series format based on the specified query parameters.
      operationId: costdetailttimeseries
      parameters:
      - name: accountIdentifier
        in: query
        description: Account Identifier for the Entity.
        required: true
        schema:
          type: string
      - name: perspectiveId
        in: query
        description: Perspective identifier of the cost details
        required: true
        schema:
          type: string
      - name: startTime
        in: query
        description: Start time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today - 7days
        schema:
          type: string
      - name: endTime
        in: query
        description: End time of the cost details. Should use org.joda.time.DateTime parsable format. Example, '2022-01-31', '2022-01-31T07:54Z' or '2022-01-31T07:54:51.264Z'.  Defaults to Today
        schema:
          type: string
      - name: isClusterHourlyData
        in: query
        description: To fetch cluster hourly data in case of cluster perspective. Defaults to false
        schema:
          type: boolean
      - name: useCostCategoryStampedData
        in: query
        schema:
          type: boolean
          default: false
      requestBody:
        description: Cost details query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostDetailsQueryParams'
        required: true
      responses:
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Failure'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CcmError'
        default:
          description: Returns cost details in a time series format based on the specified query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDTOPerspectiveTimeSeriesData'
components:
  schemas:
    CcmError:
      type: object
      properties:
        status:
          type: string
          enum:
          - SUCCESS
          - FAILURE
          - ERROR
        code:
          type: string
          enum:
          - DEFAULT_ERROR_CODE
          - INVALID_ARGUMENT
          - INVALID_EMAIL
          - DOMAIN_NOT_ALLOWED_TO_REGISTER
          - COMMNITY_EDITION_NOT_FOUND
          - DEPLOY_MODE_IS_NOT_ON_PREM
          - USER_ALREADY_REGISTERED
          - USER_INVITATION_DOES_NOT_EXIST
          - USER_DOES_NOT_EXIST
          - USER_INVITE_OPERATION_FAILED
          - USER_DISABLED
          - ACCOUNT_DOES_NOT_EXIST
          - INACTIVE_ACCOUNT
          - ACCOUNT_MIGRATED
          - ACCOUNT_MIGRATED_TO_NEXT_GEN
          - USER_DOMAIN_NOT_ALLOWED
          - MAX_FAILED_ATTEMPT_COUNT_EXCEEDED
          - RESOURCE_NOT_FOUND
          - INVALID_FORMAT
          - ROLE_DOES_NOT_EXIST
          - EMAIL_NOT_VERIFIED
          - EMAIL_VERIFICATION_TOKEN_NOT_FOUND
          - INVALID_TOKEN
          - REVOKED_TOKEN
          - INVALID_CAPTCHA_TOKEN
          - NOT_ACCOUNT_MGR_NOR_HAS_ALL_APP_ACCESS
          - EXPIRED_TOKEN
          - INVALID_AGENT_MTLS_AUTHORITY
          - TOKEN_ALREADY_REFRESHED_ONCE
          - ACCESS_DENIED
          - NG_ACCESS_DENIED
          - INVALID_CREDENTIAL
          - INVALID_CREDENTIALS_THIRD_PARTY
          - INVALID_KEY
          - INVALID_CONNECTOR_TYPE
          - INVALID_KEYPATH
          - INVALID_VARIABLE
          - UNKNOWN_HOST
          - UNREACHABLE_HOST
          - INVALID_PORT
          - SSH_SESSION_TIMEOUT
          - ALGORITHM_NEGOTIATION_ERROR
          - SOCKET_CONNECTION_ERROR
          - CONNECTION_ERROR
          - COULD_NOT_PROCESS_ERROR
          - SOCKET_CONNECTION_TIMEOUT
          - WINRM_COMMAND_EXECUTION_TIMEOUT
          - CONNECTION_TIMEOUT
          - SSH_CONNECTION_ERROR
          - USER_GROUP_ERROR
          - INVALID_EXECUTION_ID
          - ERROR_IN_GETTING_CHANNEL_STREAMS
          - UNEXPECTED
          - UNKNOWN_ERROR
          - UNKNOWN_EXECUTOR_TYPE_ERROR
          - DUPLICATE_STATE_NAMES
          - TRANSITION_NOT_LINKED
          - TRANSITION_TO_INCORRECT_STATE
          - TRANSITION_TYPE_NULL
          - STATES_WITH_DUP_TRANSITIONS
          - BARRIERS_NOT_RUNNING_CONCURRENTLY
          - NON_FORK_STATES
          - NON_REPEAT_STATES
          - INITIAL_STATE_NOT_DEFINED
          - FILE_INTEGRITY_CHECK_FAILED
          - INVALID_URL
          - FILE_DOWNLOAD_FAILED
          - PLATFORM_SOFTWARE_DELETE_ERROR
          - INVALID_CSV_FILE
          - INVALID_REQUEST
          - SCHEMA_VALIDATION_FAILED
          - FILTER_CREATION_ERROR
          - INVALID_YAML_ERROR
          - PLAN_CREATION_ERROR
          - INVALID_INFRA_STATE
          - PIPELINE_ALREADY_TRIGGERED
          - NON_EXISTING_PIPELINE
          - DUPLICATE_COMMAND_NAMES
          - INVALID_PIPELINE
          - COMMAND_DOES_NOT_EXIST
          - DUPLICATE_ARTIFACTSTREAM_NAMES
          - DUPLICATE_HOST_NAMES
          - STATE_NOT_FOR_TYPE
          - STATE_MACHINE_ISSUE
          - STATE_DISCONTINUE_FAILED
          - STATE_PAUSE_FAILED
          - PAUSE_ALL_ALREADY
          - RESUME_ALL_ALREADY
          - ROLLBACK_ALREADY
          - ABORT_ALL_ALREADY
          - EXPIRE_ALL_ALREADY
          - RETRY_FAILED
          - UNKNOWN_ARTIFACT_TYPE
          - UNKNOWN_STAGE_ELEMENT_WRAPPER_TYPE
          - INIT_TIMEOUT
          - LICENSE_EXPIRED
          - NOT_LICENSED
          - REQUEST_TIMEOUT
          - SCM_REQUEST_TIMEOUT
          - WORKFLOW_ALREADY_TRIGGERED
          - JENKINS_ERROR
          - INVALID_ARTIFACT_SOURCE
          - INVALID_ARTIFACT_SERVER
          - INVALID_CLOUD_PROVIDER
          - UPDATE_NOT_ALLOWED
          - DELETE_NOT_ALLOWED
          - APPDYNAMICS_CONFIGURATION_ERROR
          - APM_CONFIGURATION_ERROR
          - SPLUNK_CONFIGURATION_ERROR
          - ELK_CONFIGURATION_ERROR
          - LOGZ_CONFIGURATION_ERROR
          - SUMO_CONFIGURATION_ERROR
          - INSTANA_CONFIGURATION_ERROR
          - APPDYNAMICS_ERROR
          - STACKDRIVER_ERROR
          - STACKDRIVER_CONFIGURATION_ERROR
          - NEWRELIC_CONFIGURATION_ERROR
          - NEWRELIC_ERROR
          - DYNA_TRACE_CONFIGURATION_ERROR
          - DYNA_TRACE_ERROR
          - CLOUDWATCH_ERROR
          - CLOUDWATCH_CONFIGURATION_ERROR
          - PROMETHEUS_CONFIGURATION_ERROR
          - DATA_DOG_CONFIGURATION_ERROR
          - SERVICE_GUARD_CONFIGURATION_ERROR
          - ENCRYPTION_NOT_CONFIGURED
          - UNAVAILABLE_DELEGATES
          - WORKFLOW_EXECUTION_IN_PROGRESS
          - PIPELINE_EXECUTION_IN_PROGRESS
          - AWS_ACCESS_DENIED
          - AWS_CLUSTER_NOT_FOUND
          - AWS_SERVICE_NOT_FOUND
          - IMAGE_NOT_FOUND
          - ILLEGAL_ARGUMENT
          - IMAGE_TAG_NOT_FOUND
          - DELEGATE_NOT_AVAILABLE
          - INVALID_YAML_PAYLOAD
          - AUTHENTICATION_ERROR
          - AUTHORIZATION_ERROR
          - UNRECOGNIZED_YAML_FIELDS
          - COULD_NOT_MAP_BEFORE_YAML
          - MISSING_BEFORE_YAML
          - MISSING_YAML
          - NON_EMPTY_DELETIONS
          - GENERAL_YAML_ERROR
          - GENERAL_YAML_INFO
          - YAML_GIT_SYNC_ERROR
          - GIT_CONNECTION_ERROR
          - GIT_ERROR
          - ARTIFACT_SERVER_ERROR
          - ENCRYPT_DECRYPT_ERROR
          - SECRET_MANAGEMENT_ERROR
          - SECRET_NOT_FOUND
          - KMS_OPERATION_ERROR
          - GCP_KMS_OPERATION_ERROR
          - VAULT_OPERATION_ERROR
          - AWS_SECRETS_MANAGER_OPERATION_ERROR
          - AZURE_KEY_VAULT_OPERATION_ERROR
          - AZURE_KEY_VAULT_INTERRUPT_ERROR
          - UNSUPPORTED_OPERATION_EXCEPTION
          - FEATURE_UNAVAILABLE
          - GENERAL_ERROR
          - BASELINE_CONFIGURATION_ERROR
          - SAML_IDP_CONFIGURATION_NOT_AVAILABLE
          - INVALID_AUTHENTICATION_MECHANISM
          - INVALID_SAML_CONFIGURATION
          - INVALID_OAUTH_CONFIGURATION
          - INVALID_LDAP_CONFIGURATION
          - USER_GROUP_SYNC_FAILURE
          - USER_GROUP_ALREADY_EXIST
          - INVALID_TWO_FACTOR_AUTHENTICATION_CONFIGURATION
          - EXPLANATION
          - HINT
          - NOT_WHITELISTED_IP
          - INVALID_TOTP_TOKEN
          - EMAIL_FAILED
          - SSL_HANDSHAKE_FAILED
          - NO_APPS_ASSIGNED
          - INVALID_INFRA_CONFIGURATION
          - TEMPLATES_LINKED
          - USER_HAS_NO_PERMISSIONS
          - USER_NOT_AUTHORIZED
          - USER_ALREADY_PRESENT
          - EMAIL_ERROR
          - INVALID_USAGE_RESTRICTION
          - USAGE_RESTRICTION_ERROR
          - STATE_EXECUTION_INSTANCE_NOT_FOUND
          - DELEGATE_TASK_RETRY
          - KUBERNETES_API_TASK_EXCEPTION
          - KUBERNETES_TASK_EXCEPTION
          - KUBERNETES_YAML_ERROR
          - SAVE_FILE_INTO_AWS_STORAGE_FAILED
          - READ_FILE_FROM_AWS_STORAGE_FAILED
          - SAVE_FILE_INTO_GCP_STORAGE_FAILED
          - READ_FILE_FROM_GCP_STORAGE_FAILED
          - FILE_NOT_FOUND_ERROR
          - USAGE_LIMITS_EXCEEDED
          - EVENT_PUBLISH_FAILED
          - CUSTOM_APPROVAL_ERROR
          - JIRA_ERROR
          - EXPRESSION_EVALUATION_FAILED
          - KUBERNETES_VALUES_ERROR
          - KUBERNETES_CLUSTER_ERROR
          - INCORRECT_SIGN_IN_MECHANISM
          - OAUTH_LOGIN_FAILED
          - INVALID_TERRAFORM_TARGETS_REQUEST
          - TERRAFORM_EXECUTION_ERROR
          - FILE_READ_FAILED
          - FILE_SIZE_EXCEEDS_LIMIT
          - CLUSTER_NOT_FOUND
          - MARKETPLACE_TOKEN_NOT_FOUND
          - INVALID_MARKETPLACE_TOKEN
          - INVALID_TICKETING_SERVER
          - SERVICENOW_ERROR
          - PASSWORD_EXPIRED
          - USER_LOCKED
          - PASSWORD_STRENGTH_CHECK_FAILED
          - ACCOUNT_DISABLED
          - INVALID_ACCOUNT_PERMISSION
          - PAGERDUTY_ERROR
          - HEALTH_ERROR
          - SAML_TEST_SUCCESS_MECHANISM_NOT_ENABLED
          - DOMAIN_WHITELIST_FILTER_CHECK_FAILED
          - INVALID_DASHBOARD_UPDATE_REQUEST
          - DUPLICATE_FIELD
          - INVALID_AZURE_VAULT_CONFIGURATION
          - USER_NOT_AUTHORIZED_DUE_TO_USAGE_RESTRICTIONS
          - INVALID_ROLLBACK
          - DATA_COLLECTION_ERROR
          - SUMO_DATA_COLLECTION_ERROR
          - DEPLOYMENT_GOVERNANCE_ERROR
          - BATCH_PROCESSING_ERROR
          - GRAPHQL_ERROR
          - FILE_CREATE_ERROR
          - ILLEGAL_STATE
          - GIT_DIFF_COMMIT_NOT_IN_ORDER
          - FAILED_TO_ACQUIRE_PERSISTENT_LOCK
          - FAILED_TO_ACQUIRE_NON_PERSISTENT_LOCK
          - POD_NOT_FOUND_ERROR
          - COMMAND_EXECUTION_ERROR
          - REGISTRY_EXCEPTION
          - ENGINE_INTERRUPT_PROCESSING_EXCEPTION
          - ENGINE_IO_EXCEPTION
          - ENGINE_OUTCOME_EXCEPTION
          - ENGINE_SWEEPING_OUTPUT_EXCEPTION
          - CACHE_NOT_FOUND_EXCEPTION
          - ENGINE_ENTITY_UPDATE_EXCEPTION
          - SHELL_EXECUTION_EXCEPTION
          - TEMPLATE_NOT_FOUND
          - AZURE_SERVICE_EXCEPTION
          - AZURE_CLIENT_EXCEPTION
          - GIT_UNSEEN_REMOTE_HEAD_COMMIT
          - TIMEOUT_ENGINE_EXCEPTION
          - NO_AVAILABLE_DELEGATES
          - NO_GLOBAL_DELEGATE_ACCOUNT
          - NO_INSTALLED_DELEGATES
          - DUPLICATE_DELEGATE_EXCEPTION
          - GCP_MARKETPLACE_EXCEPTION
          - MISSING_DEFAULT_GOOGLE_CREDENTIALS
          - INCORRECT_DEFAULT_GOOGLE_CREDENTIALS
          - OPTIMISTIC_LOCKING_EXCEPTION
          - NG_PIPELINE_EXECUTION_EXCEPTION
          - NG_PIPELINE_CREATE_EXCEPTION
          - RESOURCE_NOT_FOUND_EXCEPTION
          - PMS_INITIALIZE_SDK_EXCEPTION
          - UNEXPECTED_SNIPPET_EXCEPTION
          - UNEXPECTED_SCHEMA_EXCEPTION
          - CONNECTOR_VALIDATION_EXCEPTION
          - TIMESCALE_NOT_AVAILABLE
          - MIGRATION_EXCEPTION
          - REQUEST_PROCESSING_INTERRUPTED
          - SECRET_MANAGER_ID_NOT_FOUND
          - GCP_SECRET_MANAGER_OPERATION_ERROR
          - GCP_SECRET_OPERATION_ERROR
          - GIT_OPERATION_ERROR
          - TASK_FAILURE_ERROR
          - INSTANCE_STATS_PROCESS_ERROR
          - INSTANCE_STATS_MIGRATION_ERROR
          - DEPLOYMENT_MIGRATION_ERROR
          - CG_LICENSE_USAGE_ERROR
          - INSTANCE_STATS_AGGREGATION_ERROR
          - UNRESOLVED_EXPRESSIONS_ERROR
          - KRYO_HANDLER_NOT_FOUND_ERROR
          - DELEGATE_ERROR_HANDLER_EXCEPTION
          - DELEGATE_SERVICE_DRIVER_EXCEPTION
          - DELEGATE_INSTALLATION_COMMAND_NOT_SUPPORTED_EXCEPTION
          - UNEXPECTED_TYPE_ERROR
          - EXCEPTION_HANDLER_NOT_FOUND
          - CONNECTOR_NOT_FOUND_EXCEPTION
          - GCP_SERVER_ERROR
          - HTTP_RESPONSE_EXCEPTION
          - SCM_NOT_FOUND_ERROR
          - SCM_CONFLICT_ERROR
          - SCM_CONFLICT_ERROR_V2
          - SCM_UNPROCESSABLE_ENTITY
          - PROCESS_EXECUTION_EXCEPTION
          - SCM_UNAUTHORIZED
          - SCM_BAD_REQUEST
          - SCM_INTERNAL_SERVER_ERROR
          - DATA
          - CONTEXT
          - PR_CREATION_ERROR
          - URL_NOT_REACHABLE
          - URL_NOT_PROVIDED
          - ENGINE_EXPRESSION_EVALUATION_ERROR
          - ENGINE_FUNCTOR_ERROR
          - JIRA_CLIENT_ERROR
          - SCM_NOT_MODIFIED
          - APPROVAL_STEP_NG_ERROR
          - BUCKET_SERVER_ERROR
          - GIT_SYNC_ERROR
          - TEMPLATE_EXCEPTION
          - TEMPLATE_ALREADY_EXISTS_EXCEPTION
          - ENTITY_REFERENCE_EXCEPTION
          - ACTIVE_SERVICE_INSTANCES_PRESENT_EXCEPTION
          - INVALID_INPUT_SET
          - INVALID_OVERLAY_INPUT_SET
          - RESOURCE_ALREADY_EXISTS
          - INVALID_JSON_PAYLOAD
          - POLICY_EVALUATION_FAILURE
          - POLICY_SET_ERROR
          - INVALID_ARTIFACTORY_REGISTRY_REQUEST
          - INVALID_NEXUS_REGISTRY_REQUEST
          - ENTITY_NOT_FOUND
          - GITX_OAUTH_NOT_SET
          - INVALID_AZURE_CONTAINER_REGISTRY_REQUEST
          - AZURE_AUTHENTICATION_ERROR
          - AZURE_CONFIG_ERROR
          - DATA_PROCESSING_ERROR
          - INVALID_AZURE_AKS_REQUEST
          - AWS_IAM_ERROR
          - AWS_CF_ERROR
          - AWS_INSTANCE_ERROR
          - AWS_VPC_ERROR
          - AWS_TAG_ERROR
          - AWS_ASG_ERROR
          - AWS_LOAD_BALANCER_ERROR
          - SCM_INTERNAL_SERVER_ERROR_V2
          - SCM_FAILED_DEPENDENCY_ERROR
          - SCM_UNAUTHORIZED_ERROR_V2
          - TOO_MANY_REQUESTS
          - SCM_RATE_LIMIT_ERROR
          - INVALID_IDENTIFIER_REF
          - SPOTINST_NULL_ERROR
          - SPOTNIST_REST_EXCEPTION
          - SCM_UNEXPECTED_ERROR
          - DUPLICATE_FILE_IMPORT
          - AZURE_APP_SERVICES_TASK_EXCEPTION
          - AZURE_ARM_TASK_EXCEPTION
          - AZURE_BP_TASK_EXCEPTION
          - MEDIA_NOT_SUPPORTED
          - AWS_ECS_ERROR
          - AWS_APPLICATION_AUTO_SCALING
          - AWS_ECS_SERVICE_NOT_ACTIVE
          - AWS_ECS_CLIENT_ERROR
          - AWS_STS_ERROR
          - FREEZE_EXCEPTION
          - MISSING_EXCEPTION
          - DELEGATE_TASK_EXPIRED
          - DELEGATE_TASK_VALIDATION_FAILED
          - MONGO_EXECUTION_TIMEOUT_EXCEPTION
          - DELEGATE_NOT_REGISTERED
          - TERRAFORM_VAULT_SECRET_CLEANUP_FAILURE
          - APPROVAL_REJECTION
          - TERRAGRUNT_EXECUTION_ERROR
          - ADFS_ERROR
          - TERRAFORM_CLOUD_ERROR
          - CLUSTER_CREDENTIALS_NOT_FOUND
          - SCM_API_ERROR
          - INTERNAL_SERVER_ERROR
          - SCM_FORBIDDEN
          - AWS_EKS_ERROR
          - OPA_POLICY_EVALUATION_ERROR
          - USER_MARKED_FAILURE
          - SSH_RETRY
          - HTTP_CLIENT_ERROR_RESPONSE
          - HTTP_INTERNAL_SERVER_ERROR
          - HTTP_BAD_GATEWAY
          - HTTP_SERVICE_UNAVAILABLE
          - HTTP_GATEWAY_TIMEOUT
          - HTTP_SERVER_ERROR_RESPONSE
          - PIPELINE_UPDATE_EXCEPTION
          - SERVICENOW_REFRESH_TOKEN_ERROR
          - PARAMETER_FIELD_CAST_ERROR
          - ABORT_ALL_ALREADY_NG
          - WEBHOOK_EXCEPTION
          - INVALID_OIDC_CONFIGURATION
          - INVALID_CREDENTIALS
          - INVALID_OR_PRIVATE_REPO
          - BARRIER_FAILED_ERROR
          - ELASTICSEARCH_NOT_AVAILABLE
          - OBJECT_STORE_NOT_AVAILABLE
          - NO_ELIGIBLE_RUNNERS
          - NO_AVAILABLE_RUNNERS
          - RUNNER_DISCONNECTED
          - EVENT_LISTENER_STEP_FAILURE
          - TRANSACTION_ABORTED
          - UNRESOLVED_EXPRESSIONS_WITH_CONTEXT_ERROR
        message:
          type: string
        correlationId:
          type: string
        detailedMessage:
          type: string
        responseMessages:
          type: array
          items:
            $ref: '#/components/schemas/ResponseMessage'
        metadata:
          $ref: '#/components/schemas/CcmErrorMetadata'
      description: This is Error entity as defined in Harness
    Failure:
      type: object
      properties:
        status:
          type: string
          enum:
          - SUCCESS
          - FAILURE
          - ERROR
        code:
          type: string
          enum:
          - DEFAULT_ERROR_CODE
          - INVALID_ARGUMENT
          - INVALID_EMAIL
          - DOMAIN_NOT_ALLOWED_TO_REGISTER
          - COMMNITY_EDITION_NOT_FOUND
          - DEPLOY_MODE_IS_NOT_ON_PREM
          - USER_ALREADY_REGISTERED
          - USER_INVITATION_DOES_NOT_EXIST
          - USER_DOES_NOT_EXIST
          - USER_INVITE_OPERATION_FAILED
          - USER_DISABLED
          - ACCOUNT_DOES_NOT_EXIST
          - INACTIVE_ACCOUNT
          - ACCOUNT_MIGRATED
          - ACCOUNT_MIGRATED_TO_NEXT_GEN
          - USER_DOMAIN_NOT_ALLOWED
          - MAX_FAILED_ATTEMPT_COUNT_EXCEEDED
          - RESOURCE_NOT_FOUND
          - INVALID_FORMAT
          - ROLE_DOES_NOT_EXIST
          - EMAIL_NOT_VERIFIED
          - EMAIL_VERIFICATION_TOKEN_NOT_FOUND
          - INVALID_TOKEN
          - REVOKED_TOKEN
          - INVALID_CAPTCHA_TOKEN
          - NOT_ACCOUNT_MGR_NOR_HAS_ALL_APP_ACCESS
          - EXPIRED_TOKEN
          - INVALID_AGENT_MTLS_AUTHORITY
          - TOKEN_ALREADY_REFRESHED_ONCE
          - ACCESS_DENIED
          - NG_ACCESS_DENIED
          - INVALID_CREDENTIAL
          - INVALID_CREDENTIALS_THIRD_PARTY
          - INVALID_KEY
          - INVALID_CONNECTOR_TYPE
          - INVALID_KEYPATH
          - INVALID_VARIABLE
          - UNKNOWN_HOST
          - UNREACHABLE_HOST
          - INVALID_PORT
          - SSH_SESSION_TIMEOUT
          - ALGORITHM_NEGOTIATION_ERROR
          - SOCKET_CONNECTION_ERROR
          - CONNECTION_ERROR
          - COULD_NOT_PROCESS_ERROR
          - SOCKET_CONNECTION_TIMEOUT
          - WINRM_COMMAND_EXECUTION_TIMEOUT
          - CONNECTION_TIMEOUT
          - SSH_CONNECTION_ERROR
          - USER_GROUP_ERROR
          - INVALID_EXECUTION_ID
          - ERROR_IN_GETTING_CHANNEL_STREAMS
          - UNEXPECTED
          - UNKNOWN_ERROR
          - UNKNOWN_EXECUTOR_TYPE_ERROR
          - DUPLICATE_STATE_NAMES
          - TRANSITION_NOT_LINKED
          - TRANSITION_TO_INCORRECT_STATE
          - TRANSITION_TYPE_NULL
          - STATES_WITH_DUP_TRANSITIONS
          - BARRIERS_NOT_RUNNING_CONCURRENTLY
          - NON_FORK_STATES
          - NON_REPEAT_STATES
          - INITIAL_STATE_NOT_DEFINED
          - FILE_INTEGRITY_CHECK_FAILED
          - INVALID_URL
          - FILE_DOWNLOAD_FAILED
          - PLATFORM_SOFTWARE_DELETE_ERROR
          - INVALID_CSV_FILE
          - INVALID_REQUEST
          - SCHEMA_VALIDATION_FAILED
          - FILTER_CREATION_ERROR
          - INVALID_YAML_ERROR
          - PLAN_CREATION_ERROR
          - INVALID_INFRA_STATE
          - PIPELINE_ALREADY_TRIGGERED
          - NON_EXISTING_PIPELINE
          - DUPLICATE_COMMAND_NAMES
          - INVALID_PIPELINE
          - COMMAND_DOES_NOT_EXIST
          - DUPLICATE_ARTIFACTSTREAM_NAMES
          - DUPLICATE_HOST_NAMES
          - STATE_NOT_FOR_TYPE
          - STATE_MACHINE_ISSUE
          - STATE_DISCONTINUE_FAILED
          - STATE_PAUSE_FAILED
          - PAUSE_ALL_ALREADY
          - RESUME_ALL_ALREADY
          - ROLLBACK_ALREADY
          - ABORT_ALL_ALREADY
          - EXPIRE_ALL_ALREADY
          - RETRY_FAILED
          - UNKNOWN_ARTIFACT_TYPE
          - UNKNOWN_STAGE_ELEMENT_WRAPPER_TYPE
          - INIT_TIMEOUT
          - LICENSE_EXPIRED
          - NOT_LICENSED
          - REQUEST_TIMEOUT
          - SCM_REQUEST_TIMEOUT
          - WORKFLOW_ALREADY_TRIGGERED
          - JENKINS_ERROR
          - INVALID_ARTIFACT_SOURCE
          - INVALID_ARTIFACT_SERVER
          - INVALID_CLOUD_PROVIDER
          - UPDATE_NOT_ALLOWED
          - DELETE_NOT_ALLOWED
          - APPDYNAMICS_CONFIGURATION_ERROR
          - APM_CONFIGURATION_ERROR
          - SPLUNK_CONFIGURATION_ERROR
          - ELK_CONFIGURATION_ERROR
          - LOGZ_CONFIGURATION_ERROR
          - SUMO_CONFIGURATION_ERROR
          - INSTANA_CONFIGURATION_ERROR
          - APPDYNAMICS_ERROR
          - STACKDRIVER_ERROR
          - STACKDRIVER_CONFIGURATION_ERROR
          - NEWRELIC_CONFIGURATION_ERROR
          - NEWRELIC_ERROR
          - DYNA_TRACE_CONFIGURATION_ERROR
          - DYNA_TRACE_ERROR
          - CLOUDWATCH_ERROR
          - CLOUDWATCH_CONFIGURATION_ERROR
          - PROMETHEUS_CONFIGURATION_ERROR
          - DATA_DOG_CONFIGURATION_ERROR
          - SERVICE_GUARD_CONFIGURATION_ERROR
          - ENCRYPTION_NOT_CONFIGURED
          - UNAVAILABLE_DELEGATES
          - WORKFLOW_EXECUTION_IN_PROGRESS
          - PIPELINE_EXECUTION_IN_PROGRESS
          - AWS_ACCESS_DENIED
          - AWS_CLUSTER_NOT_FOUND
          - AWS_SERVICE_NOT_FOUND
          - IMAGE_NOT_FOUND
          - ILLEGAL_ARGUMENT
          - IMAGE_TAG_NOT_FOUND
          - DELEGATE_NOT_AVAILABLE
          - INVALID_YAML_PAYLOAD
          - AUTHENTICATION_ERROR
          - AUTHORIZATION_ERROR
          - UNRECOGNIZED_YAML_FIELDS
          - COULD_NOT_MAP_BEFORE_YAML
          - MISSING_BEFORE_YAML
          - MISSING_YAML
          - NON_EMPTY_DELETIONS
          - GENERAL_YAML_ERROR
          - GENERAL_YAML_INFO
          - YAML_GIT_SYNC_ERROR
          - GIT_CONNECTION_ERROR
          - GIT_ERROR
          - ARTIFACT_SERVER_ERROR
          - ENCRYPT_DECRYPT_ERROR
          - SECRET_MANAGEMENT_ERROR
          - SECRET_NOT_FOUND
          - KMS_OPERATION_ERROR
          - GCP_KMS_OPERATION_ERROR
          - VAULT_OPERATION_ERROR
          - AWS_SECRETS_MANAGER_OPERATION_ERROR
          - AZURE_KEY_VAULT_OPERATION_ERROR
          - AZURE_KEY_VAULT_INTERRUPT_ERROR
          - UNSUPPORTED_OPERATION_EXCEPTION
          - FEATURE_UNAVAILABLE
          - GENERAL_ERROR
          - BASELINE_CONFIGURATION_ERROR
          - SAML_IDP_CONFIGURATION_NOT_AVAILABLE
          - INVALID_AUTHENTICATION_MECHANISM
          - INVALID_SAML_CONFIGURATION
          - INVALID_OAUTH_CONFIGURATION
          - INVALID_LDAP_CONFIGURATION
          - USER_GROUP_SYNC_FAILURE
          - USER_GROUP_ALREADY_EXIST
          - INVALID_TWO_FACTOR_AUTHENTICATION_CONFIGURATION
          - EXPLANATION
          - HINT
          - NOT_WHITELISTED_IP
          - INVALID_TOTP_TOKEN
          - EMAIL_FAILED
          - SSL_HANDSHAKE_FAILED
          - NO_APPS_ASSIGNED
          - INVALID_INFRA_CONFIGURATION
          - TEMPLATES_LINKED
          - USER_HAS_NO_PERMISSIONS
          - USER_NOT_AUTHORIZED
          - USER_ALREADY_PRESENT
          - EMAIL_ERROR
          - INVALID_USAGE_RESTRICTION
          - USAGE_RESTRICTION_ERROR
          - STATE_EXECUTION_INSTANCE_NOT_FOU

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harness/refs/heads/main/openapi/harness-cost-details-api-openapi.yml