{"files":{"SKILL.md":"---\nname: altoroj-rest-api\ndescription: \"AltoroJ REST API skill. Use when working with AltoroJ REST for login, account, transfer. Covers 12 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AltoroJ REST API\nAPI version: 1.0.2\n\n## Auth\nApiKey Authorization in header\n\n## Base URL\nNot specified.\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /login -- check if any user is logged in\n3. POST /login -- create first login\n\n## Endpoints\n12 endpoints across 6 groups. See references/api-spec.lap for full details.\n\n### Login\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /login | Check if any user is logged in |\n| POST | /login | Login method |\n\n### Account\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /account | Returns a list of all the accounts owned by the user |\n| GET | /account/{accountNo} | Returns details about a specific account |\n| GET | /account/{accountNo}/transactions | Returns the last 10 transactions attached to an account |\n| POST | /account/{accountNo}/transactions | Return transactions between 2 specific dates |\n\n### Transfer\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /transfer | Transfer money between two accounts |\n\n### Feedback\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /feedback/submit | Submit feedback for the bank |\n| GET | /feedback/{feedbackId} | Retrieve feedback |\n\n### Admin\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /admin/addUser | Add new user |\n| POST | /admin/changePassword | Change user password |\n\n### Logout\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /logout | Logout from the bank |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all login?\" -> GET /login\n- \"Create a login?\" -> POST /login\n- \"List all account?\" -> GET /account\n- \"Get account details?\" -> GET /account/{accountNo}\n- \"List all transactions?\" -> GET /account/{accountNo}/transactions\n- \"Create a transaction?\" -> POST /account/{accountNo}/transactions\n- \"Create a transfer?\" -> POST /transfer\n- \"Create a submit?\" -> POST /feedback/submit\n- \"Get feedback details?\" -> GET /feedback/{feedbackId}\n- \"Create a addUser?\" -> POST /admin/addUser\n- \"Create a changePassword?\" -> POST /admin/changePassword\n- \"List all logout?\" -> GET /logout\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 AltoroJ REST API\n@version 1.0.2\n@auth ApiKey Authorization in header\n@endpoints 12\n@toc login(2), account(4), transfer(1), feedback(2), admin(2), logout(1)\n\n@group login\n@endpoint GET /login\n@desc Check if any user is logged in\n@required {Authorization: any # Authorization token (provided upon successful login)}\n@returns(200) Logged in\n@errors {401: Logged out}\n\n@endpoint POST /login\n@desc Login method\n@required {body: map # Username and password combination to allow users to log-in}\n@returns(200) Success message when login is complete\n@errors {400: Bad parameters: Please check provided values, 500: Internal server error: Please see error message or logs for details}\n\n@endgroup\n\n@group account\n@endpoint GET /account\n@desc Returns a list of all the accounts owned by the user\n@required {Authorization: any # Authorization token (provided upon successful login)}\n@returns(200) Successful operation\n@errors {401: Unauthorized request, 500: Internal server error}\n\n@endpoint GET /account/{accountNo}\n@desc Returns details about a specific account\n@required {Authorization: any # Authorization token (provided upon successful login), accountNo: any # Account id}\n@returns(200) Successful operation\n@errors {401: Unauthorized request, 500: Internal server error}\n\n@endpoint GET /account/{accountNo}/transactions\n@desc Returns the last 10 transactions attached to an account\n@required {Authorization: any # Authorization token (provided upon successful login), accountNo: any # Account id}\n@returns(200) Successful operation\n@errors {401: Unauthorized request, 500: Internal server error}\n\n@endpoint POST /account/{accountNo}/transactions\n@desc Return transactions between 2 specific dates\n@required {Authorization: any # Authorization token (provided upon successful login), accountNo: any # Account id, body: map # A start date and an end date}\n@returns(200) Successful operation\n@errors {400: Bad parameters: Please check provided values, 401: Unauthorized request, 501: Internal server error}\n\n@endgroup\n\n@group transfer\n@endpoint POST /transfer\n@desc Transfer money between two accounts\n@required {Authorization: any # Authorization token (provided upon successful login), body: map # Transfer details including ammount, sender and receiver}\n@returns(200) Successful operation\n@errors {400: Bad parameters: Please check provided values, 501: Internal server error}\n\n@endgroup\n\n@group feedback\n@endpoint POST /feedback/submit\n@desc Submit feedback for the bank\n@required {body: map # Feedback details including name, email the subject and complete message}\n@returns(200) Successful operation\n@errors {401: Unauthorized request, 500: Internal server error}\n\n@endpoint GET /feedback/{feedbackId}\n@desc Retrieve feedback\n@required {Authorization: any # Authorization token (provided upon successful login), feedbackId: any}\n@returns(200) Successful operation\n@errors {400: Bad parameters: Please check provided values, 401: Unauthorized request, 500: Internal server error}\n\n@endgroup\n\n@group admin\n@endpoint POST /admin/addUser\n@desc Add new user\n@required {Authorization: any # Authorization token (provided upon successful login), body: map # Details of a new user including first name, last name, desired username and a password}\n@returns(200) Successful operation\n@errors {400: Unauthorized request, 401: Unauthorized request, 500: Error creating user}\n\n@endpoint POST /admin/changePassword\n@desc Change user password\n@required {Authorization: any # Authorization token (provided upon successful login), body: map # Information about the user password to be changed including id and new password}\n@returns(200) Successful operation\n@errors {400: Unauthorized request, 401: Unauthorized request, 500: Error in changing the username password}\n\n@endgroup\n\n@group logout\n@endpoint GET /logout\n@desc Logout from the bank\n@returns(200) Successful operation\n@errors {500: Unauthorized request}\n\n@endgroup\n\n@end\n"}}