@@ -27070,6 +27070,156 @@ components:
2707027070 $ref: "#/components/schemas/CustomDestinationResponseDefinition"
2707127071 type: array
2707227072 type: object
27073+ CustomForecastEntry:
27074+ description: A monthly entry of a custom budget forecast.
27075+ properties:
27076+ amount:
27077+ description: Forecast amount for the month.
27078+ example: 400
27079+ format: double
27080+ type: number
27081+ month:
27082+ description: Month the custom forecast entry applies to, in `YYYYMM` format.
27083+ example: 202501
27084+ format: int64
27085+ type: integer
27086+ tag_filters:
27087+ description: Tag filters that scope this custom forecast entry to specific resources.
27088+ items:
27089+ $ref: "#/components/schemas/CustomForecastEntryTagFilter"
27090+ type: array
27091+ required:
27092+ - month
27093+ - amount
27094+ - tag_filters
27095+ type: object
27096+ CustomForecastEntryTagFilter:
27097+ description: A tag filter that scopes a custom forecast entry to specific resource tags.
27098+ properties:
27099+ tag_key:
27100+ description: The tag key to filter on.
27101+ example: service
27102+ type: string
27103+ tag_value:
27104+ description: The tag value to filter on.
27105+ example: ec2
27106+ type: string
27107+ required:
27108+ - tag_key
27109+ - tag_value
27110+ type: object
27111+ CustomForecastResponse:
27112+ description: Response object containing the custom forecast for a budget.
27113+ properties:
27114+ data:
27115+ $ref: "#/components/schemas/CustomForecastResponseData"
27116+ required:
27117+ - data
27118+ type: object
27119+ CustomForecastResponseData:
27120+ description: Custom forecast resource wrapper in a response.
27121+ properties:
27122+ attributes:
27123+ $ref: "#/components/schemas/CustomForecastResponseDataAttributes"
27124+ id:
27125+ description: The unique identifier of the custom forecast.
27126+ example: 11111111-1111-1111-1111-111111111111
27127+ type: string
27128+ type:
27129+ $ref: "#/components/schemas/CustomForecastType"
27130+ required:
27131+ - id
27132+ - type
27133+ - attributes
27134+ type: object
27135+ CustomForecastResponseDataAttributes:
27136+ description: Attributes of a custom forecast.
27137+ properties:
27138+ budget_uid:
27139+ description: The UUID of the budget that this custom forecast belongs to.
27140+ example: 00000000-0000-0000-0000-000000000001
27141+ type: string
27142+ created_at:
27143+ description: Timestamp the custom forecast was created, in Unix milliseconds.
27144+ example: 1738258683590
27145+ format: int64
27146+ type: integer
27147+ created_by:
27148+ description: The id of the user that created the custom forecast.
27149+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
27150+ type: string
27151+ entries:
27152+ description: Monthly custom forecast entries.
27153+ items:
27154+ $ref: "#/components/schemas/CustomForecastEntry"
27155+ type: array
27156+ updated_at:
27157+ description: Timestamp the custom forecast was last updated, in Unix milliseconds.
27158+ example: 1738258683590
27159+ format: int64
27160+ type: integer
27161+ updated_by:
27162+ description: The id of the user that last updated the custom forecast.
27163+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
27164+ type: string
27165+ required:
27166+ - budget_uid
27167+ - created_at
27168+ - updated_at
27169+ - created_by
27170+ - updated_by
27171+ - entries
27172+ type: object
27173+ CustomForecastType:
27174+ default: custom_forecast
27175+ description: The type of the custom forecast resource. Must be `custom_forecast`.
27176+ enum:
27177+ - custom_forecast
27178+ example: custom_forecast
27179+ type: string
27180+ x-enum-varnames:
27181+ - CUSTOM_FORECAST
27182+ CustomForecastUpsertRequest:
27183+ description: Request body to upsert (create or replace) the custom forecast for a budget.
27184+ properties:
27185+ data:
27186+ $ref: "#/components/schemas/CustomForecastUpsertRequestData"
27187+ required:
27188+ - data
27189+ type: object
27190+ CustomForecastUpsertRequestData:
27191+ description: Custom forecast resource wrapper in an upsert request.
27192+ properties:
27193+ attributes:
27194+ $ref: "#/components/schemas/CustomForecastUpsertRequestDataAttributes"
27195+ id:
27196+ description: Unused on upsert; the resource is keyed by `budget_uid`. Send an empty string.
27197+ example: ""
27198+ type: string
27199+ type:
27200+ $ref: "#/components/schemas/CustomForecastType"
27201+ required:
27202+ - type
27203+ - attributes
27204+ type: object
27205+ CustomForecastUpsertRequestDataAttributes:
27206+ description: Attributes of a custom forecast upsert request.
27207+ properties:
27208+ budget_uid:
27209+ description: The UUID of the budget that this custom forecast belongs to.
27210+ example: 00000000-0000-0000-0000-000000000001
27211+ type: string
27212+ entries:
27213+ description: |-
27214+ Monthly custom forecast entries. An empty list deletes any existing
27215+ custom forecast for the budget.
27216+ items:
27217+ $ref: "#/components/schemas/CustomForecastEntry"
27218+ type: array
27219+ required:
27220+ - budget_uid
27221+ - entries
27222+ type: object
2707327223 CustomFrameworkControl:
2707427224 description: Framework Control.
2707527225 properties:
@@ -125522,6 +125672,83 @@ paths:
125522125672 tags:
125523125673 - Cloud Cost Management
125524125674 x-menu-order: 36
125675+ /api/v2/cost/budget/custom-forecast:
125676+ put:
125677+ description: |-
125678+ Create or replace the custom forecast for an existing budget.
125679+ Pass an empty `entries` list to delete the custom forecast for the budget.
125680+ operationId: UpsertCustomForecast
125681+ requestBody:
125682+ content:
125683+ application/json:
125684+ examples:
125685+ default:
125686+ value:
125687+ data:
125688+ attributes:
125689+ budget_uid: 00000000-0000-0000-0000-000000000001
125690+ entries:
125691+ - amount: 400
125692+ month: 202501
125693+ tag_filters:
125694+ - tag_key: service
125695+ tag_value: ec2
125696+ - amount: 450
125697+ month: 202502
125698+ tag_filters:
125699+ - tag_key: service
125700+ tag_value: ec2
125701+ id: ""
125702+ type: custom_forecast
125703+ schema:
125704+ $ref: "#/components/schemas/CustomForecastUpsertRequest"
125705+ required: true
125706+ responses:
125707+ "200":
125708+ content:
125709+ application/json:
125710+ examples:
125711+ default:
125712+ value:
125713+ data:
125714+ attributes:
125715+ budget_uid: 00000000-0000-0000-0000-000000000001
125716+ created_at: 1738258683590
125717+ created_by: 00000000-0a0a-0a0a-aaa0-00000000000a
125718+ entries:
125719+ - amount: 400
125720+ month: 202501
125721+ tag_filters:
125722+ - tag_key: service
125723+ tag_value: ec2
125724+ - amount: 450
125725+ month: 202502
125726+ tag_filters:
125727+ - tag_key: service
125728+ tag_value: ec2
125729+ updated_at: 1738258683590
125730+ updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a
125731+ id: 11111111-1111-1111-1111-111111111111
125732+ type: custom_forecast
125733+ schema:
125734+ $ref: "#/components/schemas/CustomForecastResponse"
125735+ description: OK
125736+ "400":
125737+ $ref: "#/components/responses/BadRequestResponse"
125738+ "404":
125739+ $ref: "#/components/responses/NotFoundResponse"
125740+ "429":
125741+ $ref: "#/components/responses/TooManyRequestsResponse"
125742+ security:
125743+ - apiKeyAuth: []
125744+ appKeyAuth: []
125745+ summary: Create or replace a budget's custom forecast
125746+ tags:
125747+ - Cloud Cost Management
125748+ x-menu-order: 67
125749+ x-unstable: |-
125750+ **Note**: This endpoint is in preview and is subject to change.
125751+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
125525125752 /api/v2/cost/budget/validate:
125526125753 post:
125527125754 description: Validate a budget configuration without creating or modifying it
@@ -125647,6 +125874,31 @@ paths:
125647125874 tags:
125648125875 - Cloud Cost Management
125649125876 x-menu-order: 37
125877+ /api/v2/cost/budget/{budget_id}/custom-forecast:
125878+ delete:
125879+ description: Delete the custom forecast for a budget.
125880+ operationId: DeleteCustomForecast
125881+ parameters:
125882+ - $ref: "#/components/parameters/BudgetID"
125883+ responses:
125884+ "204":
125885+ description: No Content
125886+ "400":
125887+ $ref: "#/components/responses/BadRequestResponse"
125888+ "404":
125889+ $ref: "#/components/responses/NotFoundResponse"
125890+ "429":
125891+ $ref: "#/components/responses/TooManyRequestsResponse"
125892+ security:
125893+ - apiKeyAuth: []
125894+ appKeyAuth: []
125895+ summary: Delete a budget's custom forecast
125896+ tags:
125897+ - Cloud Cost Management
125898+ x-menu-order: 68
125899+ x-unstable: |-
125900+ **Note**: This endpoint is in preview and is subject to change.
125901+ If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
125650125902 /api/v2/cost/budgets:
125651125903 get:
125652125904 description: List budgets.
0 commit comments