{"files":{"SKILL.md":"---\nname: aws-savings-plans\ndescription: \"AWS Savings Plans API skill. Use when working with AWS Savings Plans for CreateSavingsPlan, DeleteQueuedSavingsPlan, DescribeSavingsPlanRates. Covers 10 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS Savings Plans\nAPI version: 2019-06-28\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 /CreateSavingsPlan -- create first CreateSavingsPlan\n\n## Endpoints\n10 endpoints across 10 groups. See references/api-spec.lap for full details.\n\n### CreateSavingsPlan\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /CreateSavingsPlan | Creates a Savings Plan. |\n\n### DeleteQueuedSavingsPlan\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /DeleteQueuedSavingsPlan | Deletes the queued purchase for the specified Savings Plan. |\n\n### DescribeSavingsPlanRates\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /DescribeSavingsPlanRates | Describes the rates for the specified Savings Plan. |\n\n### DescribeSavingsPlans\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /DescribeSavingsPlans | Describes the specified Savings Plans. |\n\n### DescribeSavingsPlansOfferingRates\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /DescribeSavingsPlansOfferingRates | Describes the offering rates for the specified Savings Plans. |\n\n### DescribeSavingsPlansOfferings\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /DescribeSavingsPlansOfferings | Describes the offerings for the specified Savings Plans. |\n\n### ListTagsForResource\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /ListTagsForResource | Lists the tags for the specified resource. |\n\n### ReturnSavingsPlan\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /ReturnSavingsPlan | Returns the specified Savings Plan. |\n\n### TagResource\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /TagResource | Adds the specified tags to the specified resource. |\n\n### UntagResource\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /UntagResource | Removes the specified tags from the specified resource. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a CreateSavingsPlan?\" -> POST /CreateSavingsPlan\n- \"Create a DeleteQueuedSavingsPlan?\" -> POST /DeleteQueuedSavingsPlan\n- \"Create a DescribeSavingsPlanRate?\" -> POST /DescribeSavingsPlanRates\n- \"Create a DescribeSavingsPlan?\" -> POST /DescribeSavingsPlans\n- \"Create a DescribeSavingsPlansOfferingRate?\" -> POST /DescribeSavingsPlansOfferingRates\n- \"Create a DescribeSavingsPlansOffering?\" -> POST /DescribeSavingsPlansOfferings\n- \"Create a ListTagsForResource?\" -> POST /ListTagsForResource\n- \"Create a ReturnSavingsPlan?\" -> POST /ReturnSavingsPlan\n- \"Create a TagResource?\" -> POST /TagResource\n- \"Create a UntagResource?\" -> POST /UntagResource\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 Savings Plans\n@version 2019-06-28\n@auth AWS SigV4\n@endpoints 10\n@toc CreateSavingsPlan(1), DeleteQueuedSavingsPlan(1), DescribeSavingsPlanRates(1), DescribeSavingsPlans(1), DescribeSavingsPlansOfferingRates(1), DescribeSavingsPlansOfferings(1), ListTagsForResource(1), ReturnSavingsPlan(1), TagResource(1), UntagResource(1)\n\n@group CreateSavingsPlan\n@endpoint POST /CreateSavingsPlan\n@desc Creates a Savings Plan.\n@required {savingsPlanOfferingId: str, commitment: str}\n@optional {upfrontPaymentAmount: str, purchaseTime: str(timestamp), clientToken: str, tags: map<str,str>}\n@returns(200) {savingsPlanId: str?}\n\n@endgroup\n\n@group DeleteQueuedSavingsPlan\n@endpoint POST /DeleteQueuedSavingsPlan\n@desc Deletes the queued purchase for the specified Savings Plan.\n@required {savingsPlanId: str}\n\n@endgroup\n\n@group DescribeSavingsPlanRates\n@endpoint POST /DescribeSavingsPlanRates\n@desc Describes the rates for the specified Savings Plan.\n@required {savingsPlanId: str}\n@optional {filters: [SavingsPlanRateFilter], nextToken: str, maxResults: int}\n@returns(200) {savingsPlanId: str?, searchResults: [SavingsPlanRate]?, nextToken: str?}\n\n@endgroup\n\n@group DescribeSavingsPlans\n@endpoint POST /DescribeSavingsPlans\n@desc Describes the specified Savings Plans.\n@optional {savingsPlanArns: [str], savingsPlanIds: [str], nextToken: str, maxResults: int, states: [str], filters: [SavingsPlanFilter]}\n@returns(200) {savingsPlans: [SavingsPlan]?, nextToken: str?}\n\n@endgroup\n\n@group DescribeSavingsPlansOfferingRates\n@endpoint POST /DescribeSavingsPlansOfferingRates\n@desc Describes the offering rates for the specified Savings Plans.\n@optional {savingsPlanOfferingIds: [str], savingsPlanPaymentOptions: [str], savingsPlanTypes: [str], products: [str], serviceCodes: [str], usageTypes: [str], operations: [str], filters: [SavingsPlanOfferingRateFilterElement], nextToken: str, maxResults: int}\n@returns(200) {searchResults: [SavingsPlanOfferingRate]?, nextToken: str?}\n\n@endgroup\n\n@group DescribeSavingsPlansOfferings\n@endpoint POST /DescribeSavingsPlansOfferings\n@desc Describes the offerings for the specified Savings Plans.\n@optional {offeringIds: [str], paymentOptions: [str], productType: str, planTypes: [str], durations: [int(i64)], currencies: [str], descriptions: [str], serviceCodes: [str], usageTypes: [str], operations: [str], filters: [SavingsPlanOfferingFilterElement], nextToken: str, maxResults: int}\n@returns(200) {searchResults: [SavingsPlanOffering]?, nextToken: str?}\n\n@endgroup\n\n@group ListTagsForResource\n@endpoint POST /ListTagsForResource\n@desc Lists the tags for the specified resource.\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endgroup\n\n@group ReturnSavingsPlan\n@endpoint POST /ReturnSavingsPlan\n@desc Returns the specified Savings Plan.\n@required {savingsPlanId: str}\n@optional {clientToken: str}\n@returns(200) {savingsPlanId: str?}\n\n@endgroup\n\n@group TagResource\n@endpoint POST /TagResource\n@desc Adds the specified tags to the specified resource.\n@required {resourceArn: str, tags: map<str,str>}\n\n@endgroup\n\n@group UntagResource\n@endpoint POST /UntagResource\n@desc Removes the specified tags from the specified resource.\n@required {resourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@end\n"}}