Azure Cost Management Scheduled Actions API

Manage scheduled actions that email a saved Cost Analysis view on a recurrence, and run them on demand.

Operations 5

GET /providers/Microsoft.CostManagement/scheduledActions #
GET /providers/Microsoft.CostManagement/scheduledActions/{name} #
PUT /providers/Microsoft.CostManagement/scheduledActions/{name} #
DELETE /providers/Microsoft.CostManagement/scheduledActions/{name} #
POST /providers/Microsoft.CostManagement/scheduledActions/{name}/execute #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/microsoft-azure-cost-management-scheduledactions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

microsoft-azure-cost-management-scheduledactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CostManagementClient Scheduled Actions API
  version: '2026-06-01'
  description: CostManagement management client provides access to CostManagement resources for Azure Enterprise Subscriptions.
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
  x-api-evangelist-common-types: Azure Resource Manager common-types v5 components referenced by this contract were inlined
    from https://github.com/Azure/azure-rest-api-specs/tree/main/specification/common-types/resource-management/v5 and prefixed
    Arm, so the document resolves standalone. Microsoft's published document $refs them by relative path across repository
    directories.
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: ScheduledActions
paths:
  /providers/Microsoft.CostManagement/scheduledActions:
    get:
      operationId: ScheduledActions_List
      tags:
      - ScheduledActions
      description: List all private scheduled actions.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/cost-management/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: $filter
        in: query
        description: May be used to filter scheduled actions by properties/viewId. Supported operator is 'eq'.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledActionListResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        PrivateScheduledActionsList:
          $ref: ../examples/scheduledActions/scheduledActions-list-private.json
        PrivateScheduledActionsListFilterByViewId:
          $ref: ../examples/scheduledActions/scheduledActions-listWithFilter-private.json
      x-ms-pageable:
        nextLinkName: nextLink
  /providers/Microsoft.CostManagement/scheduledActions/{name}:
    get:
      operationId: ScheduledActions_Get
      tags:
      - ScheduledActions
      description: Get the private scheduled action by name.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/cost-management/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: name
        in: path
        description: Scheduled action name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledAction'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        PrivateScheduledAction:
          $ref: ../examples/scheduledActions/scheduledAction-get-private.json
    put:
      operationId: ScheduledActions_CreateOrUpdate
      tags:
      - ScheduledActions
      description: Create or update a private scheduled action.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: name
        in: path
        description: Scheduled action name.
        required: true
        schema:
          type: string
      - name: If-Match
        in: header
        description: ETag of the Entity. Not required when creating an entity. Optional when updating an entity and can be
          specified to achieve optimistic concurrency.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Resource 'ScheduledAction' update operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledAction'
        '201':
          description: Resource 'ScheduledAction' create operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledAction'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        CreateOrUpdatePrivateScheduledAction:
          $ref: ../examples/scheduledActions/scheduledAction-createOrUpdate-private.json
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduledAction'
        description: Scheduled action to be created or updated.
        required: true
    delete:
      operationId: ScheduledActions_Delete
      tags:
      - ScheduledActions
      description: Delete a private scheduled action.
      externalDocs:
        url: https://docs.microsoft.com/rest/api/cost-management/
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: name
        in: path
        description: Scheduled action name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Resource deleted successfully.
        '204':
          description: Resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        PrivateScheduledActionDelete:
          $ref: ../examples/scheduledActions/scheduledAction-delete-private.json
  /providers/Microsoft.CostManagement/scheduledActions/{name}/execute:
    post:
      operationId: ScheduledActions_Run
      tags:
      - ScheduledActions
      description: Processes a private scheduled action.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - name: name
        in: path
        description: Scheduled action name.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseWithNestedDetails'
      x-ms-examples:
        ScheduledActionSendNow:
          $ref: ../examples/scheduledActions/scheduledAction-sendNow-private.json
components:
  schemas:
    ArmProxyResource:
      type: object
      title: Proxy Resource
      description: The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a
        location
      allOf:
      - $ref: '#/components/schemas/ArmResource'
    ArmResource:
      type: object
      title: Resource
      description: Common fields that are returned in the response for all Azure Resource Manager resources
      properties:
        id:
          type: string
          format: arm-id
          description: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
          readOnly: true
        name:
          type: string
          description: The name of the resource
          readOnly: true
        type:
          type: string
          description: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
          readOnly: true
        systemData:
          $ref: '#/components/schemas/ArmsystemData'
          description: Azure Resource Manager metadata containing createdBy and modifiedBy information.
          readOnly: true
      x-ms-azure-resource: true
    ArmsystemData:
      type: object
      description: Metadata pertaining to creation and last modification of the resource.
      properties:
        createdBy:
          type: string
          description: The identity that created the resource.
        createdByType:
          type: string
          description: The type of identity that created the resource.
          enum:
          - User
          - Application
          - ManagedIdentity
          - Key
          x-ms-enum:
            name: createdByType
            modelAsString: true
        createdAt:
          type: string
          format: date-time
          description: The timestamp of resource creation (UTC).
        lastModifiedBy:
          type: string
          description: The identity that last modified the resource.
        lastModifiedByType:
          type: string
          description: The type of identity that last modified the resource.
          enum:
          - User
          - Application
          - ManagedIdentity
          - Key
          x-ms-enum:
            name: createdByType
            modelAsString: true
        lastModifiedAt:
          type: string
          format: date-time
          description: The timestamp of resource last modification (UTC)
      readOnly: true
    Azure.Core.eTag:
      type: string
      description: 'The ETag (or entity tag) HTTP response header is an identifier for a specific version of a resource.

        It 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.


        It 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
    ErrorDetails:
      type: object
      description: The details of the error.
      properties:
        code:
          type: string
          description: Error code.
          readOnly: true
        message:
          type: string
          description: Error message indicating why the operation failed.
          readOnly: true
    ErrorDetailsWithNestedDetails:
      type: object
      description: The details of the error.
      properties:
        details:
          type: array
          description: The additional details of the error.
          items:
            $ref: '#/components/schemas/ErrorDetailsWithNestedDetails'
          readOnly: true
          x-ms-identifiers: []
      allOf:
      - $ref: '#/components/schemas/ErrorDetails'
    ErrorResponseWithNestedDetails:
      type: object
      description: 'Error response indicates that the service is not able to process the incoming request. The reason is provided
        in the error message.


        Some Error responses:


        * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the "x-ms-ratelimit-microsoft.consumption-retry-after"
        header.


        * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the "Retry-After"
        header.'
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetailsWithNestedDetails'
          description: The details of the error.
    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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/ScheduledActionProperties'
          description: The properties of the scheduled action.
          x-ms-client-flatten: true
        eTag:
          $ref: '#/components/schemas/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: '#/components/schemas/ScheduledActionKind'
          description: Kind of the scheduled action.
      allOf:
      - $ref: '#/components/schemas/ArmProxyResource'
    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.
    ScheduledActionListResult:
      type: object
      description: Scheduled actions list result. It contains a list of scheduled actions.
      properties:
        value:
          type: array
          description: The list of scheduled actions.
          items:
            $ref: '#/components/schemas/ScheduledAction'
          readOnly: true
        nextLink:
          type: string
          description: The link (url) to the next page of results.
    ScheduledActionProperties:
      type: object
      description: The properties of the scheduled action.
      properties:
        displayName:
          type: string
          description: Scheduled action name.
        fileDestination:
          $ref: '#/components/schemas/FileDestination'
          description: Destination format of the view data. This is optional.
        notification:
          $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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
  securitySchemes:
    azure_auth:
      type: oauth2
      flows:
        implicit:
          scopes:
            user_impersonation: impersonate your user account
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
      description: Azure Active Directory OAuth2 Flow.
  parameters:
    ApiVersionParameter:
      name: api-version
      in: query
      description: The API version to use for this operation.
      required: true
      schema:
        type: string
        minLength: 1