# Upload risk assessment data

Upload per-resource risk data and overall risk summary for an existing plan file.

Endpoint: POST /iacm/api/orgs/{org}/projects/{project}/workspaces/{workspace}/risk-assessment
Version: 1.0
Security: x-api-key

## Query parameters:

  - `pipeline_id` (string, required)
    The unique identifier for the associated pipeline
    Example: "Aut nihil praesentium libero eaque quia perspiciatis."

  - `stage_id` (string, required)
    The unique identifier for a stage
    Example: "Ducimus vel possimus aut omnis aliquam."

  - `pipeline_execution_id` (string, required)
    The unique identifier for the associated pipeline execution
    Example: "Nam delectus esse totam modi."

  - `pipeline_stage_id` (string, required)
    The unique identifier for the associated pipeline execution stage
    Example: "Ratione enim praesentium."

  - `provisioner_type` (string, required)
    Type of provisioner that created the data
    Enum: "tf", "awscdk"

  - `data_type` (string, required)
    Type of data stored
    Enum: "plan_human", "state_raw", "state_human", "cost_breakdown", "cost_diff", "modules", "providers", "cdk_template", "cdk_manifest", "cdk_tree", "cdk_assets", "cdk_diff"

  - `stack_path` (string)
    Optional path to the stack module
    Example: "Doloribus et labore dolorem."

## Path parameters:

  - `org` (string, required)
    Org is the organisation identifier.
    Example: "g"

  - `project` (string, required)
    Project is the project identifier.
    Example: "5e"

  - `workspace` (string, required)
    Workspace identifier
    Example: "workspace123"

## Header parameters:

  - `Harness-Account` (string, required)
    Account is the internal customer account ID.
    Example: "hz"

  - `Content-Length` (integer)
    Size in bytes of the risk data.
    Example: 3578187181745831000

## Response 200 fields (application/json):

  - `id` (string, required)
    The unique identifier for the data
    Example: "dc538c61-de48-4220-958c-5f3c4f983daa"

  - `policy_evaluation` (array)
    Individual policy evaluation details
    Example: [{"message":"Eaque ea nulla velit animi fuga molestias.","policy_id":"Minima hic commodi.","policy_name":"Quibusdam in.","policy_set_id":"Enim et ut earum eos eum.","policy_set_name":"Asperiores architecto.","policy_status":"Molestiae expedita ullam."},{"message":"Eaque ea nulla velit animi fuga molestias.","policy_id":"Minima hic commodi.","policy_name":"Quibusdam in.","policy_set_id":"Enim et ut earum eos eum.","policy_set_name":"Asperiores architecto.","policy_status":"Molestiae expedita ullam."},{"message":"Eaque ea nulla velit animi fuga molestias.","policy_id":"Minima hic commodi.","policy_name":"Quibusdam in.","policy_set_id":"Enim et ut earum eos eum.","policy_set_name":"Asperiores architecto.","policy_status":"Molestiae expedita ullam."},{"message":"Eaque ea nulla velit animi fuga molestias.","policy_id":"Minima hic commodi.","policy_name":"Quibusdam in.","policy_set_id":"Enim et ut earum eos eum.","policy_set_name":"Asperiores architecto.","policy_status":"Molestiae expedita ullam."}]

  - `policy_evaluation.message` (string, required)
    Example: "Possimus reiciendis laboriosam harum porro."

  - `policy_evaluation.policy_id` (string, required)
    Example: "Eum et facere."

  - `policy_evaluation.policy_name` (string, required)
    Example: "Voluptas dicta qui dolor ut."

  - `policy_evaluation.policy_set_id` (string, required)
    Example: "Eius dolor."

  - `policy_evaluation.policy_set_name` (string, required)
    Example: "Laborum nihil dignissimos qui."

  - `policy_evaluation.policy_status` (string, required)
    Example: "Facilis tempora id."

  - `policy_evaluation_message` (string)
    Pre-rendered message included when policy evaluation did not pass
    Example: "- instance type 'xlarge' is not permitted"

  - `policy_evaluation_status` (string)
    The overall status of policy evaluation (if it occurred) indicating whether it passed
    Enum: "error", "warning", "pass"

## Response 400 fields (application/vnd.goa.error):

  - `fault` (boolean, required)
    Is the error a server-side fault?
    Example: true

  - `id` (string, required)
    ID is a unique identifier for this particular occurrence of the problem.
    Example: "123abc"

  - `message` (string, required)
    Message is a human-readable explanation specific to this occurrence of the problem.
    Example: "parameter 'p' must be an integer"

  - `name` (string, required)
    Name is the name of this class of errors.
    Example: "bad_request"

  - `temporary` (boolean, required)
    Is the error temporary?
    Example: true

  - `timeout` (boolean, required)
    Is the error a timeout?
    Example: true


