@@ -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,133 @@ 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+ content:
40605+ application/json:
40606+ schema:
40607+ $ref: '#/components/responses/NotFoundResponse'
40608+ description: Not Found
40609+ '429':
40610+ content:
40611+ application/json:
40612+ schema:
40613+ $ref: '#/components/responses/TooManyRequestsResponse'
40614+ description: Too Many Requests
40615+ security:
40616+ - apiKeyAuth: []
40617+ appKeyAuth: []
40618+ - AuthZ:
40619+ - cloud_cost_management_write
40620+ summary: Update if exists, or create a new budget
40621+ tags:
40622+ - Cloud Cost Management
40623+ /api/v2/cost/budget/{budget_id}:
40624+ delete:
40625+ description: Delete a budget.
40626+ operationId: DeleteBudget
40627+ parameters:
40628+ - $ref: '#/components/parameters/BudgetID'
40629+ responses:
40630+ '204':
40631+ content:
40632+ application/json:
40633+ schema:
40634+ $ref: '#/components/responses/NotFoundResponse'
40635+ description: No Content
40636+ '400':
40637+ $ref: '#/components/responses/BadRequestResponse'
40638+ '429':
40639+ content:
40640+ application/json:
40641+ schema:
40642+ $ref: '#/components/responses/TooManyRequestsResponse'
40643+ description: Too Many Requests
40644+ security:
40645+ - apiKeyAuth: []
40646+ appKeyAuth: []
40647+ - AuthZ:
40648+ - cloud_cost_management_write
40649+ summary: Delete a budget
40650+ tags:
40651+ - Cloud Cost Management
40652+ get:
40653+ description: Get a budget.
40654+ operationId: GetBudget
40655+ parameters:
40656+ - $ref: '#/components/parameters/BudgetID'
40657+ responses:
40658+ '200':
40659+ content:
40660+ application/json:
40661+ schema:
40662+ $ref: '#/components/schemas/BudgetWithEntries'
40663+ description: OK
40664+ '400':
40665+ $ref: '#/components/responses/BadRequestResponse'
40666+ '404':
40667+ content:
40668+ application/json:
40669+ schema:
40670+ $ref: '#/components/responses/NotFoundResponse'
40671+ description: Not Found
40672+ '429':
40673+ content:
40674+ application/json:
40675+ schema:
40676+ $ref: '#/components/responses/TooManyRequestsResponse'
40677+ description: Too Many Requests
40678+ security:
40679+ - apiKeyAuth: []
40680+ appKeyAuth: []
40681+ - AuthZ:
40682+ - cloud_cost_management_read
40683+ summary: Get a budget
40684+ tags:
40685+ - Cloud Cost Management
40686+ /api/v2/cost/budgets:
40687+ get:
40688+ description: List budgets.
40689+ operationId: ListBudgets
40690+ responses:
40691+ '200':
40692+ content:
40693+ application/json:
40694+ schema:
40695+ $ref: '#/components/schemas/BudgetArray'
40696+ description: OK
40697+ '429':
40698+ content:
40699+ application/json:
40700+ schema:
40701+ $ref: '#/components/responses/TooManyRequestsResponse'
40702+ description: Too Many Requests
40703+ security:
40704+ - apiKeyAuth: []
40705+ appKeyAuth: []
40706+ - AuthZ:
40707+ - cloud_cost_management_read
40708+ summary: List budgets
40709+ tags:
40710+ - Cloud Cost Management
4041340711 /api/v2/cost/custom_costs:
4041440712 get:
4041540713 description: List the Custom Costs files.
0 commit comments