Recommendations
DigiUsher features a comprehensive set of automated tools for ongoing optimization of registered cloud resources. This section helps maintain awareness of infrastructure deficiencies like configuration flaws, security risks, and cost optimization opportunities.
At the moment, a check-up is performed once a day and the results are reflected in the Recommendations hub, accessible via the left sidebar of the main page. Users with the Admin role can initialize a Force check that will immediately run the data sources' evaluation sequence.

Recommendation Categories
DigiUsher provides two main types of recommendations:
Cost Optimization Recommendations
These recommendations help reduce cloud costs by identifying waste, optimizing resource usage, and suggesting more cost-effective alternatives.
Security Recommendations
These recommendations identify security risks and misconfigurations that could expose your infrastructure to threats.
Available Recommendations
Cost Optimization
Storage & Volume Optimization
- Volumes Not Attached For A Long Time - Identifies volumes that haven't been attached for more than one day
- Disk Optimization - Identifies underutilized disk storage and suggests switching to lower-tier disk types
- Obsolete Snapshots - Finds redundant and old snapshots that can be deleted
- Abandoned Images - Identifies container/machine images that haven't been used to create new instances
- Obsolete Images - Machine images no longer used to launch instances with associated snapshot costs
- Obsolete Snapshot Chains - Identifies obsolete snapshot chains
- Obsolete IPs - IP addresses that haven't been used for more than 7 days
Compute Instance Optimization
- Abandoned Instances - Identifies instances with very low CPU and network utilization
- Rightsizing Instances - Suggests more suitable instance types for underutilized resources
- Instances for Shutdown - Identifies instances with predictable inactive periods for scheduled shutdown
- Instances in Stopped State - Finds instances stopped for extended periods but still incurring costs
- Short Living Instances - Identifies instances suitable for spot/preemptible pricing
- Instance Generation Upgrade - Suggests upgrading to newer generation instances
- Instance Migration - Recommends migrating instances to cheaper regions
- Instance Subscription - Subscription-based instance optimization opportunities
Database Optimization
- Rightsizing RDS - Finds underutilized RDS instances and suggests appropriate sizes
- Public RDS Access - Identifies publicly accessible RDS instances
- AWS RDS Extended Support - Recommendations for RDS extended support
Reserved Instances & Savings Plans
- Reserved Instances - Identifies opportunities to purchase Reserved Instances
- Subscription Level Reservations - Subscription-level reservation opportunities
Storage Services
- S3 Abandoned Buckets - Identifies abandoned S3 buckets with minimal usage
- S3 Public Buckets - Finds publicly accessible S3 buckets (Security Risk)
- Abandoned Kinesis Streams - Identifies unused Kinesis streams
Specialized Services
- Right Sizing Opportunity - Azure Advisor-based VM right-sizing recommendations
- Uncategorized Cost Recommendations - General cost optimization opportunities
Cloud Migration
- CVoS Opportunities - Nebius committed usage pricing opportunities
- Nebius Migration Opportunities - Cost savings through migration to Nebius cloud
Security Recommendations
Access Control & Users
- Inactive Users - Identifies IAM users inactive for more than 90 days
- Inactive Console Users - Finds inactive console users
Network Security
- Insecure Security Groups - Identifies security groups with overly permissive rules
Recommendation Details
Each recommendation provides:
- Clear identification criteria for flagged resources
- Potential cost savings or security risk assessment
- Step-by-step remediation guidance
- Best practices for prevention
- API integration for automation
- Export capabilities for bulk operations
Implementation Workflow
- Review Recommendations: Access the Recommendations hub to view current findings
- Prioritize Actions: Focus on high-impact, low-risk recommendations first
- Validate Findings: Verify recommendations align with business requirements
- Implement Changes: Apply recommendations following best practices
- Monitor Results: Track cost savings and security improvements
- Continuous Optimization: Regularly review and act on new recommendations
API Access
List Organization Optimizations API
Retrieve a list of optimization recommendations for a given organization. This endpoint provides detailed insights into active, dismissed, or excluded optimization opportunities, supporting filtering and customization for various use cases.
Endpoint: GET https://app.digiusher.com/restapi/v2/organizations/{organization_id}/optimizations
Required Permissions: INFO_ORGANIZATION (Generate an API key via User Management)
Parameters and Allowed Combinations
| Parameter | Type | Required | Description | Allowed When... | Notes / Restrictions |
|---|---|---|---|---|---|
organization_id | string | Yes | Organization ID | Always | Path parameter |
type | array | No | Types of optimizations to return. Multiple values allowed. | Allowed only if overview is not true | If provided, enables use of limit and status |
cloud_account_id | array | No | Filter by cloud account IDs. Multiple values allowed. | Always | Can be used with any valid combination |
limit | integer | No | Limit the number of returned optimization details (sorted by saving, descending). Must be > 0. | Allowed only if overview=true or type is provided | Must be >0 if provided. Not allowed by itself or with only status |
status | string | No | Return recommendations by status: active (default), dismissed, or excluded. | Allowed only if type is provided and overview is not true | Must be one of: active, dismissed, excluded. Defaults to active if omitted with type. |
overview | boolean | No | If true, returns optimizations in overview format. Default: false. | If true, type and status must not be provided; limit is optional | If overview=true, all other filtering except limit is ignored. status is internally set to active |
Example Request
curl -X GET \
"https://app.digiusher.com/restapi/v2/organizations/{organization_id}/optimizations" \
-H "accept: application/json" \
-H "Authorization: Bearer {api_key}"Responses
200 OK
Returns an object containing the optimization checklist and details:
id: Unique recommendation group IDdeleted_at: Deleted timestamp (service field)created_at: Created timestamp (service field)organization_id: Organization IDlast_run: Last run start timestampnext_run: Next run start timestamplast_completed: Last completed run timestamptotal_saving: Total saving value
Optimization Details Structure
optimizations: Active optimization details (e.g.,short_living_instances)dismissed_optimizations: Dismissed optimization details (e.g.,volumes_not_attached_for_a_long_time)excluded_optimizations: Excluded optimization details (e.g.,volumes_not_attached_for_a_long_time)
Each optimization type contains:
-
count: Number of objects -
saving: Total savings -
limit: Max objects returned (if limit applied) -
items: Array of resource objects, each with fields such as:cloud_resource_id,resource_name,cloud_account_id,cloud_account_name,resource_id,cloud_typepool: The pool the resource belongs to but not for some types such as subscription level recommendations- Cost and timestamp fields (e.g.,
total_cost,first_seen,last_seen) saving: Savings for the resource
-
options: Additional options relevant to the optimization type (e.g.,days_threshold,excluded_pools,skip_cloud_accounts)
Example Response Schema (Partial)
{
"total_saving": 105.21884475129997,
"optimizations": {
"abandoned_images": {
"count": 0,
"saving": 0
},
"abandoned_instances": {
"count": 0,
"saving": 0
}
}
}Error Responses
| Status | Description |
|---|---|
| 400 | Wrong arguments |
| 401 | Unauthorized access, missing auth |
| 403 | Forbidden access, missing permissions |
| 404 | Not found |
Security
- Requires authentication via
token
Usage Notes
- The
typeandstatusparameters can be combined for granular filtering. - The
limitparameter is only applicable together with thetypeparameter. - Timestamps are in Unix format (seconds since epoch).
- Savings are represented as numbers (currency or cost units as defined by your system).
Automation & Integration
Data Export
DigiUsher provides downloadable JSON data for automated processing:
- Export recommendation data in JSON format
- Integrate with infrastructure automation tools
- Create custom automation based on recommendations
Monitoring Integration
- Set up alerts for new recommendations
- Track recommendation resolution rates
- Monitor cost savings achieved
Workflow Integration
- Integrate with change management systems
- Set up approval workflows for high-risk changes
- Automate low-risk optimizations
Best Practices
Getting Started
- Start Small: Begin with low-risk, high-impact recommendations
- Test First: Validate changes in non-production environments
- Document Changes: Keep records of implemented recommendations
- Monitor Impact: Track both cost savings and any operational impacts
Ongoing Management
- Regular Reviews: Schedule weekly or monthly recommendation reviews
- Stakeholder Involvement: Include relevant teams in recommendation discussions
- Continuous Learning: Use recommendations to improve cloud practices
- Feedback Loop: Provide feedback on recommendation accuracy and usefulness
Risk Management
- Change Management: Follow established change management processes
- Backup Strategies: Ensure proper backups before making changes
- Rollback Plans: Have procedures to revert changes if needed
- Impact Assessment: Evaluate potential business impact before implementation
Support and Feedback
For questions about recommendations or to provide feedback:
- API Documentation: Detailed API documentation available in the platform
- Support: Contact DigiUsher support for technical assistance
- Feature Requests: Submit requests for new recommendation types
- Accuracy Feedback: Report any inaccurate recommendations for improvement
DigiUsher Documentation