@@ -186,6 +186,13 @@ components:
186
186
required: true
187
187
schema:
188
188
type: string
189
+ BudgetID:
190
+ description: Budget id.
191
+ in: path
192
+ name: budget_id
193
+ required: true
194
+ schema:
195
+ type: string
189
196
CaseIDPathParameter:
190
197
description: Case's UUID or key
191
198
example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504
@@ -4663,6 +4670,183 @@ components:
4663
4670
data:
4664
4671
$ref: '#/components/schemas/BillingDimensionsMappingBody'
4665
4672
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
4666
4850
BulkMuteFindingsRequest:
4667
4851
description: The new bulk mute finding request.
4668
4852
properties:
@@ -39431,6 +39615,105 @@ paths:
39431
39615
operator: OR
39432
39616
permissions:
39433
39617
- 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
39434
39717
/api/v2/cost/custom_costs:
39435
39718
get:
39436
39719
description: List the Custom Costs files.
0 commit comments