@@ -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
@@ -4663,6 +4670,183 @@ components:
46634670 data:
46644671 $ref: '#/components/schemas/BillingDimensionsMappingBody'
46654672 type: object
4673+ Budget:
4674+ description: A Budget.
4675+ properties:
4676+ created_at:
4677+ description: The timestamp when the budget was created.
4678+ format: int64
4679+ type: integer
4680+ created_by:
4681+ description: The id of the user that created the budget.
4682+ type: string
4683+ end_month:
4684+ description: The month when the budget ends.
4685+ format: int64
4686+ type: integer
4687+ id:
4688+ description: The id of the budget.
4689+ type: string
4690+ metrics_query:
4691+ description: The cost query for to track against the budget.
4692+ type: string
4693+ name:
4694+ description: The name of the budget.
4695+ type: string
4696+ org_id:
4697+ description: The Id of the Org the budget belongs to.
4698+ format: int64
4699+ type: integer
4700+ start_month:
4701+ description: The month when the budget starts.
4702+ format: int64
4703+ type: integer
4704+ tags:
4705+ description: The tags for which the budget is created.
4706+ items:
4707+ type: string
4708+ type: array
4709+ total_amount:
4710+ description: The sum of all budget entries amounts.
4711+ format: double
4712+ type: number
4713+ updated_at:
4714+ description: The timestamp when the budget was last updated.
4715+ format: int64
4716+ type: integer
4717+ updated_by:
4718+ description: The id of the user that created the budget.
4719+ type: string
4720+ type: object
4721+ BudgetArray:
4722+ description: An array of budgets.
4723+ example:
4724+ data:
4725+ - attributes:
4726+ created_at: 1741011342772
4727+ created_by: user1
4728+ end_month: 202502
4729+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4730+ name: my budget
4731+ org_id: 123
4732+ start_month: 202501
4733+ tags: null
4734+ total_amount: 1000
4735+ updated_at: 1741011342772
4736+ updated_by: user2
4737+ id: 00000000-0a0a-0a0a-aaa0-00000000000a
4738+ type: budget
4739+ properties:
4740+ data:
4741+ description: The `BudgetArray` `data`.
4742+ items:
4743+ $ref: '#/components/schemas/Budget'
4744+ type: array
4745+ type: object
4746+ BudgetEntry:
4747+ description: The entry of a budget.
4748+ properties:
4749+ amount:
4750+ description: The `amount` of the budget entry.
4751+ format: double
4752+ type: number
4753+ month:
4754+ description: The `month` of the budget entry.
4755+ format: int64
4756+ type: integer
4757+ tag_filters:
4758+ description: The `tag_filters` of the budget entry.
4759+ items:
4760+ type: string
4761+ type: array
4762+ type: object
4763+ BudgetWithEntries:
4764+ description: The definition of `BudgetWithEntries` object.
4765+ example:
4766+ data:
4767+ attributes:
4768+ created_at: 1738258683590
4769+ created_by: 00000000-0a0a-0a0a-aaa0-00000000000a
4770+ end_month: 202502
4771+ entries:
4772+ - amount: 500
4773+ month: 202501
4774+ tag_filters:
4775+ - tag_key: service
4776+ tag_value: ec2
4777+ - amount: 500
4778+ month: 202502
4779+ tag_filters:
4780+ - tag_key: service
4781+ tag_value: ec2
4782+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4783+ name: my budget
4784+ org_id: 123
4785+ start_month: 202501
4786+ tags:
4787+ - service
4788+ total_amount: 1000
4789+ updated_at: 1738258683590
4790+ updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a
4791+ id: '1'
4792+ type: budget
4793+ properties:
4794+ data:
4795+ $ref: '#/components/schemas/BudgetWithEntriesData'
4796+ type: object
4797+ BudgetWithEntriesData:
4798+ description: A budget and all it's entries.
4799+ properties:
4800+ created_at:
4801+ description: The timestamp when the budget was created.
4802+ format: int64
4803+ type: integer
4804+ created_by:
4805+ description: The id of the user that created the budget.
4806+ type: string
4807+ end_month:
4808+ description: The month when the budget ends.
4809+ format: int64
4810+ type: integer
4811+ entries:
4812+ description: The entries of the budget.
4813+ items:
4814+ $ref: '#/components/schemas/BudgetEntry'
4815+ type: array
4816+ id:
4817+ description: The `BudgetWithEntriesData` `id`.
4818+ type: string
4819+ metrics_query:
4820+ description: The cost query for to track against the budget.
4821+ type: string
4822+ name:
4823+ description: The name of the budget.
4824+ type: string
4825+ org_id:
4826+ description: The Id of the Org the budget belongs to.
4827+ format: int64
4828+ type: integer
4829+ start_month:
4830+ description: The month when the budget starts.
4831+ format: int64
4832+ type: integer
4833+ tags:
4834+ description: The tags for which the budget is created.
4835+ items:
4836+ type: string
4837+ type: array
4838+ total_amount:
4839+ description: The sum of all budget entries amounts.
4840+ format: double
4841+ type: number
4842+ updated_at:
4843+ description: The timestamp when the budget was last updated.
4844+ format: int64
4845+ type: integer
4846+ updated_by:
4847+ description: The id of the user that created the budget.
4848+ type: string
4849+ type: object
46664850 BulkMuteFindingsRequest:
46674851 description: The new bulk mute finding request.
46684852 properties:
@@ -39431,6 +39615,105 @@ paths:
3943139615 operator: OR
3943239616 permissions:
3943339617 - cloud_cost_management_write
39618+ /api/v2/cost/budget:
39619+ put:
39620+ description: Create a new budget or update an existing one.
39621+ operationId: UpsertBudget
39622+ requestBody:
39623+ content:
39624+ application/json:
39625+ schema:
39626+ $ref: '#/components/schemas/BudgetWithEntries'
39627+ required: true
39628+ responses:
39629+ '200':
39630+ content:
39631+ application/json:
39632+ schema:
39633+ $ref: '#/components/schemas/BudgetWithEntries'
39634+ description: OK
39635+ '400':
39636+ $ref: '#/components/responses/BadRequestResponse'
39637+ '404':
39638+ $ref: '#/components/responses/NotFoundResponse'
39639+ '429':
39640+ $ref: '#/components/responses/TooManyRequestsResponse'
39641+ security:
39642+ - apiKeyAuth: []
39643+ appKeyAuth: []
39644+ - AuthZ:
39645+ - cloud_cost_management_write
39646+ summary: Update if exists, or create a new budget
39647+ tags:
39648+ - Cloud Cost Management
39649+ /api/v2/cost/budget/{budget_id}:
39650+ delete:
39651+ description: Delete a budget.
39652+ operationId: DeleteBudget
39653+ parameters:
39654+ - $ref: '#/components/parameters/BudgetID'
39655+ responses:
39656+ '204':
39657+ description: No Content
39658+ '400':
39659+ $ref: '#/components/responses/BadRequestResponse'
39660+ '429':
39661+ $ref: '#/components/responses/TooManyRequestsResponse'
39662+ security:
39663+ - apiKeyAuth: []
39664+ appKeyAuth: []
39665+ - AuthZ:
39666+ - cloud_cost_management_write
39667+ summary: Delete a budget
39668+ tags:
39669+ - Cloud Cost Management
39670+ get:
39671+ description: Get a budget.
39672+ operationId: GetBudget
39673+ parameters:
39674+ - $ref: '#/components/parameters/BudgetID'
39675+ responses:
39676+ '200':
39677+ content:
39678+ application/json:
39679+ schema:
39680+ $ref: '#/components/schemas/BudgetWithEntries'
39681+ description: OK
39682+ '400':
39683+ $ref: '#/components/responses/BadRequestResponse'
39684+ '404':
39685+ $ref: '#/components/responses/NotFoundResponse'
39686+ '429':
39687+ $ref: '#/components/responses/TooManyRequestsResponse'
39688+ security:
39689+ - apiKeyAuth: []
39690+ appKeyAuth: []
39691+ - AuthZ:
39692+ - cloud_cost_management_read
39693+ summary: Get a budget
39694+ tags:
39695+ - Cloud Cost Management
39696+ /api/v2/cost/budgets:
39697+ get:
39698+ description: List budgets.
39699+ operationId: ListBudgets
39700+ responses:
39701+ '200':
39702+ content:
39703+ application/json:
39704+ schema:
39705+ $ref: '#/components/schemas/BudgetArray'
39706+ description: OK
39707+ '429':
39708+ $ref: '#/components/responses/TooManyRequestsResponse'
39709+ security:
39710+ - apiKeyAuth: []
39711+ appKeyAuth: []
39712+ - AuthZ:
39713+ - cloud_cost_management_read
39714+ summary: List budgets
39715+ tags:
39716+ - Cloud Cost Management
3943439717 /api/v2/cost/custom_costs:
3943539718 get:
3943639719 description: List the Custom Costs files.
0 commit comments