{"openapi":"3.0.0","info":{"title":"VeLara API","description":"REST API documentation for dynamic table schemas in VeLara.","version":"1.0.0"},"servers":[{"url":"\/api\/v1","description":"v1 API Server"}],"paths":{"\/support_unanswered_questions":{"get":{"tags":["Support Unanswered Questions"],"summary":"List Support Unanswered Questions records","description":"Retrieve a list of records from Support Unanswered Questions. Supports pagination, limits, filters, ordering, and keyword searching.","parameters":[{"name":"_limit","in":"query","required":false,"description":"Limit the maximum number of records returned (default: 100, max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_perPage","in":"query","required":false,"description":"Enable pagination and specify the number of items per page (max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_sort","in":"query","required":false,"description":"Sort order specified as \"column direction\" (e.g., \"created_at DESC\")","schema":{"type":"string"}},{"name":"_search","in":"query","required":false,"description":"Full-text search keyword to filter records","schema":{"type":"string"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}},"meta":{"type":"object","properties":{"currentPage":{"type":"integer"},"lastPage":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"}}},"post":{"tags":["Support Unanswered Questions"],"summary":"Create new Support Unanswered Questions record","description":"Insert a new record into Support Unanswered Questions with the specified body properties.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}}}},"responses":{"201":{"description":"Created successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"}}}},"\/support_unanswered_questions\/{id}":{"get":{"tags":["Support Unanswered Questions"],"summary":"Get Support Unanswered Questions record by ID","description":"Retrieve detailed properties of a single Support Unanswered Questions record.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"tags":["Support Unanswered Questions"],"summary":"Update Support Unanswered Questions record by ID","description":"Modify values of an existing record in Support Unanswered Questions.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/SupportUnansweredQuestion"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"delete":{"tags":["Support Unanswered Questions"],"summary":"Delete Support Unanswered Questions record","description":"Hard or soft delete a record by ID from Support Unanswered Questions.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}},"\/users":{"get":{"tags":["Users"],"summary":"List Users records","description":"Retrieve a list of records from Users. Supports pagination, limits, filters, ordering, and keyword searching.","parameters":[{"name":"_limit","in":"query","required":false,"description":"Limit the maximum number of records returned (default: 100, max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_perPage","in":"query","required":false,"description":"Enable pagination and specify the number of items per page (max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_sort","in":"query","required":false,"description":"Sort order specified as \"column direction\" (e.g., \"created_at DESC\")","schema":{"type":"string"}},{"name":"_search","in":"query","required":false,"description":"Full-text search keyword to filter records","schema":{"type":"string"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/User"}},"meta":{"type":"object","properties":{"currentPage":{"type":"integer"},"lastPage":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"}}},"post":{"tags":["Users"],"summary":"Create new Users record","description":"Insert a new record into Users with the specified body properties.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/User"}}}},"responses":{"201":{"description":"Created successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/User"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"}}}},"\/users\/{id}":{"get":{"tags":["Users"],"summary":"Get Users record by ID","description":"Retrieve detailed properties of a single Users record.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/User"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"tags":["Users"],"summary":"Update Users record by ID","description":"Modify values of an existing record in Users.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/User"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/User"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"delete":{"tags":["Users"],"summary":"Delete Users record","description":"Hard or soft delete a record by ID from Users.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}},"\/user_groups":{"get":{"tags":["User Groups"],"summary":"List User Groups records","description":"Retrieve a list of records from User Groups. Supports pagination, limits, filters, ordering, and keyword searching.","parameters":[{"name":"_limit","in":"query","required":false,"description":"Limit the maximum number of records returned (default: 100, max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_perPage","in":"query","required":false,"description":"Enable pagination and specify the number of items per page (max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_sort","in":"query","required":false,"description":"Sort order specified as \"column direction\" (e.g., \"created_at DESC\")","schema":{"type":"string"}},{"name":"_search","in":"query","required":false,"description":"Full-text search keyword to filter records","schema":{"type":"string"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/UserGroup"}},"meta":{"type":"object","properties":{"currentPage":{"type":"integer"},"lastPage":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"}}},"post":{"tags":["User Groups"],"summary":"Create new User Groups record","description":"Insert a new record into User Groups with the specified body properties.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UserGroup"}}}},"responses":{"201":{"description":"Created successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/UserGroup"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"}}}},"\/user_groups\/{id}":{"get":{"tags":["User Groups"],"summary":"Get User Groups record by ID","description":"Retrieve detailed properties of a single User Groups record.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/UserGroup"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"tags":["User Groups"],"summary":"Update User Groups record by ID","description":"Modify values of an existing record in User Groups.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/UserGroup"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/UserGroup"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"delete":{"tags":["User Groups"],"summary":"Delete User Groups record","description":"Hard or soft delete a record by ID from User Groups.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}},"\/reports":{"get":{"tags":["Reports"],"summary":"List Reports records","description":"Retrieve a list of records from Reports. Supports pagination, limits, filters, ordering, and keyword searching.","parameters":[{"name":"_limit","in":"query","required":false,"description":"Limit the maximum number of records returned (default: 100, max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_perPage","in":"query","required":false,"description":"Enable pagination and specify the number of items per page (max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_sort","in":"query","required":false,"description":"Sort order specified as \"column direction\" (e.g., \"created_at DESC\")","schema":{"type":"string"}},{"name":"_search","in":"query","required":false,"description":"Full-text search keyword to filter records","schema":{"type":"string"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Report"}},"meta":{"type":"object","properties":{"currentPage":{"type":"integer"},"lastPage":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"}}},"post":{"tags":["Reports"],"summary":"Create new Reports record","description":"Insert a new record into Reports with the specified body properties.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Report"}}}},"responses":{"201":{"description":"Created successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/Report"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"}}}},"\/reports\/{id}":{"get":{"tags":["Reports"],"summary":"Get Reports record by ID","description":"Retrieve detailed properties of a single Reports record.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Report"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"tags":["Reports"],"summary":"Update Reports record by ID","description":"Modify values of an existing record in Reports.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Report"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/Report"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"delete":{"tags":["Reports"],"summary":"Delete Reports record","description":"Hard or soft delete a record by ID from Reports.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}},"\/report_exports":{"get":{"tags":["Report Exports"],"summary":"List Report Exports records","description":"Retrieve a list of records from Report Exports. Supports pagination, limits, filters, ordering, and keyword searching.","parameters":[{"name":"_limit","in":"query","required":false,"description":"Limit the maximum number of records returned (default: 100, max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_perPage","in":"query","required":false,"description":"Enable pagination and specify the number of items per page (max: 500)","schema":{"type":"integer","minimum":1,"maximum":500}},{"name":"_sort","in":"query","required":false,"description":"Sort order specified as \"column direction\" (e.g., \"created_at DESC\")","schema":{"type":"string"}},{"name":"_search","in":"query","required":false,"description":"Full-text search keyword to filter records","schema":{"type":"string"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ReportExport"}},"meta":{"type":"object","properties":{"currentPage":{"type":"integer"},"lastPage":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"}}},"post":{"tags":["Report Exports"],"summary":"Create new Report Exports record","description":"Insert a new record into Report Exports with the specified body properties.","requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReportExport"}}}},"responses":{"201":{"description":"Created successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/ReportExport"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"}}}},"\/report_exports\/{id}":{"get":{"tags":["Report Exports"],"summary":"Get Report Exports record by ID","description":"Retrieve detailed properties of a single Report Exports record.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}},{"name":"_uploads","in":"query","required":false,"description":"Include related upload attachments (default: true)","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/ReportExport"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"put":{"tags":["Report Exports"],"summary":"Update Report Exports record by ID","description":"Modify values of an existing record in Report Exports.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ReportExport"}}}},"responses":{"200":{"description":"Updated successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"data":{"$ref":"#\/components\/schemas\/ReportExport"}}}}}},"400":{"description":"Validation failed"},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}},"delete":{"tags":["Report Exports"],"summary":"Delete Report Exports record","description":"Hard or soft delete a record by ID from Report Exports.","parameters":[{"name":"id","in":"path","required":true,"description":"Record ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Deleted successfully","content":{"application\/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Record not found"}}}}},"components":{"schemas":{"SupportUnansweredQuestion":{"type":"object","properties":{"question":{"description":"Question Text","type":"string"},"occurrences":{"description":"Times Asked","type":"string"},"is_answered":{"description":"Answered \/ Resolved","type":"boolean"}}},"User":{"type":"object","properties":{"name":{"description":"Full Name","type":"string"},"email":{"description":"Email Address","type":"string"},"username":{"description":"Username","type":"string"},"password":{"description":"Password","type":"string"},"remember_token":{"description":"Remember Token","type":"string"},"first_name":{"description":"First Name","type":"string"},"last_name":{"description":"Last Name","type":"string"},"mobile":{"description":"Mobile Number","type":"string"},"dob":{"description":"Date of Birth","type":"string","format":"date-time"},"address":{"description":"Address","type":"string"},"city":{"description":"City","type":"string"},"state":{"description":"State","type":"string"},"country":{"description":"Country","type":"string"},"zip":{"description":"ZIP \/ Postal Code","type":"string"},"agree_tos":{"description":"Agreed to TOS","type":"boolean"},"oauth_provider":{"description":"OAuth Provider","type":"string"},"oauth_id":{"description":"OAuth Provider ID","type":"string"},"is_approved":{"description":"Is Approved","type":"boolean"},"is_banned":{"description":"Is Suspended (Banned)","type":"boolean"},"ban_reason":{"description":"Suspension \/ Ban Reason","type":"string"},"email_verified_at":{"description":"Email Verified At","type":"string"},"email_verification_code":{"description":"Email Verification Code","type":"string"}},"required":["name","email"]},"UserGroup":{"type":"object","properties":{"name":{"description":"Group Name","type":"string"},"description":{"description":"Description","type":"string"},"accessList":{"description":"Section Access","type":"string"}},"required":["name"]},"Report":{"type":"object","properties":{"name":{"description":"Report Name","type":"string"},"description":{"description":"Description","type":"string"},"config":{"description":"Configuration JSON","type":"string"}}},"ReportExport":{"type":"object","properties":{"report_id":{"description":"Report ID","type":"string"},"status":{"description":"Status","type":"string"},"progress":{"description":"Progress %","type":"string"},"records_count":{"description":"Records Count","type":"string"},"file_path":{"description":"File Path","type":"string"},"format":{"description":"Format","type":"string"},"download_token":{"description":"Download Token","type":"string"},"error_message":{"description":"Error Message","type":"string"},"extra_email":{"description":"Extra Receiver Email","type":"string"},"expires_at":{"description":"Expires At","type":"string"}}}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Provide Authorization bearer token header: `Bearer <token>`"},"QueryAuth":{"type":"apiKey","in":"query","name":"api_token","description":"Provide API token as a query parameter: `?api_token=<token>`"}}},"security":[{"BearerAuth":[]},{"QueryAuth":[]}]}