@@ -186,6 +186,13 @@ components:
186186 required: true
187187 schema:
188188 type: string
189+ BudgetID:
190+ description: Budget id.
191+ in: path
192+ name: budget_id
193+ required: true
194+ schema:
195+ type: string
189196 CaseIDPathParameter:
190197 description: Case's UUID or key
191198 example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504
@@ -4678,6 +4685,135 @@ components:
46784685 data:
46794686 $ref: '#/components/schemas/BillingDimensionsMappingBody'
46804687 type: object
4688+ Budget:
4689+ description: A budget.
4690+ properties:
4691+ attributes:
4692+ $ref: '#/components/schemas/BudgetAttributes'
4693+ id:
4694+ description: The id of the budget.
4695+ type: string
4696+ type:
4697+ description: The type of the object, must be `budget`.
4698+ type: string
4699+ type: object
4700+ BudgetArray:
4701+ description: An array of budgets.
4702+ example:
4703+ data:
4704+ - attributes:
4705+ created_at: 1741011342772
4706+ created_by: user1
4707+ end_month: 202502
4708+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4709+ name: my budget
4710+ org_id: 123
4711+ start_month: 202501
4712+ total_amount: 1000
4713+ updated_at: 1741011342772
4714+ updated_by: user2
4715+ id: 00000000-0a0a-0a0a-aaa0-00000000000a
4716+ type: budget
4717+ properties:
4718+ data:
4719+ description: The `BudgetArray` `data`.
4720+ items:
4721+ $ref: '#/components/schemas/Budget'
4722+ type: array
4723+ type: object
4724+ BudgetAttributes:
4725+ description: The attributes of a budget.
4726+ properties:
4727+ created_at:
4728+ description: The timestamp when the budget was created.
4729+ example: 1738258683590
4730+ format: int64
4731+ type: integer
4732+ created_by:
4733+ description: The id of the user that created the budget.
4734+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4735+ type: string
4736+ end_month:
4737+ description: The month when the budget ends.
4738+ example: 202502
4739+ format: int64
4740+ type: integer
4741+ entries:
4742+ description: The entries of the budget.
4743+ items:
4744+ $ref: '#/components/schemas/BudgetEntry'
4745+ type: array
4746+ metrics_query:
4747+ description: The cost query used to track against the budget.
4748+ example: aws.cost.amortized{service:ec2} by {service}
4749+ type: string
4750+ name:
4751+ description: The name of the budget.
4752+ example: my budget
4753+ type: string
4754+ org_id:
4755+ description: The id of the org the budget belongs to.
4756+ example: 123
4757+ format: int64
4758+ type: integer
4759+ start_month:
4760+ description: The month when the budget starts.
4761+ example: 202501
4762+ format: int64
4763+ type: integer
4764+ total_amount:
4765+ description: The sum of all budget entries' amounts.
4766+ example: 1000
4767+ format: double
4768+ type: number
4769+ updated_at:
4770+ description: The timestamp when the budget was last updated.
4771+ example: 1738258683590
4772+ format: int64
4773+ type: integer
4774+ updated_by:
4775+ description: The id of the user that created the budget.
4776+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4777+ type: string
4778+ type: object
4779+ BudgetEntry:
4780+ description: The entry of a budget.
4781+ properties:
4782+ amount:
4783+ description: The `amount` of the budget entry.
4784+ example: 500
4785+ format: double
4786+ type: number
4787+ month:
4788+ description: The `month` of the budget entry.
4789+ example: 202501
4790+ format: int64
4791+ type: integer
4792+ tag_filters:
4793+ description: The `tag_filters` of the budget entry.
4794+ items:
4795+ $ref: '#/components/schemas/TagFilter'
4796+ type: array
4797+ type: object
4798+ BudgetWithEntries:
4799+ description: The definition of the `BudgetWithEntries` object.
4800+ properties:
4801+ data:
4802+ $ref: '#/components/schemas/BudgetWithEntriesData'
4803+ type: object
4804+ BudgetWithEntriesData:
4805+ description: A budget and all its entries.
4806+ properties:
4807+ attributes:
4808+ $ref: '#/components/schemas/BudgetAttributes'
4809+ id:
4810+ description: The `BudgetWithEntriesData` `id`.
4811+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4812+ type: string
4813+ type:
4814+ description: The type of the object, must be `budget`.
4815+ type: string
4816+ type: object
46814817 BulkMuteFindingsRequest:
46824818 description: The new bulk mute finding request.
46834819 properties:
@@ -34313,6 +34449,18 @@ components:
3431334449 format: double
3431434450 type: number
3431534451 type: object
34452+ TagFilter:
34453+ description: Tag filter for the budget's entries.
34454+ properties:
34455+ tag_key:
34456+ description: The key of the tag.
34457+ example: service
34458+ type: string
34459+ tag_value:
34460+ description: The value of the tag.
34461+ example: ec2
34462+ type: string
34463+ type: object
3431634464 TagsEventAttribute:
3431734465 description: Array of tags associated with your event.
3431834466 example:
@@ -40829,6 +40977,105 @@ paths:
4082940977 operator: OR
4083040978 permissions:
4083140979 - cloud_cost_management_write
40980+ /api/v2/cost/budget:
40981+ put:
40982+ description: Create a new budget or update an existing one.
40983+ operationId: UpsertBudget
40984+ requestBody:
40985+ content:
40986+ application/json:
40987+ schema:
40988+ $ref: '#/components/schemas/BudgetWithEntries'
40989+ required: true
40990+ responses:
40991+ '200':
40992+ content:
40993+ application/json:
40994+ schema:
40995+ $ref: '#/components/schemas/BudgetWithEntries'
40996+ description: OK
40997+ '400':
40998+ $ref: '#/components/responses/BadRequestResponse'
40999+ '404':
41000+ $ref: '#/components/responses/NotFoundResponse'
41001+ '429':
41002+ $ref: '#/components/responses/TooManyRequestsResponse'
41003+ security:
41004+ - apiKeyAuth: []
41005+ appKeyAuth: []
41006+ - AuthZ:
41007+ - cloud_cost_management_write
41008+ summary: Create or update a budget
41009+ tags:
41010+ - Cloud Cost Management
41011+ /api/v2/cost/budget/{budget_id}:
41012+ delete:
41013+ description: Delete a budget.
41014+ operationId: DeleteBudget
41015+ parameters:
41016+ - $ref: '#/components/parameters/BudgetID'
41017+ responses:
41018+ '204':
41019+ description: No Content
41020+ '400':
41021+ $ref: '#/components/responses/BadRequestResponse'
41022+ '429':
41023+ $ref: '#/components/responses/TooManyRequestsResponse'
41024+ security:
41025+ - apiKeyAuth: []
41026+ appKeyAuth: []
41027+ - AuthZ:
41028+ - cloud_cost_management_write
41029+ summary: Delete a budget
41030+ tags:
41031+ - Cloud Cost Management
41032+ get:
41033+ description: Get a budget.
41034+ operationId: GetBudget
41035+ parameters:
41036+ - $ref: '#/components/parameters/BudgetID'
41037+ responses:
41038+ '200':
41039+ content:
41040+ application/json:
41041+ schema:
41042+ $ref: '#/components/schemas/BudgetWithEntries'
41043+ description: OK
41044+ '400':
41045+ $ref: '#/components/responses/BadRequestResponse'
41046+ '404':
41047+ $ref: '#/components/responses/NotFoundResponse'
41048+ '429':
41049+ $ref: '#/components/responses/TooManyRequestsResponse'
41050+ security:
41051+ - apiKeyAuth: []
41052+ appKeyAuth: []
41053+ - AuthZ:
41054+ - cloud_cost_management_read
41055+ summary: Get a budget
41056+ tags:
41057+ - Cloud Cost Management
41058+ /api/v2/cost/budgets:
41059+ get:
41060+ description: List budgets.
41061+ operationId: ListBudgets
41062+ responses:
41063+ '200':
41064+ content:
41065+ application/json:
41066+ schema:
41067+ $ref: '#/components/schemas/BudgetArray'
41068+ description: OK
41069+ '429':
41070+ $ref: '#/components/responses/TooManyRequestsResponse'
41071+ security:
41072+ - apiKeyAuth: []
41073+ appKeyAuth: []
41074+ - AuthZ:
41075+ - cloud_cost_management_read
41076+ summary: List budgets
41077+ tags:
41078+ - Cloud Cost Management
4083241079 /api/v2/cost/custom_costs:
4083341080 get:
4083441081 description: List the Custom Costs files.
0 commit comments