{"files":{"SKILL.md":"---\nname: api-for-the-covid-19-tracking-qr-code-signin-server\ndescription: \"API for the COVID-19 Tracking QR Code Signin Server. API skill. Use when working with API for the COVID-19 Tracking QR Code Signin Server. for login, logout, signins. Covers 14 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# API for the COVID-19 Tracking QR Code Signin Server.\nAPI version: 1.1\n\n## Auth\nApiKey token in header\n\n## Base URL\nhttps://virtserver.swaggerhub.com/aijaz/QRCodeSigninServer/1.1\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /signins -- get signin info\n3. POST /login -- create first login\n\n## Endpoints\n14 endpoints across 9 groups. See references/api-spec.lap for full details.\n\n### Login\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /login | Log in to get an API token |\n\n### Logout\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /logout | Log out |\n\n### Signins\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /signins | Get signin info |\n\n### Signin\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /signin | Create a new signin record |\n| GET | /signin/{signinId} | Retrieve the information associated with a signin record |\n| PUT | /signin/{signinId} | Update a signin record |\n| DELETE | /signin/{signinId} | Delete a signin record |\n\n### VerifyPasswordChange\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /verifyPasswordChange | Used for resetting your password when you forgot it |\n\n### ChangePassword\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /changePassword | Used for changing your password |\n\n### RequestPasswordReset\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /requestPasswordReset | Used for requesting a password reset code |\n\n### User\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /user | Create a user |\n| DELETE | /user/{userId} | Delete a team member's user record |\n| GET | /user/{userId} | Retrieve the information associated with a team member's user record |\n\n### Users\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /users | Retrieve the information associated with all team members' user records |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a login?\" -> POST /login\n- \"Create a logout?\" -> POST /logout\n- \"List all signins?\" -> GET /signins\n- \"Create a signin?\" -> POST /signin\n- \"Get signin details?\" -> GET /signin/{signinId}\n- \"Update a signin?\" -> PUT /signin/{signinId}\n- \"Delete a signin?\" -> DELETE /signin/{signinId}\n- \"Create a verifyPasswordChange?\" -> POST /verifyPasswordChange\n- \"Create a changePassword?\" -> POST /changePassword\n- \"Create a requestPasswordReset?\" -> POST /requestPasswordReset\n- \"Create a user?\" -> POST /user\n- \"Delete a user?\" -> DELETE /user/{userId}\n- \"Get user details?\" -> GET /user/{userId}\n- \"List all users?\" -> GET /users\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- Error responses include status codes and descriptions in the spec\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 API for the COVID-19 Tracking QR Code Signin Server.\n@base https://virtserver.swaggerhub.com/aijaz/QRCodeSigninServer/1.1\n@version 1.1\n@auth ApiKey token in header\n@endpoints 14\n@toc login(1), logout(1), signins(1), signin(4), verifyPasswordChange(1), changePassword(1), requestPasswordReset(1), user(3), users(1)\n\n@group login\n@endpoint POST /login\n@desc Log in to get an API token\n@optional {email: str, password: str, source: str(iOS/android/web)}\n@returns(200) {admin: bool, login_id: int, name: str, read_only: bool, token: str} # Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group logout\n@endpoint POST /logout\n@desc Log out\n@returns(200) Success\n\n@endgroup\n\n@group signins\n@endpoint GET /signins\n@desc Get signin info\n@optional {less_than: int # Return signins with IDs less than this value., return_count: int=100 # Return this many objects}\n@returns(200) Successful response\n@errors {401: Unauthorized, 503: Key Failure}\n\n@endgroup\n\n@group signin\n@endpoint POST /signin\n@desc Create a new signin record\n@required {name: str # The person's name, phone: str # The person's phone number}\n@optional {id: int # The record id, dt: num # The original scan time in number of seconds since 1/1/1970 (GMT), email: str # The person's email}\n@returns(200) {result: int} # Success\n@errors {401: Unauthorized, 503: Key Failure}\n\n@endpoint GET /signin/{signinId}\n@desc Retrieve the information associated with a signin record\n@required {signinId: int # The ID of the signin record to be retrieved.}\n@returns(200) {id: int, dt: num, name: str, phone: str, email: str} # Success\n@errors {401: Unauthorized}\n\n@endpoint PUT /signin/{signinId}\n@desc Update a signin record\n@required {signinId: int # The ID of the signin record to be retrieved., name: str # The person's name, phone: str # The person's phone number}\n@optional {id: int # The record id, dt: num # The original scan time in number of seconds since 1/1/1970 (GMT), email: str # The person's email}\n@returns(200) {id: int, name: str, email: str, admin: bool, read_only: bool} # Success\n@errors {401: Unauthorized}\n\n@endpoint DELETE /signin/{signinId}\n@desc Delete a signin record\n@required {signinId: int # The ID of the signin record to be deleted.}\n@returns(200) Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group verifyPasswordChange\n@endpoint POST /verifyPasswordChange\n@desc Used for resetting your password when you forgot it\n@optional {guid: str # The password reset code, password: str # The new password}\n@returns(200) Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group changePassword\n@endpoint POST /changePassword\n@desc Used for changing your password\n@optional {old_password: str # The old (current) password, password: str # The new password}\n@returns(200) Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group requestPasswordReset\n@endpoint POST /requestPasswordReset\n@desc Used for requesting a password reset code\n@optional {email: str # The user whose password you want to reset}\n@returns(200) {email: str, guid: str} # Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group user\n@endpoint POST /user\n@desc Create a user\n@optional {email: str # The email address of the user record you want to create, name: str # The name of the user record you want to create, admin: bool # If the user has admin privileges then the user will be able to create password reset requests on behalf of other users, and will also be able to view and edit  the data of other users., read_only: bool # Not used in this version of the API. For future use.}\n@returns(200) {email: str, guid: str} # Success\n@errors {401: Unauthorized}\n\n@endpoint DELETE /user/{userId}\n@desc Delete a team member's user record\n@required {userId: int # The ID of the user record to be deleted.}\n@returns(200) Success\n@errors {401: Unauthorized}\n\n@endpoint GET /user/{userId}\n@desc Retrieve the information associated with a team member's user record\n@required {userId: int # The ID of the user record to be retrieved.}\n@returns(200) {id: int, name: str, email: str, admin: bool, read_only: bool} # Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@group users\n@endpoint GET /users\n@desc Retrieve the information associated with all team members' user records\n@returns(200) Success\n@errors {401: Unauthorized}\n\n@endgroup\n\n@end\n"}}