@@ -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
@@ -4664,6 +4671,170 @@ components:
46644671 data:
46654672 $ref: '#/components/schemas/BillingDimensionsMappingBody'
46664673 type: object
4674+ Budget:
4675+ description: A budget.
4676+ properties:
4677+ created_at:
4678+ description: The timestamp when the budget was created.
4679+ format: int64
4680+ type: integer
4681+ created_by:
4682+ description: The id of the user that created the budget.
4683+ type: string
4684+ end_month:
4685+ description: The month when the budget ends.
4686+ format: int64
4687+ type: integer
4688+ id:
4689+ description: The id of the budget.
4690+ type: string
4691+ metrics_query:
4692+ description: The cost query used to track against the budget.
4693+ type: string
4694+ name:
4695+ description: The name of the budget.
4696+ type: string
4697+ org_id:
4698+ description: The id of the org the budget belongs to.
4699+ format: int64
4700+ type: integer
4701+ start_month:
4702+ description: The month when the budget starts.
4703+ format: int64
4704+ type: integer
4705+ total_amount:
4706+ description: The sum of all budget entries' amounts.
4707+ format: double
4708+ type: number
4709+ updated_at:
4710+ description: The timestamp when the budget was last updated.
4711+ format: int64
4712+ type: integer
4713+ updated_by:
4714+ description: The id of the user that created the budget.
4715+ type: string
4716+ type: object
4717+ BudgetArray:
4718+ description: An array of budgets.
4719+ example:
4720+ data:
4721+ - attributes:
4722+ created_at: 1741011342772
4723+ created_by: user1
4724+ end_month: 202502
4725+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4726+ name: my budget
4727+ org_id: 123
4728+ start_month: 202501
4729+ total_amount: 1000
4730+ updated_at: 1741011342772
4731+ updated_by: user2
4732+ id: 00000000-0a0a-0a0a-aaa0-00000000000a
4733+ type: budget
4734+ properties:
4735+ data:
4736+ description: The `BudgetArray` `data`.
4737+ items:
4738+ $ref: '#/components/schemas/Budget'
4739+ type: array
4740+ type: object
4741+ BudgetEntry:
4742+ description: The entry of a budget.
4743+ properties:
4744+ amount:
4745+ description: The `amount` of the budget entry.
4746+ format: double
4747+ type: number
4748+ month:
4749+ description: The `month` of the budget entry.
4750+ format: int64
4751+ type: integer
4752+ tag_filters:
4753+ description: The `tag_filters` of the budget entry.
4754+ items:
4755+ type: string
4756+ type: array
4757+ type: object
4758+ BudgetWithEntries:
4759+ description: The definition of the `BudgetWithEntries` object.
4760+ example:
4761+ data:
4762+ attributes:
4763+ created_at: 1738258683590
4764+ created_by: 00000000-0a0a-0a0a-aaa0-00000000000a
4765+ end_month: 202502
4766+ entries:
4767+ - amount: 500
4768+ month: 202501
4769+ tag_filters:
4770+ - tag_key: service
4771+ tag_value: ec2
4772+ - amount: 500
4773+ month: 202502
4774+ tag_filters:
4775+ - tag_key: service
4776+ tag_value: ec2
4777+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4778+ name: my budget
4779+ org_id: 123
4780+ start_month: 202501
4781+ total_amount: 1000
4782+ updated_at: 1738258683590
4783+ updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a
4784+ id: '1'
4785+ type: budget
4786+ properties:
4787+ data:
4788+ $ref: '#/components/schemas/BudgetWithEntriesData'
4789+ type: object
4790+ BudgetWithEntriesData:
4791+ description: A budget and all its entries.
4792+ properties:
4793+ created_at:
4794+ description: The timestamp when the budget was created.
4795+ format: int64
4796+ type: integer
4797+ created_by:
4798+ description: The id of the user that created the budget.
4799+ type: string
4800+ end_month:
4801+ description: The month when the budget ends.
4802+ format: int64
4803+ type: integer
4804+ entries:
4805+ description: The entries of the budget.
4806+ items:
4807+ $ref: '#/components/schemas/BudgetEntry'
4808+ type: array
4809+ id:
4810+ description: The `BudgetWithEntriesData` `id`.
4811+ type: string
4812+ metrics_query:
4813+ description: The cost query used to track against the budget.
4814+ type: string
4815+ name:
4816+ description: The name of the budget.
4817+ type: string
4818+ org_id:
4819+ description: The id of the org the budget belongs to.
4820+ format: int64
4821+ type: integer
4822+ start_month:
4823+ description: The month when the budget starts.
4824+ format: int64
4825+ type: integer
4826+ total_amount:
4827+ description: The sum of all budget entries' amounts.
4828+ format: double
4829+ type: number
4830+ updated_at:
4831+ description: The timestamp when the budget was last updated.
4832+ format: int64
4833+ type: integer
4834+ updated_by:
4835+ description: The id of the user that created the budget.
4836+ type: string
4837+ type: object
46674838 BulkMuteFindingsRequest:
46684839 description: The new bulk mute finding request.
46694840 properties:
@@ -40410,6 +40581,105 @@ paths:
4041040581 operator: OR
4041140582 permissions:
4041240583 - cloud_cost_management_write
40584+ /api/v2/cost/budget:
40585+ put:
40586+ description: Create a new budget or update an existing one.
40587+ operationId: UpsertBudget
40588+ requestBody:
40589+ content:
40590+ application/json:
40591+ schema:
40592+ $ref: '#/components/schemas/BudgetWithEntries'
40593+ required: true
40594+ responses:
40595+ '200':
40596+ content:
40597+ application/json:
40598+ schema:
40599+ $ref: '#/components/schemas/BudgetWithEntries'
40600+ description: OK
40601+ '400':
40602+ $ref: '#/components/responses/BadRequestResponse'
40603+ '404':
40604+ $ref: '#/components/responses/NotFoundResponse'
40605+ '429':
40606+ $ref: '#/components/responses/TooManyRequestsResponse'
40607+ security:
40608+ - apiKeyAuth: []
40609+ appKeyAuth: []
40610+ - AuthZ:
40611+ - cloud_cost_management_write
40612+ summary: Update if exists, or create a new budget
40613+ tags:
40614+ - Cloud Cost Management
40615+ /api/v2/cost/budget/{budget_id}:
40616+ delete:
40617+ description: Delete a budget.
40618+ operationId: DeleteBudget
40619+ parameters:
40620+ - $ref: '#/components/parameters/BudgetID'
40621+ responses:
40622+ '204':
40623+ description: No Content
40624+ '400':
40625+ $ref: '#/components/responses/BadRequestResponse'
40626+ '429':
40627+ $ref: '#/components/responses/TooManyRequestsResponse'
40628+ security:
40629+ - apiKeyAuth: []
40630+ appKeyAuth: []
40631+ - AuthZ:
40632+ - cloud_cost_management_write
40633+ summary: Delete a budget
40634+ tags:
40635+ - Cloud Cost Management
40636+ get:
40637+ description: Get a budget.
40638+ operationId: GetBudget
40639+ parameters:
40640+ - $ref: '#/components/parameters/BudgetID'
40641+ responses:
40642+ '200':
40643+ content:
40644+ application/json:
40645+ schema:
40646+ $ref: '#/components/schemas/BudgetWithEntries'
40647+ description: OK
40648+ '400':
40649+ $ref: '#/components/responses/BadRequestResponse'
40650+ '404':
40651+ $ref: '#/components/responses/NotFoundResponse'
40652+ '429':
40653+ $ref: '#/components/responses/TooManyRequestsResponse'
40654+ security:
40655+ - apiKeyAuth: []
40656+ appKeyAuth: []
40657+ - AuthZ:
40658+ - cloud_cost_management_read
40659+ summary: Get a budget
40660+ tags:
40661+ - Cloud Cost Management
40662+ /api/v2/cost/budgets:
40663+ get:
40664+ description: List budgets.
40665+ operationId: ListBudgets
40666+ responses:
40667+ '200':
40668+ content:
40669+ application/json:
40670+ schema:
40671+ $ref: '#/components/schemas/BudgetArray'
40672+ description: OK
40673+ '429':
40674+ $ref: '#/components/responses/TooManyRequestsResponse'
40675+ security:
40676+ - apiKeyAuth: []
40677+ appKeyAuth: []
40678+ - AuthZ:
40679+ - cloud_cost_management_read
40680+ summary: List budgets
40681+ tags:
40682+ - Cloud Cost Management
4041340683 /api/v2/cost/custom_costs:
4041440684 get:
4041540685 description: List the Custom Costs files.
0 commit comments