@@ -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,132 @@ components:
46644671 data:
46654672 $ref: '#/components/schemas/BillingDimensionsMappingBody'
46664673 type: object
4674+ Budget:
4675+ description: A budget.
4676+ properties:
4677+ attributes:
4678+ $ref: '#/components/schemas/BudgetAttributes'
4679+ id:
4680+ description: The id of the budget.
4681+ type: string
4682+ type: object
4683+ BudgetArray:
4684+ description: An array of budgets.
4685+ example:
4686+ data:
4687+ - attributes:
4688+ created_at: 1741011342772
4689+ created_by: user1
4690+ end_month: 202502
4691+ metrics_query: aws.cost.amortized{service:ec2} by {service}
4692+ name: my budget
4693+ org_id: 123
4694+ start_month: 202501
4695+ total_amount: 1000
4696+ updated_at: 1741011342772
4697+ updated_by: user2
4698+ id: 00000000-0a0a-0a0a-aaa0-00000000000a
4699+ type: budget
4700+ properties:
4701+ data:
4702+ description: The `BudgetArray` `data`.
4703+ items:
4704+ $ref: '#/components/schemas/Budget'
4705+ type: array
4706+ type: object
4707+ BudgetAttributes:
4708+ description: The attributes of a budget.
4709+ properties:
4710+ created_at:
4711+ description: The timestamp when the budget was created.
4712+ example: 1738258683590
4713+ format: int64
4714+ type: integer
4715+ created_by:
4716+ description: The id of the user that created the budget.
4717+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4718+ type: string
4719+ end_month:
4720+ description: The month when the budget ends.
4721+ example: 202502
4722+ format: int64
4723+ type: integer
4724+ entries:
4725+ description: The entries of the budget.
4726+ items:
4727+ $ref: '#/components/schemas/BudgetEntry'
4728+ type: array
4729+ metrics_query:
4730+ description: The cost query used to track against the budget.
4731+ example: aws.cost.amortized{service:ec2} by {service}
4732+ type: string
4733+ name:
4734+ description: The name of the budget.
4735+ example: my budget
4736+ type: string
4737+ org_id:
4738+ description: The id of the org the budget belongs to.
4739+ example: 123
4740+ format: int64
4741+ type: integer
4742+ start_month:
4743+ description: The month when the budget starts.
4744+ example: 202501
4745+ format: int64
4746+ type: integer
4747+ total_amount:
4748+ description: The sum of all budget entries' amounts.
4749+ example: 1000
4750+ format: double
4751+ type: number
4752+ updated_at:
4753+ description: The timestamp when the budget was last updated.
4754+ example: 1738258683590
4755+ format: int64
4756+ type: integer
4757+ updated_by:
4758+ description: The id of the user that created the budget.
4759+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4760+ type: string
4761+ type: object
4762+ BudgetEntry:
4763+ description: The entry of a budget.
4764+ properties:
4765+ amount:
4766+ description: The `amount` of the budget entry.
4767+ example: 500
4768+ format: double
4769+ type: number
4770+ month:
4771+ description: The `month` of the budget entry.
4772+ example: 202501
4773+ format: int64
4774+ type: integer
4775+ tag_filters:
4776+ description: The `BudgetEntry` `tag_filters`.
4777+ items:
4778+ $ref: '#/components/schemas/TagFilter'
4779+ type: array
4780+ type: object
4781+ BudgetWithEntries:
4782+ description: The definition of the `BudgetWithEntries` object.
4783+ properties:
4784+ data:
4785+ $ref: '#/components/schemas/BudgetWithEntriesData'
4786+ type: object
4787+ BudgetWithEntriesData:
4788+ description: A budget and all its entries.
4789+ properties:
4790+ attributes:
4791+ $ref: '#/components/schemas/BudgetAttributes'
4792+ id:
4793+ description: The `BudgetWithEntriesData` `id`.
4794+ example: 00000000-0a0a-0a0a-aaa0-00000000000a
4795+ type: string
4796+ type:
4797+ description: The type of the budget.
4798+ type: string
4799+ type: object
46674800 BulkMuteFindingsRequest:
46684801 description: The new bulk mute finding request.
46694802 properties:
@@ -34059,6 +34192,18 @@ components:
3405934192 format: double
3406034193 type: number
3406134194 type: object
34195+ TagFilter:
34196+ description: Tag filter for the budget's entries.
34197+ properties:
34198+ tag_key:
34199+ description: The key of the tag.
34200+ example: service
34201+ type: string
34202+ tag_value:
34203+ description: The value of the tag.
34204+ example: ec2
34205+ type: string
34206+ type: object
3406234207 TagsEventAttribute:
3406334208 description: Array of tags associated with your event.
3406434209 example:
@@ -40412,6 +40557,105 @@ paths:
4041240557 operator: OR
4041340558 permissions:
4041440559 - cloud_cost_management_write
40560+ /api/v2/cost/budget:
40561+ put:
40562+ description: Create a new budget or update an existing one.
40563+ operationId: UpsertBudget
40564+ requestBody:
40565+ content:
40566+ application/json:
40567+ schema:
40568+ $ref: '#/components/schemas/BudgetWithEntries'
40569+ required: true
40570+ responses:
40571+ '200':
40572+ content:
40573+ application/json:
40574+ schema:
40575+ $ref: '#/components/schemas/BudgetWithEntries'
40576+ description: OK
40577+ '400':
40578+ $ref: '#/components/responses/BadRequestResponse'
40579+ '404':
40580+ $ref: '#/components/responses/NotFoundResponse'
40581+ '429':
40582+ $ref: '#/components/responses/TooManyRequestsResponse'
40583+ security:
40584+ - apiKeyAuth: []
40585+ appKeyAuth: []
40586+ - AuthZ:
40587+ - cloud_cost_management_write
40588+ summary: Update if exists, or create a new budget
40589+ tags:
40590+ - Cloud Cost Management
40591+ /api/v2/cost/budget/{budget_id}:
40592+ delete:
40593+ description: Delete a budget.
40594+ operationId: DeleteBudget
40595+ parameters:
40596+ - $ref: '#/components/parameters/BudgetID'
40597+ responses:
40598+ '204':
40599+ description: No Content
40600+ '400':
40601+ $ref: '#/components/responses/BadRequestResponse'
40602+ '429':
40603+ $ref: '#/components/responses/TooManyRequestsResponse'
40604+ security:
40605+ - apiKeyAuth: []
40606+ appKeyAuth: []
40607+ - AuthZ:
40608+ - cloud_cost_management_write
40609+ summary: Delete a budget
40610+ tags:
40611+ - Cloud Cost Management
40612+ get:
40613+ description: Get a budget.
40614+ operationId: GetBudget
40615+ parameters:
40616+ - $ref: '#/components/parameters/BudgetID'
40617+ responses:
40618+ '200':
40619+ content:
40620+ application/json:
40621+ schema:
40622+ $ref: '#/components/schemas/BudgetWithEntries'
40623+ description: OK
40624+ '400':
40625+ $ref: '#/components/responses/BadRequestResponse'
40626+ '404':
40627+ $ref: '#/components/responses/NotFoundResponse'
40628+ '429':
40629+ $ref: '#/components/responses/TooManyRequestsResponse'
40630+ security:
40631+ - apiKeyAuth: []
40632+ appKeyAuth: []
40633+ - AuthZ:
40634+ - cloud_cost_management_read
40635+ summary: Get a budget
40636+ tags:
40637+ - Cloud Cost Management
40638+ /api/v2/cost/budgets:
40639+ get:
40640+ description: List budgets.
40641+ operationId: ListBudgets
40642+ responses:
40643+ '200':
40644+ content:
40645+ application/json:
40646+ schema:
40647+ $ref: '#/components/schemas/BudgetArray'
40648+ description: OK
40649+ '429':
40650+ $ref: '#/components/responses/TooManyRequestsResponse'
40651+ security:
40652+ - apiKeyAuth: []
40653+ appKeyAuth: []
40654+ - AuthZ:
40655+ - cloud_cost_management_read
40656+ summary: List budgets
40657+ tags:
40658+ - Cloud Cost Management
4041540659 /api/v2/cost/custom_costs:
4041640660 get:
4041740661 description: List the Custom Costs files.
0 commit comments