openapi: 3.2.0 info: description: Use the Budgets API to manage budgets and budget alerts. For more information, see [Budgets Overview](/iaas/Content/Billing/Concepts/budgetsoverview.htm). title: Budgets Budget API version: '20190111' x-provenance: method: harvested first_party: true publisher: Oracle source: https://docs.oracle.com/en-us/iaas/api/specs/5206052d079d5c8ca6b161abffcdbcb07a30a59e95bc818bd6f4e9f87c304d17.yaml harvested: '2026-08-04' note: Published by Oracle as the contract for the Budgets API OCI service and stored verbatim; API Evangelist added only this provenance block. x-evidence: - url: https://docs.oracle.com/en-us/iaas/api/specs/index.json what: Oracle's own index of every OCI service specification - url: https://docs.oracle.com/en-us/iaas/api/specs/5206052d079d5c8ca6b161abffcdbcb07a30a59e95bc818bd6f4e9f87c304d17.yaml what: the harvested document for Budgets API servers: - url: http://127.0.0.1/20190111 - url: https://127.0.0.1/20190111 tags: - name: budget paths: /budgets: get: description: 'Gets a list of budgets in a compartment. By default, ListBudgets returns budgets of the ''COMPARTMENT'' target type, and the budget records with only one target compartment OCID. To list all budgets, set the targetType query parameter to ALL (for example: ''targetType=ALL''). Clients should ignore new targetTypes, or upgrade to the latest version of the client SDK to handle new targetTypes. ' operationId: ListBudgets parameters: - $ref: '#/components/parameters/CompartmentIdQueryParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/SortByQueryParam' - $ref: '#/components/parameters/LifecycleStateQueryParam' - $ref: '#/components/parameters/DisplayNameQueryParam' - $ref: '#/components/parameters/TargetTypeQueryParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: A page of BudgetSummary objects. headers: opc-next-page: description: 'For pagination of a list of `Budget`s. If this header appears in the response, then this is a partial list of budgets. Include this value as the `page` parameter in a subsequent GET request to get the next batch of budgets. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: items: $ref: '#/components/schemas/BudgetSummary' type: array 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Returns a list of Budgets tags: - budget post: description: 'Creates a new budget. ' operationId: CreateBudget parameters: - $ref: '#/components/parameters/RetryTokenHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: The budget was successfully created. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Budget' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Creates a new Budget tags: - budget x-example: "POST /20190111/budgets\nHost: usage.us-phoenix-1.oci.oraclecloud.com\n<authorization and other headers>\n{\n \"compartmentId\": \"ocid1.compartment.oc1..aaaaaaaayzfqeibduyox6iib3olcmdar3ugly4fmameq4h7lcdlihrvur7xq\",\n \"targetType\" : \"COMPARTMENT\",\n \"targets\" : [\"ocid1.compartment.oc1..aaaaaaaayzfqeibduyox6iib3olcmdar3ugly4fmameq4h7lcdlihrvur7xq\"],\n \"amount\": \"100.00\",\n \"resetPeriod\": \"Monthly\"\n}\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBudgetDetails' description: Details for the new budget. required: true /budgets/{budgetId}: delete: description: Deletes a specified budget resource. operationId: DeleteBudget parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 204: description: The budget was successfully deleted. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Delete a Budget tags: - budget x-related-resource: '#/definitions/Budget' get: description: Gets a budget by the identifier. operationId: GetBudget parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: Retrieves the budget with the given OCID. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Budget' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Returns a Budget tags: - budget put: description: Update a budget identified by the OCID. operationId: UpdateBudget parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: The budget was successfully updated. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Budget' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Updates a Budget tags: - budget requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBudgetDetails' description: The information to be updated. required: true /budgets/{budgetId}/alertRules: get: description: 'Returns a list of Alert Rules for a specified budget. ' operationId: ListAlertRules parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/PaginationLimitQueryParam' - $ref: '#/components/parameters/PaginationTokenQueryParam' - $ref: '#/components/parameters/SortOrderQueryParam' - $ref: '#/components/parameters/SortByQueryParam' - $ref: '#/components/parameters/LifecycleStateQueryParam' - $ref: '#/components/parameters/DisplayNameQueryParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: A page of AlertRuleSummary objects. headers: opc-next-page: description: 'For pagination of a list of `AlertRuleSummary`. If this header appears in the response, then this is a partial list of AlertRuleSummaries. Include this value as the `page` parameter in a subsequent GET request to get the next batch of AlertRuleSummaries. ' schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: items: $ref: '#/components/schemas/AlertRuleSummary' type: array 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Gets a list of all Alert Rules for a Budget tags: - budget post: description: 'Creates a new Alert Rule. ' operationId: CreateAlertRule parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/RetryTokenHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: The Alert Rule was successfully created. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/AlertRule' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 409: $ref: '#/components/responses/409' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Creates a new Alert Rule tags: - budget requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateAlertRuleDetails' description: Details for the new Alert Rule. required: true /budgets/{budgetId}/alertRules/{alertRuleId}: delete: description: Deletes a specified Alert Rule resource. operationId: DeleteAlertRule parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/AlertRuleIdPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 204: description: The Alert Rule was successfully deleted. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Delete an Alert Rule tags: - budget x-related-resource: '#/definitions/AlertRule' get: description: Gets an Alert Rule for a specified budget. operationId: GetAlertRule parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/AlertRuleIdPathParam' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: Retrieves the Alert Rule with the given OCID. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/AlertRule' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Get an Alert Rule for a specified budget tags: - budget put: description: Update an Alert Rule for the budget identified by the OCID. operationId: UpdateAlertRule parameters: - $ref: '#/components/parameters/BudgetIdPathParam' - $ref: '#/components/parameters/AlertRuleIdPathParam' - $ref: '#/components/parameters/IfMatchHeader' - $ref: '#/components/parameters/RequestIdHeader' responses: 200: description: The Alert Rule was successfully updated. headers: etag: description: For optimistic concurrency control. See `if-match`. schema: type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/AlertRule' 400: $ref: '#/components/responses/400' 401: $ref: '#/components/responses/401' 404: $ref: '#/components/responses/404' 412: $ref: '#/components/responses/412' 429: $ref: '#/components/responses/429' 500: $ref: '#/components/responses/500' default: $ref: '#/components/responses/default' summary: Updates an Alert Rule tags: - budget requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateAlertRuleDetails' description: The information to be updated. required: true components: parameters: PaginationTokenQueryParam: description: The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. in: query name: page x-default-description: '' schema: type: string minLength: 1 SortByQueryParam: description: 'The field to sort by. If not specified, the default is timeCreated. The default sort order for timeCreated is DESC. The default sort order for displayName is ASC in alphanumeric order. ' in: query name: sortBy x-obmcs-top-level-enum: '#/definitions/SortBy' schema: type: string enum: - timeCreated - displayName default: timeCreated TargetTypeQueryParam: description: "The type of target to filter by:\n * ALL - List all budgets\n * COMPARTMENT - List all budgets with targetType == \"COMPARTMENT\"\n * TAG - List all budgets with targetType == \"TAG\"\n" in: query name: targetType x-default-description: '' schema: type: string enum: - ALL - COMPARTMENT - TAG IfMatchHeader: description: 'For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource''s current etag value. ' in: header name: if-match required: false schema: type: string CompartmentIdQueryParam: description: The ID of the compartment in which to list resources. in: query name: compartmentId required: true schema: type: string PaginationLimitQueryParam: description: The maximum number of items to return. in: query name: limit schema: type: integer default: 25 maximum: 1000 minimum: 1 SortOrderQueryParam: description: The sort order to use, either 'asc' or 'desc'. in: query name: sortOrder x-default-description: '' x-obmcs-top-level-enum: '#/definitions/SortOrder' schema: type: string enum: - ASC - DESC AlertRuleIdPathParam: description: The unique Alert Rule OCID. in: path name: alertRuleId required: true x-default-description: '' schema: type: string RetryTokenHeader: description: 'A token that uniquely identifies a request so it can be retried, in case of a timeout or server error, without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected. ' in: header name: opc-retry-token required: false schema: type: string maxLength: 64 minLength: 1 BudgetIdPathParam: description: The unique budget OCID. in: path name: budgetId required: true x-default-description: '' schema: type: string DisplayNameQueryParam: description: 'A user-friendly name. This does not have to be unique, and it''s changeable. Example: `My new resource` ' in: query name: displayName x-default-description: '' schema: type: string maxLength: 255 minLength: 1 RequestIdHeader: description: The client request ID for tracing. in: header name: opc-request-id schema: type: string LifecycleStateQueryParam: description: The current state of the resource to filter by. in: query name: lifecycleState x-default-description: '' x-obmcs-top-level-enum: '#/definitions/LifecycleState' schema: type: string enum: - ACTIVE - INACTIVE schemas: Error: description: Error Information. properties: code: description: A short error code that defines the error, meant for programmatic parsing. type: string message: description: A human-readable error string. type: string required: - code - message AlertRuleSummary: description: The alert rule. properties: budgetId: description: The OCID of the budget. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the alert rule. type: string displayName: description: The name of the alert rule. Avoid entering confidential information. type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object id: description: The OCID of the alert rule. type: string lifecycleState: description: The current state of the alert rule. enum: - ACTIVE - INACTIVE type: string x-obmcs-top-level-enum: '#/definitions/LifecycleState' message: description: The custom message that will be sent when the alert is triggered. type: string recipients: description: The audience that receives the alert when it triggers. type: string threshold: description: 'The threshold for triggering the alert. If the thresholdType is PERCENTAGE, the maximum value is 10000. ' type: number exclusiveMinimum: 0 thresholdType: description: The type of threshold. enum: - PERCENTAGE - ABSOLUTE type: string x-obmcs-top-level-enum: '#/definitions/ThresholdType' timeCreated: description: The time when the budget was created. format: date-time type: string timeUpdated: description: The time when the budget was updated. format: date-time type: string type: description: 'ACTUAL means the alert triggers based on actual usage. FORECAST means the alert triggers based on predicted usage. ' enum: - ACTUAL - FORECAST type: string x-obmcs-top-level-enum: '#/definitions/AlertType' version: description: The version of the alert rule. Starts from 1 and increments by 1. type: integer required: - id - budgetId - displayName - type - threshold - thresholdType - recipients - timeCreated - timeUpdated - lifecycleState UpdateAlertRuleDetails: description: The update alert rule details. properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the alert rule. maxLength: 200 type: string displayName: description: The name of the alert rule. Avoid entering confidential information. maxLength: 200 type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object message: description: The message to be delivered to the recipients when an alert is triggered. maxLength: 1000 type: string recipients: description: The audience that receives the alert when it triggers. If you need to clear out this value, pass in an empty string instead of a null value. type: string threshold: description: 'The threshold for triggering the alert, expressed as a whole number or decimal value. If the thresholdType is ABSOLUTE, the threshold can have at most 12 digits before the decimal point, and up to two digits after the decimal point. If the thresholdType is PERCENTAGE, the maximum value is 10000 and can have up to two digits after the decimal point. ' maximum: 1.0E12 type: number exclusiveMinimum: 0.0 thresholdType: description: The type of threshold. enum: - PERCENTAGE - ABSOLUTE type: string x-obmcs-top-level-enum: '#/definitions/ThresholdType' type: description: 'The type of the alert. Valid values are ACTUAL (the alert triggers based on actual usage), or FORECAST (the alert triggers based on predicted usage). ' enum: - ACTUAL - FORECAST type: string x-obmcs-top-level-enum: '#/definitions/AlertType' Budget: description: A budget. properties: actualSpend: description: The actual spend in currency for the current budget cycle. minimum: 0 type: number alertRuleCount: description: The total number of alert rules in the budget. minimum: 0 type: integer amount: description: 'The amount of the budget expressed in the currency of the customer''s rate card. ' type: number exclusiveMinimum: 0 budgetProcessingPeriodStartOffset: default: 1 description: The number of days offset from the first day of the month, at which the budget processing period starts. In months that have fewer days than this value, processing will begin on the last day of that month. For example, for a value of 12, processing starts every month on the 12th at midnight. maximum: 31 minimum: 1 type: integer compartmentId: description: The OCID of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the budget. type: string displayName: description: The display name of the budget. Avoid entering confidential information. type: string endDate: description: The time when the one-time budget concludes. For example, `2023-08-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string forecastedSpend: description: The forecasted spend in currency by the end of the current budget cycle. minimum: 0 type: number freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object id: description: The OCID of the budget. type: string lifecycleState: description: The current state of the budget. enum: - ACTIVE - INACTIVE type: string x-obmcs-top-level-enum: '#/definitions/LifecycleState' processingPeriodType: description: 'The budget processing period type. Valid values are INVOICE, MONTH, and SINGLE_USE. ' enum: - INVOICE - MONTH - SINGLE_USE type: string x-obmcs-top-level-enum: '#/definitions/ProcessingPeriodType' resetPeriod: description: 'The reset period for the budget. ' enum: - MONTHLY type: string x-obmcs-top-level-enum: '#/definitions/ResetPeriod' startDate: description: The date when the one-time budget begins. For example, `2023-07-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object targetCompartmentId: description: 'This is DEPRECATED. For backwards compatability, the property is populated when the targetType is "COMPARTMENT", and targets contain the specific target compartment OCID. For all other scenarios, this property will be left empty. ' type: string targetType: description: 'The type of target on which the budget is applied. ' enum: - COMPARTMENT - TAG type: string x-obmcs-top-level-enum: '#/definitions/TargetType' targets: description: "The list of targets on which the budget is applied.\n If the targetType is \"COMPARTMENT\", the targets contain the list of compartment OCIDs.\n If the targetType is \"TAG\", the targets contain the list of cost tracking tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".\n" items: type: string type: array timeCreated: description: The time that the budget was created. format: date-time type: string timeSpendComputed: description: The time that the budget spend was last computed. format: date-time type: string timeUpdated: description: The time that the budget was updated. format: date-time type: string version: description: The version of the budget. Starts from 1 and increments by 1. type: integer required: - id - compartmentId - displayName - amount - resetPeriod - timeCreated - timeUpdated - alertRuleCount - lifecycleState UpdateBudgetDetails: description: The update budget details. properties: amount: description: 'The amount of the budget expressed as a whole number in the currency of the customer''s rate card. ' maximum: 1.0E12 type: number exclusiveMinimum: 0.0 budgetProcessingPeriodStartOffset: default: 1 description: The number of days offset from the first day of the month, at which the budget processing period starts. In months that have fewer days than this value, processing will begin on the last day of that month. For example, for a value of 12, processing starts every month on the 12th at midnight. maximum: 31 minimum: 1 type: integer definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the budget. maxLength: 200 type: string displayName: description: The displayName of the budget. Avoid entering confidential information. maxLength: 200 type: string endDate: description: The time when the one-time budget concludes. For example, `2023-08-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object processingPeriodType: description: 'The type of the budget processing period. Valid values are INVOICE, MONTH, and SINGLE_USE. ' enum: - INVOICE - MONTH - SINGLE_USE type: string x-obmcs-top-level-enum: '#/definitions/ProcessingPeriodType' resetPeriod: description: 'The reset period for the budget. ' enum: - MONTHLY type: string x-obmcs-top-level-enum: '#/definitions/ResetPeriod' startDate: description: The date when the one-time budget begins. For example, `2023-07-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object BudgetSummary: description: A budget. properties: actualSpend: description: The actual spend in currency for the current budget cycle. minimum: 0 type: number alertRuleCount: description: The total number of alert rules in the budget. minimum: 0 type: integer amount: description: 'The amount of the budget, expressed in the currency of the customer''s rate card. ' type: number exclusiveMinimum: 0 budgetProcessingPeriodStartOffset: default: 1 description: The number of days offset from the first day of the month, at which the budget processing period starts. In months that have fewer days than this value, processing will begin on the last day of that month. For example, for a value of 12, processing starts every month on the 12th at midnight. maximum: 31 minimum: 1 type: integer compartmentId: description: The OCID of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the budget. type: string displayName: description: The display name of the budget. Avoid entering confidential information. type: string endDate: description: The time when the one-time budget concludes. For example, - `2023-08-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string forecastedSpend: description: The forecasted spend in currency by the end of the current budget cycle. minimum: 0 type: number freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object id: description: The OCID of the budget. type: string lifecycleState: description: The current state of the budget. enum: - ACTIVE - INACTIVE type: string x-obmcs-top-level-enum: '#/definitions/LifecycleState' processingPeriodType: description: 'The type of the budget processing period. Valid values are INVOICE, MONTH, and SINGLE_USE. ' enum: - INVOICE - MONTH - SINGLE_USE type: string x-obmcs-top-level-enum: '#/definitions/ProcessingPeriodType' resetPeriod: description: 'The reset period for the budget. ' enum: - MONTHLY type: string x-obmcs-top-level-enum: '#/definitions/ResetPeriod' startDate: description: The date when the one-time budget begins. For example, `2023-07-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object targetCompartmentId: description: 'This is DEPRECATED. For backwards compatability, the property is populated when the targetType is "COMPARTMENT", and the targets contain the specific target compartment OCID. For all other scenarios, this property is left empty. ' type: string targetType: description: 'The type of target on which the budget is applied. ' enum: - COMPARTMENT - TAG type: string x-obmcs-top-level-enum: '#/definitions/TargetType' targets: description: "The list of targets on which the budget is applied.\n If the targetType is \"COMPARTMENT\", the targets contain the list of compartment OCIDs.\n If the targetType is \"TAG\", the targets contain the list of cost tracking tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".\n" items: type: string type: array timeCreated: description: The time the budget was created. format: date-time type: string timeSpendComputed: description: The time the budget spend was last computed. format: date-time type: string timeUpdated: description: The time the budget was updated. format: date-time type: string version: description: The version of the budget. Starts from 1 and increments by 1. type: integer required: - id - compartmentId - displayName - amount - resetPeriod - timeCreated - timeUpdated - alertRuleCount - lifecycleState CreateAlertRuleDetails: description: The create alert rule details. This is a batch-create. properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the alert rule. maxLength: 200 type: string displayName: description: The name of the alert rule. Avoid entering confidential information. maxLength: 200 type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object message: description: The message to be sent to the recipients when the alert rule is triggered. maxLength: 1000 type: string recipients: description: The audience that receives the alert when it triggers. An empty string is interpreted as null. type: string threshold: description: 'The threshold for triggering the alert, expressed as a whole number or decimal value. If the thresholdType is ABSOLUTE, the threshold can have at most 12 digits before the decimal point, and up to two digits after the decimal point. If the thresholdType is PERCENTAGE, the maximum value is 10000 and can have up to two digits after the decimal point. ' maximum: 1.0E12 type: number exclusiveMinimum: 0.0 thresholdType: description: The type of threshold. enum: - PERCENTAGE - ABSOLUTE type: string x-obmcs-top-level-enum: '#/definitions/ThresholdType' type: description: 'The type of the alert. Valid values are ACTUAL (the alert triggers based on actual usage), or FORECAST (the alert triggers based on predicted usage). ' enum: - ACTUAL - FORECAST type: string x-obmcs-top-level-enum: '#/definitions/AlertType' required: - type - threshold - thresholdType AlertRule: description: The alert rule. properties: budgetId: description: The OCID of the budget. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the alert rule. type: string displayName: description: The name of the alert rule. Avoid entering confidential information. type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object id: description: The OCID of the alert rule. type: string lifecycleState: description: The current state of the alert rule. enum: - ACTIVE - INACTIVE type: string x-obmcs-top-level-enum: '#/definitions/LifecycleState' message: description: Custom message sent when an alert is triggered. type: string recipients: description: 'The delimited list of email addresses to receive the alert when it triggers. Delimiter characters can be a comma, space, TAB, or semicolon. ' type: string threshold: description: 'The threshold for triggering the alert. If the thresholdType is PERCENTAGE, the maximum value is 10000. ' type: number exclusiveMinimum: 0 thresholdType: description: The type of threshold. enum: - PERCENTAGE - ABSOLUTE type: string x-obmcs-top-level-enum: '#/definitions/ThresholdType' timeCreated: description: The time the budget was created. format: date-time type: string timeUpdated: description: The time the budget was updated. format: date-time type: string type: description: 'The type of the alert. Valid values are ACTUAL (the alert triggers based on actual usage), or FORECAST (the alert triggers based on predicted usage). ' enum: - ACTUAL - FORECAST type: string x-obmcs-top-level-enum: '#/definitions/AlertType' version: description: The version of the alert rule. Starts from 1 and increments by 1. type: integer required: - id - budgetId - displayName - type - threshold - thresholdType - recipients - timeCreated - timeUpdated - lifecycleState CreateBudgetDetails: description: 'The create budget details. Clients should use ''targetType'' and ''targets'' to specify the target type and list of targets on which the budget is applied. For backwards compatibility, ''targetCompartmentId'' is still supported for all existing clients. This is considered deprecated, however, and all clients are upgraded to use ''targetType'' and ''targets''. Specifying both ''targetCompartmentId'' and ''targets'' causes a Bad Request. ' properties: amount: description: 'The amount of the budget expressed as a whole number in the currency of the customer''s rate card. ' maximum: 1.0E12 type: number exclusiveMinimum: 0.0 budgetProcessingPeriodStartOffset: default: 1 description: The number of days offset from the first day of the month, at which the budget processing period starts. In months that have fewer days than this value, processing will begin on the last day of that month. For example, for a value of 12, processing starts every month on the 12th at midnight. maximum: 31 minimum: 1 type: integer compartmentId: description: The OCID of the compartment. type: string definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object description: description: The description of the budget. maxLength: 200 type: string displayName: description: The displayName of the budget. Avoid entering confidential information. maxLength: 200 type: string endDate: description: The date when the one-time budget concludes. For example, `2023-08-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object processingPeriodType: description: 'The type of the budget processing period. Valid values are INVOICE, MONTH, and SINGLE_USE. ' enum: - INVOICE - MONTH - SINGLE_USE type: string x-obmcs-top-level-enum: '#/definitions/ProcessingPeriodType' resetPeriod: description: 'The reset period for the budget. ' enum: - MONTHLY type: string x-obmcs-top-level-enum: '#/definitions/ResetPeriod' startDate: description: The date when the one-time budget begins. For example, `2023-07-12T16:01:19.847222+05:30`. The date-time format conforms to RFC 3339, and will be truncated to the starting point of the date provided after being converted to UTC time. format: date-time type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object targetCompartmentId: description: 'This is DEPRECATED. Set the target compartment ID in targets instead. ' type: string targetType: default: COMPARTMENT description: 'The type of target on which the budget is applied. ' enum: - COMPARTMENT - TAG type: string x-obmcs-top-level-enum: '#/definitions/TargetType' targets: description: "The list of targets on which the budget is applied.\n If targetType is \"COMPARTMENT\", the targets contain the list of compartment OCIDs.\n If targetType is \"TAG\", the targets contain the list of cost tracking tag identifiers in the form of \"{tagNamespace}.{tagKey}.{tagValue}\".\nCurerntly, the array should contain exactly one item.\n" items: type: string type: array required: - compartmentId - amount - resetPeriod responses: default: description: Unknown Error headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Error' x-anchors: x-headers: etag: description: 'For optimistic concurrency control. See `if-match`. ' type: string opc-next-page: description: 'For list pagination. When this header appears in the response, additional pages of results remain. For important details about how pagination works, see [List Pagination](/iaas/Content/API/Concepts/usingapi.htm#nine). ' type: string opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' type: string opc-work-request-id: description: 'The OCID of the work request. Use [GetWorkRequest](#/en/iaas/20160918/WorkRequests/GetWorkRequest) with this ID to track the status of the request. ' type: string x-obmcs-client-retries-enabled: true x-oracle-package: com.oracle.oci.usage.budgets x-properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"CostCenter": "42"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Operations": {"CostCenter": "42"}}` ' type: object freeformTags: additionalProperties: type: string description: 'Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only the String type is supported. ' type: object description: 'Key-value pair representing a defined tag key and value, scoped to a namespace. Example: `{"free-tier-retained": "true"}` ' type: object description: 'System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object