{"files":{"SKILL.md":"---\nname: spec\ndescription: \"spec API skill. Use when working with spec for shoppers. Covers 6 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# spec\n\n## Auth\nApiKey secret in body\n\n## Base URL\nhttps://api.ote-godaddy.com\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /v1/shoppers/{shopperId}/status -- verify access\n3. POST /v1/shoppers/subaccount -- create first subaccount\n\n## Endpoints\n\n6 endpoints across 1 groups. See references/api-spec.lap for full details.\n\n### shoppers\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/shoppers/subaccount | Create a Subaccount owned by the authenticated Reseller |\n| GET | /v1/shoppers/{shopperId} | Get details for the specified Shopper |\n| POST | /v1/shoppers/{shopperId} | Update details for the specified Shopper |\n| DELETE | /v1/shoppers/{shopperId} | Request the deletion of a shopper profile |\n| GET | /v1/shoppers/{shopperId}/status | Get details for the specified Shopper |\n| PUT | /v1/shoppers/{shopperId}/factors/password | Set subaccount's password |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a subaccount?\" -> POST /v1/shoppers/subaccount\n- \"Get shopper details?\" -> GET /v1/shoppers/{shopperId}\n- \"Delete a shopper?\" -> DELETE /v1/shoppers/{shopperId}\n- \"List all status?\" -> GET /v1/shoppers/{shopperId}/status\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\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@auth ApiKey secret in body\n@endpoints 6\n@toc shoppers(6)\n\n@endpoint POST /v1/shoppers/subaccount\n@desc Create a Subaccount owned by the authenticated Reseller\n@required {subaccount: any # The subaccount to create}\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: `subaccount` does not fulfill the schema, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint GET /v1/shoppers/{shopperId}\n@desc Get details for the specified Shopper\n@required {shopperId: any # Shopper whose details are to be retrieved}\n@optional {includes: any # Additional properties to be included in the response shopper object}\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, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint POST /v1/shoppers/{shopperId}\n@desc Update details for the specified Shopper\n@required {shopperId: any # The ID of the Shopper to update, shopper: any # The Shopper details to update}\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: `Shopper` does not fulfill the schema, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint DELETE /v1/shoppers/{shopperId}\n@desc Request the deletion of a shopper profile\n@required {shopperId: any # The ID of the shopper to delete. Must agree with the shopper id on the token or header, if present. *Note*: **shopperId** is **not the same** as **customerId**.  **shopperId** is a number of max length 10 digits (*ex:* 1234567890) whereas **customerId** is a UUIDv4 (*ex:* 295e3bc3-b3b9-4d95-aae5-ede41a994d13), auditClientIp: any # The client IP of the user who originated the request leading to this call.}\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, 409: Active and locked shoppers cannot be deleted, 422: Shopper ID is not supplied or invalid, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint GET /v1/shoppers/{shopperId}/status\n@desc Get details for the specified Shopper\n@required {shopperId: any # The ID of the shopper to retrieve. Must agree with the shopper id on the token or header, if present, auditClientIp: any # The client IP of the user who originated the request leading to this call.}\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: Shopper ID is not supplied or invalid, 429: Too many requests received within interval, 500: Internal server error}\n\n@endpoint PUT /v1/shoppers/{shopperId}/factors/password\n@desc Set subaccount's password\n@required {shopperId: any # Shopper whose password will be set, secret: any # The value to set the subaccount's password to}\n@returns(200) Request was successful\n@errors {400: Request was not successful, 401: Authentication info not sent or invalid, 500: Internal server error}\n\n@end\n"}}