/analysis/cloud/aws/<analysisId>/results
API request returns recommendations for one AWS account, since each analysis entity is defined by the AWS account connection. If you have more than one AWS account, an API request against a single account represents a subset of the full set of EC2 recommendations that are displayed in the Densify Console, since the optimization opportunities dashboard in the Densify Console contains recommendations for all connected AWS accounts. See Optimizing Your Public Cloud: EC2
Video: Understanding the Densify API Workflow
Video: Understanding the Densify API Workflow
Figure: Optimizing AWS EC2 Processes
Figure: Optimizing AWS EC2 Processes

- Data Collection—Collect AWS data anbd load into Densify. Use the Densify API or the Densify Console to initiate this process.
- Analysis—Analyze collected data based on pre-defined policies to make recommendations. The analysis process is initiated automatically after data collection completes. Results can be immediately pulled from the Densify API or pushed to a webhook URI once the analysis is complete.
- Reporting Database Update—Update reporting database tables with analysis results for reporting. The reporting database update process is scheduled to run nightly after the analysis process. The Densify Console optimization opportunity reports and the Impact Analysis and Recommendation reports are available after the reporting database update is complete.
Before you can collect data via AWS CloudWatch API, you need to create and configure an IAM role for Densify to have a trust relationship with your AWS account. See AWS Data Collection Prerequisites for an IAM Role for details.
- Authenticate using JWT—Retrieve token to authenticate each subsequent API call.
- Optional: Review Policy—Review a list of available policies to be used for analysis.
- Collect Data and Analyze—Start collecting data and initiate analysis (specify optional policy, optional webhook URI).
- Check for Analysis Status—Check for data collection and analysis status or wait for a webhook trigger to indicate that the analysis finished and downstream processing has initiated.
- Download EC2 Recommendations for Action—Retrieve recommendations for actioning or forward to orchestration engine.
- Optional: Download Impact Analysis and Recommendation Instance Report for system owners.
Postman Collection
Densify provides a Postman collection of sample API requests for working with your public cloud environments. See the Postman Collection.Authenticate using JWT
Use the/authorize
resource to retrieve an authenticated token to make subsequent API calls. See Authorize for details. By default, the token expires in 5 minutes, therefore you will need to ensure that you have an active token for each Densify API request.
Example: Retrieving an Authenticated Token
Example: Retrieving an Authenticated Token
Request:Response:Use the
POST /authorize
apiToken
value in your Authorization request header for subsequent Densify API calls.Review Policy
Use the/analysis/cloud/aws/policy
resource to view a list of policies available in Densify. You can use one of these policies for optimization analysis. This is an optional step as the analysis runs with the default policy if no policy is specified. See List AWS policies available for analysis on page 1 for details.
Example: Listing AWS Cloud Policies with Description
Example: Listing AWS Cloud Policies with Description
Request:Response:
Collect Data and Analyze
Initiate data collection and analysis for a given AWS account using the/analysis/cloud/aws/analyze
resource. See Analysis: AWS Analyze for details.
You can specify an override policy to use for your analysis and/or specify a webhook to publish results when analysis is complete.
Example: Running AWS Data Collection and Analysis with Override Policy and Webhook
Example: Running AWS Data Collection and Analysis with Override Policy and Webhook
Request:Response:
POST /analysis/cloud/aws/analyze
Check for Analysis Status
To find your AWS analysis entity, request for a list of existing AWS analyses available. Refer to List all analyses for a particular platform and vendor for details.Example: Listing all AWS Analyses Available
Example: Listing all AWS Analyses Available
Request:Response:
"analysisStatus"
resource element from the analysis entity to check for progress status. See Analysis: Status for details on this resource.
The analysis is complete and recommendations are available when "analysisStage": "Completed"
.
Example: Checking AWS Analysis Status
Example: Checking AWS Analysis Status
Request:Response:
Download EC2 Recommendations for Action
Use the/analysis/cloud/aws/<analysisId>/results
resource to retrieve EC2 recommendation results and forward them to a downstream orchestration engine for actioning. See Analysis: AWS Recommendations for details.
Example: Returning Low-Effort EC2 Recommendations in Terraform-map
Example: Returning Low-Effort EC2 Recommendations in Terraform-map
Request:Headers:
This request returns low-effort EC2 recommendations only for the account defined in the specified analysis (analysisId=9a5d2d55-6d85-4fde-8bab-fcd0cef8c5bf). If you want all EC2 recommendations for your Densify collected AWS infrastructure, you must accumulate the EC2 request results for all AWS analysis entities available in Densify.
Download Impact Analysis and Recommendation Instance Report
Use therptHref
resource element provided in the JSON recommendation output to download a PDF Impact Analysis and Recommendation Report for each instance. This report is available after a reporting database update, which is scheduled to run nightly. See rptHref and Example: Downloading an Impact Analysis and Recommendation Report for details.
Example: Downloading an Impact Analysis and Recommendation Report
Example: Downloading an Impact Analysis and Recommendation Report
Request:Headers: