ScheduledAction

Scheduled action definition.

Cost ManagementFinOpsCloud CostBillingBudgetsExportCost AnalysisForecastingChargebacksFocusMicrosoft AzureReserved Instances

Properties

Name Type Description
properties object The properties of the scheduled action.
eTag object 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 pa
kind object Kind of the scheduled action.
View JSON Schema on GitHub

JSON Schema

microsoft-azure-cost-management-scheduled-action-schema.json Raw ↑
{
  "$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-schema.json",
  "title": "ScheduledAction",
  "description": "Scheduled action definition.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-azure-cost-management-scheduledactionoperationgroup-api-openapi.yml#/components/schemas/ScheduledAction",
  "type": "object",
  "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"
    }
  ],
  "$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"
      ]
    },
    "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"
          }
        ]
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-azure-cost-management-scheduled-action"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.