@@ -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,145 @@ 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+ content:
39637+ application/json:
39638+ schema:
39639+ $ref: '#/components/responses/BadRequestResponse'
39640+ description: Bad Request
39641+ '404':
39642+ content:
39643+ application/json:
39644+ schema:
39645+ $ref: '#/components/responses/NotFoundResponse'
39646+ description: Not Found
39647+ '429':
39648+ content:
39649+ application/json:
39650+ schema:
39651+ $ref: '#/components/responses/TooManyRequestsResponse'
39652+ description: Too Many Requests
39653+ security:
39654+ - apiKeyAuth: []
39655+ appKeyAuth: []
39656+ - AuthZ:
39657+ - cloud_cost_management_write
39658+ summary: Update if exists, or create a new budget
39659+ tags:
39660+ - Cloud Cost Management
39661+ /api/v2/cost/budget/{budget_id}:
39662+ delete:
39663+ description: Delete a budget.
39664+ operationId: DeleteBudget
39665+ parameters:
39666+ - $ref: '#/components/parameters/BudgetID'
39667+ responses:
39668+ '204':
39669+ content:
39670+ application/json:
39671+ schema:
39672+ $ref: '#/components/responses/NotFoundResponse'
39673+ description: No Content
39674+ '400':
39675+ content:
39676+ application/json:
39677+ schema:
39678+ $ref: '#/components/responses/BadRequestResponse'
39679+ description: Bad Request
39680+ '429':
39681+ content:
39682+ application/json:
39683+ schema:
39684+ $ref: '#/components/responses/TooManyRequestsResponse'
39685+ description: Too Many Requests
39686+ security:
39687+ - apiKeyAuth: []
39688+ appKeyAuth: []
39689+ - AuthZ:
39690+ - cloud_cost_management_write
39691+ summary: Delete a budget
39692+ tags:
39693+ - Cloud Cost Management
39694+ get:
39695+ description: Get a budget.
39696+ operationId: GetBudget
39697+ parameters:
39698+ - $ref: '#/components/parameters/BudgetID'
39699+ responses:
39700+ '200':
39701+ content:
39702+ application/json:
39703+ schema:
39704+ $ref: '#/components/schemas/BudgetWithEntries'
39705+ description: OK
39706+ '400':
39707+ content:
39708+ application/json:
39709+ schema:
39710+ $ref: '#/components/responses/BadRequestResponse'
39711+ description: Bad Request
39712+ '404':
39713+ content:
39714+ application/json:
39715+ schema:
39716+ $ref: '#/components/responses/NotFoundResponse'
39717+ description: Not Found
39718+ '429':
39719+ content:
39720+ application/json:
39721+ schema:
39722+ $ref: '#/components/responses/TooManyRequestsResponse'
39723+ description: Too Many Requests
39724+ security:
39725+ - apiKeyAuth: []
39726+ appKeyAuth: []
39727+ - AuthZ:
39728+ - cloud_cost_management_read
39729+ summary: Get a budget
39730+ tags:
39731+ - Cloud Cost Management
39732+ /api/v2/cost/budgets:
39733+ get:
39734+ description: List budgets.
39735+ operationId: ListBudgets
39736+ responses:
39737+ '200':
39738+ content:
39739+ application/json:
39740+ schema:
39741+ $ref: '#/components/schemas/BudgetArray'
39742+ description: OK
39743+ '429':
39744+ content:
39745+ application/json:
39746+ schema:
39747+ $ref: '#/components/responses/TooManyRequestsResponse'
39748+ description: Too Many Requests
39749+ security:
39750+ - apiKeyAuth: []
39751+ appKeyAuth: []
39752+ - AuthZ:
39753+ - cloud_cost_management_read
39754+ summary: List budgets
39755+ tags:
39756+ - Cloud Cost Management
3943439757 /api/v2/cost/custom_costs:
3943539758 get:
3943639759 description: List the Custom Costs files.
0 commit comments