{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-cost-management/json-schema/microsoft-azure-cost-management-scheduled-action-list-result-schema.json",
  "title": "ScheduledActionListResult",
  "description": "Scheduled actions list result. It contains a list of scheduled actions.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-cost-management-scheduledactionoperationgroup-api-openapi.yml#/components/schemas/ScheduledActionListResult",
  "type": "object",
  "properties": {
    "value": {
      "type": "array",
      "description": "The list of scheduled actions.",
      "items": {
        "$ref": "#/$defs/ScheduledAction"
      },
      "readOnly": true
    },
    "nextLink": {
      "type": "string",
      "description": "The link (url) to the next page of results."
    }
  },
  "$defs": {
    "Azure.Core.eTag": {
      "type": "string",
      "description": "The ETag (or entity tag) HTTP response header is an identifier for a specific version of a resource.\nIt lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content was not changed.\n\nIt is a string of ASCII characters placed between double quotes, like \"675af34563dc-tr34\"."
    },
    "DaysOfWeek": {
      "type": "string",
      "description": "Days of Week.",
      "enum": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday",
        "Saturday",
        "Sunday"
      ],
      "x-ms-enum": {
        "name": "DaysOfWeek",
        "modelAsString": true,
        "values": [
          {
            "name": "Monday",
            "value": "Monday"
          },
          {
            "name": "Tuesday",
            "value": "Tuesday"
          },
          {
            "name": "Wednesday",
            "value": "Wednesday"
          },
          {
            "name": "Thursday",
            "value": "Thursday"
          },
          {
            "name": "Friday",
            "value": "Friday"
          },
          {
            "name": "Saturday",
            "value": "Saturday"
          },
          {
            "name": "Sunday",
            "value": "Sunday"
          }
        ]
      }
    },
    "FileDestination": {
      "type": "object",
      "description": "Destination of the view data. This is optional. Currently only CSV format is supported.",
      "properties": {
        "fileFormats": {
          "type": "array",
          "description": "Destination of the view data. Currently only CSV format is supported.",
          "items": {
            "$ref": "#/$defs/FileFormat"
          }
        }
      }
    },
    "FileFormat": {
      "type": "string",
      "description": "Destination of the view data. Currently only CSV format is supported.",
      "enum": [
        "Csv"
      ],
      "x-ms-enum": {
        "name": "FileFormat",
        "modelAsString": true,
        "values": [
          {
            "name": "Csv",
            "value": "Csv"
          }
        ]
      }
    },
    "NotificationProperties": {
      "type": "object",
      "description": "The properties of the scheduled action notification.",
      "properties": {
        "to": {
          "type": "array",
          "description": "Array of email addresses.",
          "minItems": 1,
          "maxItems": 20,
          "items": {
            "type": "string"
          }
        },
        "language": {
          "type": "string",
          "description": "Locale of the email."
        },
        "message": {
          "type": "string",
          "description": "Optional message to be added in the email. Length is limited to 250 characters."
        },
        "regionalFormat": {
          "type": "string",
          "description": "Regional format used for formatting date/time and currency values in the email."
        },
        "subject": {
          "type": "string",
          "description": "Subject of the email. Length is limited to 70 characters."
        }
      },
      "required": [
        "to",
        "subject"
      ]
    },
    "ScheduleFrequency": {
      "type": "string",
      "description": "Frequency of the schedule.",
      "enum": [
        "Daily",
        "Weekly",
        "Monthly"
      ],
      "x-ms-enum": {
        "name": "ScheduleFrequency",
        "modelAsString": true,
        "values": [
          {
            "name": "Daily",
            "value": "Daily",
            "description": "Cost analysis data will be emailed every day."
          },
          {
            "name": "Weekly",
            "value": "Weekly",
            "description": "Cost analysis data will be emailed every week."
          },
          {
            "name": "Monthly",
            "value": "Monthly",
            "description": "Cost analysis data will be emailed every month."
          }
        ]
      }
    },
    "ScheduleProperties": {
      "type": "object",
      "description": "The properties of the schedule.",
      "properties": {
        "frequency": {
          "$ref": "#/$defs/ScheduleFrequency",
          "description": "Frequency of the schedule."
        },
        "hourOfDay": {
          "type": "integer",
          "format": "int32",
          "description": "UTC time at which cost analysis data will be emailed."
        },
        "daysOfWeek": {
          "type": "array",
          "description": "Day names in english on which cost analysis data will be emailed. This property is applicable when frequency is Weekly or Monthly.",
          "items": {
            "$ref": "#/$defs/DaysOfWeek"
          }
        },
        "weeksOfMonth": {
          "type": "array",
          "description": "Weeks in which cost analysis data will be emailed. This property is applicable when frequency is Monthly and used in combination with daysOfWeek.",
          "items": {
            "$ref": "#/$defs/WeeksOfMonth"
          }
        },
        "dayOfMonth": {
          "type": "integer",
          "format": "int32",
          "description": "UTC day on which cost analysis data will be emailed. Must be between 1 and 31. This property is applicable when frequency is Monthly and overrides weeksOfMonth or daysOfWeek."
        },
        "startDate": {
          "type": "string",
          "format": "date-time",
          "description": "The start date and time of the scheduled action (UTC)."
        },
        "endDate": {
          "type": "string",
          "format": "date-time",
          "description": "The end date and time of the scheduled action (UTC)."
        }
      },
      "required": [
        "frequency",
        "startDate",
        "endDate"
      ]
    },
    "ScheduledAction": {
      "type": "object",
      "description": "Scheduled action definition.",
      "properties": {
        "properties": {
          "$ref": "#/$defs/ScheduledActionProperties",
          "description": "The properties of the scheduled action.",
          "x-ms-client-flatten": true
        },
        "eTag": {
          "$ref": "#/$defs/Azure.Core.eTag",
          "description": "Resource Etag. For update calls, eTag is optional and can be specified to achieve optimistic concurrency. Fetch the resource's eTag by doing a 'GET' call first and then including the latest eTag as part of the request body or 'If-Match' header while performing the update. For create calls, eTag is not required."
        },
        "kind": {
          "$ref": "#/$defs/ScheduledActionKind",
          "description": "Kind of the scheduled action."
        }
      },
      "allOf": [
        {
          "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
        }
      ]
    },
    "ScheduledActionKind": {
      "type": "string",
      "description": "Kind of the scheduled action.",
      "enum": [
        "Email",
        "InsightAlert"
      ],
      "x-ms-enum": {
        "name": "ScheduledActionKind",
        "modelAsString": true,
        "values": [
          {
            "name": "Email",
            "value": "Email",
            "description": "Cost analysis data will be emailed."
          },
          {
            "name": "InsightAlert",
            "value": "InsightAlert",
            "description": "Cost anomaly information will be emailed. Available only on subscription scope at daily frequency. If no anomaly is detected on the resource, an email won't be sent."
          }
        ]
      }
    },
    "ScheduledActionProperties": {
      "type": "object",
      "description": "The properties of the scheduled action.",
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Scheduled action name."
        },
        "fileDestination": {
          "$ref": "#/$defs/FileDestination",
          "description": "Destination format of the view data. This is optional."
        },
        "notification": {
          "$ref": "#/$defs/NotificationProperties",
          "description": "Notification properties based on scheduled action kind."
        },
        "notificationEmail": {
          "type": "string",
          "description": "Email address of the point of contact that should get the unsubscribe requests and notification emails."
        },
        "schedule": {
          "$ref": "#/$defs/ScheduleProperties",
          "description": "Schedule of the scheduled action."
        },
        "scope": {
          "type": "string",
          "description": "For private scheduled action(Create or Update), scope will be empty.<br /> For shared scheduled action(Create or Update By Scope), Cost Management scope can be 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope."
        },
        "status": {
          "$ref": "#/$defs/ScheduledActionStatus",
          "description": "Status of the scheduled action."
        },
        "viewId": {
          "type": "string",
          "description": "Cost analysis viewId used for scheduled action. For example, '/providers/Microsoft.CostManagement/views/swaggerExample'"
        }
      },
      "required": [
        "displayName",
        "notification",
        "schedule",
        "status",
        "viewId"
      ]
    },
    "ScheduledActionStatus": {
      "type": "string",
      "description": "Status of the scheduled action.",
      "enum": [
        "Enabled",
        "Expired",
        "Disabled"
      ],
      "x-ms-enum": {
        "name": "ScheduledActionStatus",
        "modelAsString": true,
        "values": [
          {
            "name": "Enabled",
            "value": "Enabled",
            "description": "Scheduled action is saved and will be run."
          },
          {
            "name": "Expired",
            "value": "Expired",
            "description": "Scheduled action is expired."
          },
          {
            "name": "Disabled",
            "value": "Disabled",
            "description": "Scheduled action is saved but will not be run."
          }
        ]
      }
    },
    "WeeksOfMonth": {
      "type": "string",
      "description": "Weeks of month.",
      "enum": [
        "First",
        "Second",
        "Third",
        "Fourth",
        "Last"
      ],
      "x-ms-enum": {
        "name": "WeeksOfMonth",
        "modelAsString": true,
        "values": [
          {
            "name": "First",
            "value": "First"
          },
          {
            "name": "Second",
            "value": "Second"
          },
          {
            "name": "Third",
            "value": "Third"
          },
          {
            "name": "Fourth",
            "value": "Fourth"
          },
          {
            "name": "Last",
            "value": "Last"
          }
        ]
      }
    }
  }
}