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