{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-billing-and-cost-management/json-schema/amazon-billing-and-cost-management-list-recommendations-request-schema.json",
  "title": "ListRecommendationsRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-billing-and-cost-management-recommendations-api-openapi.yml#/components/schemas/ListRecommendationsRequest",
  "type": "object",
  "properties": {
    "filter": {
      "$ref": "#/$defs/Filter"
    },
    "orderBy": {
      "$ref": "#/$defs/OrderBy"
    },
    "includeAllRecommendations": {
      "type": "string",
      "description": "List of all recommendations for a resource, or a single recommendation if de-duped by resourceId."
    },
    "maxResults": {
      "type": "integer",
      "description": "The maximum number of recommendations that are returned for the request."
    },
    "nextToken": {
      "type": "string",
      "description": "The token to retrieve the next set of results."
    }
  },
  "$defs": {
    "CostOptimizationHubTag": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "The key that's associated with the tag."
        },
        "value": {
          "type": "string",
          "description": "The value that's associated with the tag."
        }
      }
    },
    "Filter": {
      "type": "object",
      "properties": {
        "restartNeeded": {
          "type": "boolean",
          "description": "Whether or not implementing the recommendation requires a restart."
        },
        "rollbackPossible": {
          "type": "boolean",
          "description": "Whether or not implementing the recommendation can be rolled back."
        },
        "implementationEfforts": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "VeryLow",
              "Low",
              "Medium",
              "High",
              "VeryHigh"
            ]
          },
          "description": "The effort required to implement the recommendation."
        },
        "accountIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The account to which the recommendation applies."
        },
        "regions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The Amazon Web Services Region of the resource."
        },
        "resourceTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Ec2Instance",
              "LambdaFunction",
              "EbsVolume",
              "EcsService",
              "Ec2AutoScalingGroup",
              "Ec2InstanceSavingsPlans",
              "ComputeSavingsPlans",
              "SageMakerSavingsPlans",
              "Ec2ReservedInstances",
              "RdsReservedInstances",
              "OpenSearchReservedInstances",
              "RedshiftReservedInstances",
              "ElastiCacheReservedInstances",
              "RdsDbInstanceStorage",
              "RdsDbInstance",
              "AuroraDbClusterStorage",
              "DynamoDbReservedCapacity",
              "MemoryDbReservedInstances",
              "NatGateway",
              "DynamoDBTable",
              "ElastiCacheCluster",
              "MemoryDBCluster",
              "DocumentDBCluster",
              "WorkSpaces",
              "SageMakerEndpoint"
            ]
          },
          "description": "The resource type of the recommendation."
        },
        "actionTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Rightsize",
              "Stop",
              "Upgrade",
              "PurchaseSavingsPlans",
              "PurchaseReservedInstances",
              "MigrateToGraviton",
              "Delete",
              "ScaleIn"
            ]
          },
          "description": "The type of action you can take by adopting the recommendation."
        },
        "tags": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CostOptimizationHubTag"
          },
          "description": "A list of tags assigned to the recommendation."
        },
        "resourceIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The resource ID of the recommendation."
        },
        "resourceArns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The Amazon Resource Name (ARN) of the recommendation."
        },
        "recommendationIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The IDs for the recommendations."
        }
      }
    },
    "OrderBy": {
      "type": "object",
      "properties": {
        "dimension": {
          "type": "string",
          "description": "Sorts by dimension values."
        },
        "order": {
          "type": "string",
          "enum": [
            "Asc",
            "Desc"
          ],
          "description": "The order that's used to sort the data."
        }
      }
    }
  }
}