{"files":{"SKILL.md":"---\nname: spec\ndescription: \"spec API skill. Use when working with spec for subscriptions. Covers 5 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# spec\n\n## Auth\nNo authentication required.\n\n## Base URL\nhttps://api.ote-godaddy.com\n\n## Setup\n1. No auth setup needed\n2. GET /v1/subscriptions -- verify access\n\n## Endpoints\n\n5 endpoints across 1 groups. See references/api-spec.lap for full details.\n\n### subscriptions\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /v1/subscriptions | Retrieve a list of Subscriptions for the specified Shopper |\n| GET | /v1/subscriptions/productGroups | Retrieve a list of ProductGroups for the specified Shopper |\n| DELETE | /v1/subscriptions/{subscriptionId} | Cancel the specified Subscription |\n| GET | /v1/subscriptions/{subscriptionId} | Retrieve details for the specified Subscription |\n| PATCH | /v1/subscriptions/{subscriptionId} | Update details for the specified Subscription |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all subscriptions?\" -> GET /v1/subscriptions\n- \"List all productGroups?\" -> GET /v1/subscriptions/productGroups\n- \"Delete a subscription?\" -> DELETE /v1/subscriptions/{subscriptionId}\n- \"Get subscription details?\" -> GET /v1/subscriptions/{subscriptionId}\n- \"Partially update a subscription?\" -> PATCH /v1/subscriptions/{subscriptionId}\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- List endpoints may support pagination; check for limit, offset, or cursor params\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get spec -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search spec\n```\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 spec\n@base https://api.ote-godaddy.com\n@endpoints 5\n@toc subscriptions(5)\n\n@endpoint GET /v1/subscriptions\n@desc Retrieve a list of Subscriptions for the specified Shopper\n@required {X-App-Key: any # A unique application key identifying the source of the request. This is required for request tracking}\n@optional {X-Shopper-Id: any # Shopper ID to return subscriptions for when not using JWT, X-Market-Id: any # The market that the response should be formatted for, productGroupKeys: any # Only return Subscriptions with the specified product groups, includes: any # Optional details to be included in the response, offset: any # Number of Subscriptions to skip before starting to return paged results (must be a multiple of the limit), limit: any # Number of Subscriptions to retrieve in this page, starting after offset, sort: any # Property name that will be used to sort results. \"-\" indicates descending}\n@returns(200) Request was successful\n@errors {400: Request was malformed, 401: Authentication info not sent or invalid, 403: Authenticated user is not allowed access, 422: Invalid query parameter (custom message returned for each parameter), 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint GET /v1/subscriptions/productGroups\n@desc Retrieve a list of ProductGroups for the specified Shopper\n@required {X-App-Key: any # A unique application key identifying the source of the request. This is required for request tracking}\n@optional {X-Shopper-Id: any # Shopper ID to return data for when not using JWT}\n@returns(200) Request was successful\n@errors {400: Request was malformed, 401: Authentication info not sent or invalid, 403: Authenticated user is not allowed access, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint DELETE /v1/subscriptions/{subscriptionId}\n@desc Cancel the specified Subscription\n@required {X-App-Key: any # A unique application key identifying the source of the request. This is required for request tracking, subscriptionId: any # Unique identifier of the Subscription to cancel}\n@optional {X-Shopper-Id: any # Shopper ID to return data for when not using JWT}\n@returns(204) Request was successful\n@errors {400: Request was malformed, 401: Authentication info not sent or invalid, 403: Authenticated user is not allowed access, 404: Resource not found, 422: Failed to determine if the domain is protected (invalid domain ID)<br>Invalid Subscription Id<br>The Office 365 Subscription cannot be cancelled (shopper is migrating)<br>The Subscription cannot be cancelled<br>The Subscription cannot be cancelled (PFID is disabled for cancellation)<br>The Subscription cannot be cancelled (domain is protected)<br>The domain alert Subscription cannot be cancelled, 429: Too many requests received within interval, 500: Failed to determine if the Office 365 account is migrating<br>Failed to determine if the domain alert is cancellable<br>Failed to determine if the domain is protected<br>Internal server error, 504: Gateway timeout}\n\n@endpoint GET /v1/subscriptions/{subscriptionId}\n@desc Retrieve details for the specified Subscription\n@required {X-App-Key: any # A unique application key identifying the source of the request. This is required for request tracking, subscriptionId: any # Unique identifier of the Subscription to retrieve}\n@optional {X-Shopper-Id: any # Shopper ID to be operated on, if different from JWT}\n@returns(200) Request was successful\n@errors {400: Request was malformed, 401: Authentication info not sent or invalid, 403: Authenticated user is not allowed access, 404: Resource not found, 422: Invalid Subscription Id, 429: Too many requests received within interval, 500: Internal server error, 504: Gateway timeout}\n\n@endpoint PATCH /v1/subscriptions/{subscriptionId}\n@desc Update details for the specified Subscription\n@required {X-App-Key: any # A unique application key identifying the source of the request. This is required for request tracking, subscriptionId: any # Unique identifier of the Subscription to update, subscription: any # Details of the Subscription to change}\n@optional {X-Shopper-Id: any # Shopper ID to be operated on, if different from JWT}\n@returns(204) Request was successful\n@errors {400: Request was malformed, 401: Authentication info not sent or invalid, 403: Authenticated user is not allowed access <br> This method only supports JWT authentication, 404: Subscription not found <br> Payment profile not found, 500: Internal server error}\n\n@end\n"}}