{"files":{"SKILL.md":"---\nname: aws-budgets\ndescription: \"AWS Budgets API skill. Use when working with AWS Budgets for root. Covers 26 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS Budgets\nAPI version: 2016-10-20\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. Verify API access with a test request\n3. POST / -- create first resource\n\n## Endpoints\n26 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Root\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | / | Creates a budget and, if included, notifications and subscribers.   Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. |\n| POST | / | Creates a budget action. |\n| POST | / | Creates a notification. You must create the budget before you create the associated notification. |\n| POST | / | Creates a subscriber. You must create the associated budget and notification before you create the subscriber. |\n| POST | / | Deletes a budget. You can delete your budget at any time.  Deleting a budget also deletes the notifications and subscribers that are associated with that budget. |\n| POST | / | Deletes a budget action. |\n| POST | / | Deletes a notification.  Deleting a notification also deletes the subscribers that are associated with the notification. |\n| POST | / | Deletes a subscriber.  Deleting the last subscriber to a notification also deletes the notification. |\n| POST | / | Describes a budget.  The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. |\n| POST | / | Describes a budget action detail. |\n| POST | / | Describes a budget action history detail. |\n| POST | / | Describes all of the budget actions for an account. |\n| POST | / | Describes all of the budget actions for a budget. |\n| POST | / | Lists the budget names and notifications that are associated with an account. |\n| POST | / | Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets. |\n| POST | / | Lists the budgets that are associated with an account.  The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. |\n| POST | / | Lists the notifications that are associated with a budget. |\n| POST | / | Lists the subscribers that are associated with a notification. |\n| POST | / | Executes a budget action. |\n| POST | / | Lists tags associated with a budget or budget action resource. |\n| POST | / | Creates tags for a budget or budget action resource. |\n| POST | / | Deletes tags associated with a budget or budget action resource. |\n| POST | / | Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until Amazon Web Services has new usage data to use for forecasting.  Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section. |\n| POST | / | Updates a budget action. |\n| POST | / | Updates a notification. |\n| POST | / | Updates a subscriber. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a resource?\" -> POST /\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS Budgets\n@version 2016-10-20\n@auth AWS SigV4\n@endpoints 26\n@hint download_for_search\n@toc root(26)\n\n@endpoint POST /\n@desc Creates a budget and, if included, notifications and subscribers.   Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.\n@required {AccountId: str, Budget: Budget}\n@optional {NotificationsWithSubscribers: [NotificationWithSubscribers], ResourceTags: [ResourceTag]}\n\n@endpoint POST /\n@desc Creates a budget action.\n@required {AccountId: str, BudgetName: str, NotificationType: str, ActionType: str, ActionThreshold: ActionThreshold, Definition: Definition, ExecutionRoleArn: str, ApprovalModel: str, Subscribers: [Subscriber]}\n@optional {ResourceTags: [ResourceTag]}\n@returns(200) {AccountId: str, BudgetName: str, ActionId: str}\n\n@endpoint POST /\n@desc Creates a notification. You must create the budget before you create the associated notification.\n@required {AccountId: str, BudgetName: str, Notification: Notification, Subscribers: [Subscriber]}\n\n@endpoint POST /\n@desc Creates a subscriber. You must create the associated budget and notification before you create the subscriber.\n@required {AccountId: str, BudgetName: str, Notification: Notification, Subscriber: Subscriber}\n\n@endpoint POST /\n@desc Deletes a budget. You can delete your budget at any time.  Deleting a budget also deletes the notifications and subscribers that are associated with that budget.\n@required {AccountId: str, BudgetName: str}\n\n@endpoint POST /\n@desc Deletes a budget action.\n@required {AccountId: str, BudgetName: str, ActionId: str}\n@returns(200) {AccountId: str, BudgetName: str, Action: Action{ActionId: str, BudgetName: str, NotificationType: str, ActionType: str, ActionThreshold: ActionThreshold{ActionThresholdValue: num(f64), ActionThresholdType: str}, Definition: Definition{IamActionDefinition: IamActionDefinition?{PolicyArn: str, Roles: [str]?, Groups: [str]?, Users: [str]?}, ScpActionDefinition: ScpActionDefinition?{PolicyId: str, TargetIds: [str]}, SsmActionDefinition: SsmActionDefinition?{ActionSubType: str, Region: str, InstanceIds: [str]}}, ExecutionRoleArn: str, ApprovalModel: str, Status: str, Subscribers: [Subscriber]}}\n\n@endpoint POST /\n@desc Deletes a notification.  Deleting a notification also deletes the subscribers that are associated with the notification.\n@required {AccountId: str, BudgetName: str, Notification: Notification}\n\n@endpoint POST /\n@desc Deletes a subscriber.  Deleting the last subscriber to a notification also deletes the notification.\n@required {AccountId: str, BudgetName: str, Notification: Notification, Subscriber: Subscriber}\n\n@endpoint POST /\n@desc Describes a budget.  The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.\n@required {AccountId: str, BudgetName: str}\n@returns(200) {Budget: Budget?{BudgetName: str, BudgetLimit: Spend?{Amount: str, Unit: str}, PlannedBudgetLimits: map<str, Spend>?: any, CostFilters: map<str, [str]>?: any, CostTypes: CostTypes?{IncludeTax: bool?, IncludeSubscription: bool?, UseBlended: bool?, IncludeRefund: bool?, IncludeCredit: bool?, IncludeUpfront: bool?, IncludeRecurring: bool?, IncludeOtherSubscription: bool?, IncludeSupport: bool?, IncludeDiscount: bool?, UseAmortized: bool?}, TimeUnit: str, TimePeriod: TimePeriod?{Start: str(timestamp)?, End: str(timestamp)?}, CalculatedSpend: CalculatedSpend?{ActualSpend: Spend{Amount: str, Unit: str}, ForecastedSpend: Spend?{Amount: str, Unit: str}}, BudgetType: str, LastUpdatedTime: str(timestamp)?, AutoAdjustData: AutoAdjustData?{AutoAdjustType: str, HistoricalOptions: HistoricalOptions?{BudgetAdjustmentPeriod: int, LookBackAvailablePeriods: int?}, LastAutoAdjustTime: str(timestamp)?}}}\n\n@endpoint POST /\n@desc Describes a budget action detail.\n@required {AccountId: str, BudgetName: str, ActionId: str}\n@returns(200) {AccountId: str, BudgetName: str, Action: Action{ActionId: str, BudgetName: str, NotificationType: str, ActionType: str, ActionThreshold: ActionThreshold{ActionThresholdValue: num(f64), ActionThresholdType: str}, Definition: Definition{IamActionDefinition: IamActionDefinition?{PolicyArn: str, Roles: [str]?, Groups: [str]?, Users: [str]?}, ScpActionDefinition: ScpActionDefinition?{PolicyId: str, TargetIds: [str]}, SsmActionDefinition: SsmActionDefinition?{ActionSubType: str, Region: str, InstanceIds: [str]}}, ExecutionRoleArn: str, ApprovalModel: str, Status: str, Subscribers: [Subscriber]}}\n\n@endpoint POST /\n@desc Describes a budget action history detail.\n@required {AccountId: str, BudgetName: str, ActionId: str}\n@optional {TimePeriod: TimePeriod, MaxResults: int, NextToken: str}\n@returns(200) {ActionHistories: [ActionHistory], NextToken: str?}\n\n@endpoint POST /\n@desc Describes all of the budget actions for an account.\n@required {AccountId: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Actions: [Action], NextToken: str?}\n\n@endpoint POST /\n@desc Describes all of the budget actions for a budget.\n@required {AccountId: str, BudgetName: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Actions: [Action], NextToken: str?}\n\n@endpoint POST /\n@desc Lists the budget names and notifications that are associated with an account.\n@required {AccountId: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {BudgetNotificationsForAccount: [BudgetNotificationsForAccount]?, NextToken: str?}\n\n@endpoint POST /\n@desc Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.\n@required {AccountId: str, BudgetName: str}\n@optional {TimePeriod: TimePeriod, MaxResults: int, NextToken: str}\n@returns(200) {BudgetPerformanceHistory: BudgetPerformanceHistory?{BudgetName: str?, BudgetType: str?, CostFilters: map<str, [str]>?: any, CostTypes: CostTypes?{IncludeTax: bool?, IncludeSubscription: bool?, UseBlended: bool?, IncludeRefund: bool?, IncludeCredit: bool?, IncludeUpfront: bool?, IncludeRecurring: bool?, IncludeOtherSubscription: bool?, IncludeSupport: bool?, IncludeDiscount: bool?, UseAmortized: bool?}, TimeUnit: str?, BudgetedAndActualAmountsList: [BudgetedAndActualAmounts]?}, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the budgets that are associated with an account.  The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.\n@required {AccountId: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Budgets: [Budget]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the notifications that are associated with a budget.\n@required {AccountId: str, BudgetName: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Notifications: [Notification]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the subscribers that are associated with a notification.\n@required {AccountId: str, BudgetName: str, Notification: Notification}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Subscribers: [Subscriber]?, NextToken: str?}\n\n@endpoint POST /\n@desc Executes a budget action.\n@required {AccountId: str, BudgetName: str, ActionId: str, ExecutionType: str}\n@returns(200) {AccountId: str, BudgetName: str, ActionId: str, ExecutionType: str}\n\n@endpoint POST /\n@desc Lists tags associated with a budget or budget action resource.\n@required {ResourceARN: str}\n@returns(200) {ResourceTags: [ResourceTag]?}\n\n@endpoint POST /\n@desc Creates tags for a budget or budget action resource.\n@required {ResourceARN: str, ResourceTags: [ResourceTag]}\n\n@endpoint POST /\n@desc Deletes tags associated with a budget or budget action resource.\n@required {ResourceARN: str, ResourceTagKeys: [str]}\n\n@endpoint POST /\n@desc Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until Amazon Web Services has new usage data to use for forecasting.  Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.\n@required {AccountId: str, NewBudget: Budget}\n\n@endpoint POST /\n@desc Updates a budget action.\n@required {AccountId: str, BudgetName: str, ActionId: str}\n@optional {NotificationType: str, ActionThreshold: ActionThreshold, Definition: Definition, ExecutionRoleArn: str, ApprovalModel: str, Subscribers: [Subscriber]}\n@returns(200) {AccountId: str, BudgetName: str, OldAction: Action{ActionId: str, BudgetName: str, NotificationType: str, ActionType: str, ActionThreshold: ActionThreshold{ActionThresholdValue: num(f64), ActionThresholdType: str}, Definition: Definition{IamActionDefinition: IamActionDefinition?{PolicyArn: str, Roles: [str]?, Groups: [str]?, Users: [str]?}, ScpActionDefinition: ScpActionDefinition?{PolicyId: str, TargetIds: [str]}, SsmActionDefinition: SsmActionDefinition?{ActionSubType: str, Region: str, InstanceIds: [str]}}, ExecutionRoleArn: str, ApprovalModel: str, Status: str, Subscribers: [Subscriber]}, NewAction: Action{ActionId: str, BudgetName: str, NotificationType: str, ActionType: str, ActionThreshold: ActionThreshold{ActionThresholdValue: num(f64), ActionThresholdType: str}, Definition: Definition{IamActionDefinition: IamActionDefinition?{PolicyArn: str, Roles: [str]?, Groups: [str]?, Users: [str]?}, ScpActionDefinition: ScpActionDefinition?{PolicyId: str, TargetIds: [str]}, SsmActionDefinition: SsmActionDefinition?{ActionSubType: str, Region: str, InstanceIds: [str]}}, ExecutionRoleArn: str, ApprovalModel: str, Status: str, Subscribers: [Subscriber]}}\n\n@endpoint POST /\n@desc Updates a notification.\n@required {AccountId: str, BudgetName: str, OldNotification: Notification, NewNotification: Notification}\n\n@endpoint POST /\n@desc Updates a subscriber.\n@required {AccountId: str, BudgetName: str, Notification: Notification, OldSubscriber: Subscriber, NewSubscriber: Subscriber}\n\n@end\n"}}