# Core ## Docs - Introduction [What is Core](https://core-api.docs.janjianaja.com/what-is-core-862756m0.md): - Introduction [HTTP Statuses](https://core-api.docs.janjianaja.com/http-statuses-880725m0.md): - Introduction [Request](https://core-api.docs.janjianaja.com/request-880721m0.md): - Introduction [Responses](https://core-api.docs.janjianaja.com/responses-880726m0.md): - Introduction [Meta](https://core-api.docs.janjianaja.com/meta-880733m0.md): - Introduction [Limit & Pagination](https://core-api.docs.janjianaja.com/limit-pagination-880734m0.md): - Introduction [Query Parameters](https://core-api.docs.janjianaja.com/query-parameters-880736m0.md): - Quick Start [Letters](https://core-api.docs.janjianaja.com/letters-928492m0.md): ## API Docs - Auth [Sign In with Email and Password](https://core-api.docs.janjianaja.com/sign-in-with-email-and-password-22665480e0.md): To sign in with credentials with the required email and password attributes. - Auth [Get the Current Session](https://core-api.docs.janjianaja.com/get-the-current-session-26164350e0.md): - Auth [Sign Out the Current User](https://core-api.docs.janjianaja.com/sign-out-the-current-user-26349607e0.md): Sign out the current user - Users [Get All Users](https://core-api.docs.janjianaja.com/get-all-users-14538598e0.md): To list all Users in your app. - Users [Create a User](https://core-api.docs.janjianaja.com/create-a-user-14572020e0.md): To create a new User. - Users [Retrieve an Existing User](https://core-api.docs.janjianaja.com/retrieve-an-existing-user-14570312e0.md): To show details about an individual User. - Users [Delete an Existing User](https://core-api.docs.janjianaja.com/delete-an-existing-user-14572568e0.md): To delete a User. - Users [Update an Existing User](https://core-api.docs.janjianaja.com/update-an-existing-user-14637279e0.md): To update a user information. - Users [Get Current User](https://core-api.docs.janjianaja.com/get-current-user-26398624e0.md): Retrieves the authenticated user's information along with their associated profile (student, teacher, or staff). - Users [Update Current User](https://core-api.docs.janjianaja.com/update-current-user-26406483e0.md): Updates the authenticated user's information along with their associated profile (student, teacher, or staff). - Users [Get Current User Devices](https://core-api.docs.janjianaja.com/get-current-user-devices-26879300e0.md): Retrieves device information from the currently logged-in user, including user agent, browser type, operating system, and other device details used to access the application. - Users [Retrieve User Devices by User ID](https://core-api.docs.janjianaja.com/retrieve-user-devices-by-user-id-26879824e0.md): Retrieves device information for a specific user by their user ID, including user agent, browser type, operating system, and other device details used to access the application. This endpoint requires appropriate permissions to view other users' device information. - Users [Update Own Profile Image](https://core-api.docs.janjianaja.com/update-own-profile-image-26531507e0.md): This endpoint is used to update the profile image of the currently authenticated user. - Users [Update User Image](https://core-api.docs.janjianaja.com/update-user-image-26859840e0.md): Allows admin users with manage:user permission to update another user's profile photo. The image will be compressed, uploaded to S3, and the user record will be updated with the new image URL. - Users [Reset User Password](https://core-api.docs.janjianaja.com/reset-user-password-26848012e0.md): Admin endpoint to update user password without requiring current password verification. - Users [Get User Login History](https://core-api.docs.janjianaja.com/get-user-login-history-26886700e0.md): Retrieves a specific user’s login history, including login time, device, browser, IP address, and location, for security auditing and account activity monitoring by the user or authorized administrators. - Staff [Get All Staff](https://core-api.docs.janjianaja.com/get-all-staff-14980593e0.md): To list all Staff in your app, send a GET request to `/staff` - Staff [Retrieve an Existing Staff](https://core-api.docs.janjianaja.com/retrieve-an-existing-staff-14980594e0.md): To show information about an individual Staff, send a GET request to `/staff/{staff_id}` - Staff [Create a Staff](https://core-api.docs.janjianaja.com/create-a-staff-14980595e0.md): To create a new Staff, send a POST request to `/staff` setting the required attributes. - Staff [Delete an Existing Staff](https://core-api.docs.janjianaja.com/delete-an-existing-staff-14980596e0.md): To delete a Staff, send a DELETE request to `/staff/{staff_id}`. - Staff [Update an Existing Staff](https://core-api.docs.janjianaja.com/update-an-existing-staff-14980597e0.md): To update a staff information, send a PUT request to `/staff/{staff_id}`. - Teachers [Get All Teachers](https://core-api.docs.janjianaja.com/get-all-teachers-14427074e0.md): To list all Teachers in your app, send a GET request to `/teachers` - Teachers [Retrieve an Existing Teacher](https://core-api.docs.janjianaja.com/retrieve-an-existing-teacher-14429081e0.md): To show information about an individual Teacher, send a GET request to `/teachers/{teacher_id}` - Teachers [Create a Teacher](https://core-api.docs.janjianaja.com/create-a-teacher-14572582e0.md): To create a new Teacher, send a POST request to `teachers` setting the required attributes. - Teachers [Delete an Existing Teacher](https://core-api.docs.janjianaja.com/delete-an-existing-teacher-14623351e0.md): To delete a Teacher, send a DELETE request to `/teachers/{teacher_id}`. - Teachers [Update an Existing Teacher](https://core-api.docs.janjianaja.com/update-an-existing-teacher-14637323e0.md): To update a teacher information, send a PUT request to `/teachers/{teacher_id}`. - Students [Get All Students](https://core-api.docs.janjianaja.com/get-all-students-14649930e0.md): To list all Students in your app. - Students [Retrieve an Existing Student](https://core-api.docs.janjianaja.com/retrieve-an-existing-student-14651563e0.md): To show information about an individual Student. - Students [Create a Student](https://core-api.docs.janjianaja.com/create-a-student-14649903e0.md): To create a new Student. - Students [Delete an Existing Student](https://core-api.docs.janjianaja.com/delete-an-existing-student-14649983e0.md): To delete a Student. - Students [Update an Existing Student](https://core-api.docs.janjianaja.com/update-an-existing-student-14651576e0.md): To update a Student information. - Students [Import Bulk Students](https://core-api.docs.janjianaja.com/import-bulk-students-23363066e0.md): Imports student data from a CSV file. - Roles [Get All Roles](https://core-api.docs.janjianaja.com/get-all-roles-24794037e0.md): To list all Roles in your app. - Roles [Create a Role](https://core-api.docs.janjianaja.com/create-a-role-24882046e0.md): To create a new role. - Roles [Retrieve an Existing Role](https://core-api.docs.janjianaja.com/retrieve-an-existing-role-24796447e0.md): To show information about an spesific role. - Roles [Update an Existing Role](https://core-api.docs.janjianaja.com/update-an-existing-role-24934742e0.md): Update a role. - Roles [Delete an Existing Role](https://core-api.docs.janjianaja.com/delete-an-existing-role-24933584e0.md): Delete a role. - Roles [Get All Eligible Users for Role](https://core-api.docs.janjianaja.com/get-all-eligible-users-for-role-24935006e0.md): Returns all active users who are not currently members of the specified role. Use this endpoint to get a list of users available for assignment to the role. - Roles [Get All Members of Role](https://core-api.docs.janjianaja.com/get-all-members-of-role-26449680e0.md): Retrieves a list of users who are assigned to a specific role. - Roles [Add Bulk Member to Role](https://core-api.docs.janjianaja.com/add-bulk-member-to-role-26489871e0.md): Assigns multiple users to a role in a single operation. Automatically handles duplicate checking - users already assigned to the role will be skipped. Returns statistics about how many users were added vs already members. - Roles [Remove Bulk Members from Role](https://core-api.docs.janjianaja.com/remove-bulk-members-from-role-26490361e0.md): Removes multiple users from a role in a single operation. Can be used to remove a single user by passing an array with one ID. Returns the count of successfully removed members. - Classes [Get All Classes](https://core-api.docs.janjianaja.com/get-all-classes-24004732e0.md): To list all classes in your app. - Classes [Create a Class](https://core-api.docs.janjianaja.com/create-a-class-24003022e0.md): A class will be created using the provided information. The response body will contain a JSON object with a key called result. The value will be an object containing the standard attributes for class. The response code will be 201 if the class was successfully created. - Classes [Delete an Existing Student Copy](https://core-api.docs.janjianaja.com/delete-an-existing-student-copy-24007011e0.md): To delete a class. - Classes [Create a Class Copy](https://core-api.docs.janjianaja.com/create-a-class-copy-24016490e0.md): A class will be created using the provided information. The response body will contain a JSON object with a key called result. The value will be an object containing the standard attributes for class. The response code will be 201 if the class was successfully created. - Statistics > Teachers [Get Teacher Gender Stats](https://core-api.docs.janjianaja.com/get-teacher-gender-stats-15394224e0.md): Returns the count and percentage of male and female teacher. - Statistics > Teachers [Get Teacher Religion Distribution](https://core-api.docs.janjianaja.com/get-teacher-religion-distribution-15394225e0.md): Returns the distribution of teachers by religion (Islam, Catholic, Christian, Hindu, Buddha, Confucian, etc.). - Statistics > Teachers [Get Teacher Employment Stats](https://core-api.docs.janjianaja.com/get-teacher-employment-stats-15444817e0.md): Returns the array of teachers employment status. - Statistics > Teachers [Get Teacher Age Stats](https://core-api.docs.janjianaja.com/get-teacher-age-stats-15394226e0.md): Returns the average, minimum, and maximum age of teachers. Also includes distribution data of teacher ages. - Statistics > Students [Get Student Gender Stats](https://core-api.docs.janjianaja.com/get-student-gender-stats-15389510e0.md): Returns the count and percentage of male and female students. Can be optionally filtered by class ID. - Statistics > Students [Get Student Religion Distribution](https://core-api.docs.janjianaja.com/get-student-religion-distribution-15389511e0.md): Returns the distribution of students by religion (Islam, Catholic, Christian, Hindu, Buddha, Confucian, etc.). - Statistics > Students [Get Student Weight Stats](https://core-api.docs.janjianaja.com/get-student-weight-stats-15389567e0.md): Returns the average, minimum, and maximum weight of students. Also includes distribution of students by specific weight ranges. - Statistics > Students [Get Student Height Stats](https://core-api.docs.janjianaja.com/get-student-height-stats-15389598e0.md): Returns the average, minimum, and maximum height of students. Also includes distribution of students by height ranges. - Statistics > Students [Get Student Age Stats](https://core-api.docs.janjianaja.com/get-student-age-stats-15389609e0.md): Returns the average, minimum, and maximum age of students. Also includes distribution data of student ages. - Statistics > Students [Get Student Transportation Stats](https://core-api.docs.janjianaja.com/get-student-transportation-stats-15389929e0.md): Returns the distribution of students by transportation method (e.g., walking, bicycle, motorbike, car, public transport, etc.). - Statistics > Students [Get Student Class Stats](https://core-api.docs.janjianaja.com/get-student-class-stats-15389932e0.md): Returns a list of classes (rombel) along with the number of students in each class. - Statistics > Staffs [Get Staffs Gender Stats](https://core-api.docs.janjianaja.com/get-staffs-gender-stats-19513135e0.md): Returns the count and percentage of male and female staff. - Statistics > Staffs [Get Staffs Religion Distribution](https://core-api.docs.janjianaja.com/get-staffs-religion-distribution-19571843e0.md): Returns the distribution of staff by religion (Islam, Catholic, Christian, Hindu, Buddha, Confucian, etc.). - Statistics > Staffs [Get Staffs Age Stats](https://core-api.docs.janjianaja.com/get-staffs-age-stats-19571863e0.md): Returns the average, minimum, and maximum age of staff. Also includes distribution data of staff ages. - Statistics > Staffs [Get Staffs Employment Stats](https://core-api.docs.janjianaja.com/get-staffs-employment-stats-19572220e0.md): Returns the array of staff employment status. - Statistics > Users [Retrieve User Summary](https://core-api.docs.janjianaja.com/retrieve-user-summary-22754989e0.md): This endpoint returns the total number of active, inactive, and unverified users. - Statistics [Get All Stats](https://core-api.docs.janjianaja.com/get-all-stats-19013370e0.md): Returns the array of summary, staffs, teachers, and students data. - Letters [Get All Letters](https://core-api.docs.janjianaja.com/get-all-letters-15392861e0.md): To list all Letters in your app. - Letters [Retrieve an Existing Letter](https://core-api.docs.janjianaja.com/retrieve-an-existing-letter-15394120e0.md): To show information about an individual Letter. - Letters [Create a Letter](https://core-api.docs.janjianaja.com/create-a-letter-15394180e0.md): To create a new Letter. - Letters [List User Letter](https://core-api.docs.janjianaja.com/list-user-letter-23101933e0.md): For admin to list all Letters for a specific user identified by `user_id`. - Letters [List Current User Letter](https://core-api.docs.janjianaja.com/list-current-user-letter-26846728e0.md): To list all Letters for a specific user identified by `user_id` automatically detect from their session. - Letters [List Recipients](https://core-api.docs.janjianaja.com/list-recipients-26860610e0.md): Get a list of users eligible to be letter recipients. Returns minimal user data (id, name, email, image) optimized for form autocomplete. Supports search filtering by name. - Letter Actions [Initiate a Letter Action](https://core-api.docs.janjianaja.com/initiate-a-letter-action-25449329e0.md): To initiate an action on a Letter send a POST request to `/letters/{letter_id}/actions`. - Files [Create a Presigned URL](https://core-api.docs.janjianaja.com/create-a-presigned-url-23902233e0.md): Generate presigned URL for direct S3 upload. ## Schemas - Schemas > Letter [LetterHistory](https://core-api.docs.janjianaja.com/letterhistory-12140674d0.md): - Schemas > Letter [LetterStatus](https://core-api.docs.janjianaja.com/letterstatus-12148338d0.md): - Schemas > Letter [LetterType](https://core-api.docs.janjianaja.com/lettertype-12273848d0.md): - Schemas > User [UserProfile](https://core-api.docs.janjianaja.com/userprofile-12143749d0.md): - Schemas [Address](https://core-api.docs.janjianaja.com/address-5468906d0.md): - Schemas [Meta](https://core-api.docs.janjianaja.com/meta-5393457d0.md): - Schemas [Base](https://core-api.docs.janjianaja.com/base-5417771d0.md): - Schemas [bloodType](https://core-api.docs.janjianaja.com/bloodtype-5469696d0.md): - Schemas [Religion](https://core-api.docs.janjianaja.com/religion-5469695d0.md): - Schemas [Gender](https://core-api.docs.janjianaja.com/gender-5469697d0.md): - Schemas [ParentInfo](https://core-api.docs.janjianaja.com/parentinfo-5578341d0.md): - Schemas [Error](https://core-api.docs.janjianaja.com/error-5417784d0.md): - Schemas [GenderStats](https://core-api.docs.janjianaja.com/genderstats-5919412d0.md): - Schemas [ReligionDistribution](https://core-api.docs.janjianaja.com/religiondistribution-5919426d0.md): - Schemas [WeightStats](https://core-api.docs.janjianaja.com/weightstats-5919470d0.md): - Schemas [HeightStats](https://core-api.docs.janjianaja.com/heightstats-5919475d0.md): - Schemas [AgeStats](https://core-api.docs.janjianaja.com/agestats-5919483d0.md): - Schemas [TransportationStats](https://core-api.docs.janjianaja.com/transportationstats-5919706d0.md): - Schemas [ClassStats](https://core-api.docs.janjianaja.com/classstats-5919713d0.md): - Schemas [EducationHistoryObject](https://core-api.docs.janjianaja.com/educationhistoryobject-5956289d0.md): - Schemas [EmploymentStats](https://core-api.docs.janjianaja.com/employmentstats-5956368d0.md): - Schemas [Location](https://core-api.docs.janjianaja.com/location-10250553d0.md): - Schemas [EconomyStats](https://core-api.docs.janjianaja.com/economystats-10599337d0.md): - Schemas [Actor](https://core-api.docs.janjianaja.com/actor-12140673d0.md): - Model [User](https://core-api.docs.janjianaja.com/user-5358248d0.md): - Model [Teacher](https://core-api.docs.janjianaja.com/teacher-5462166d0.md): - Model [Staff](https://core-api.docs.janjianaja.com/staff-5752142d0.md): - Model [Student](https://core-api.docs.janjianaja.com/student-5578192d0.md): - Model [Letter](https://core-api.docs.janjianaja.com/letter-5920264d0.md): - Model [Class](https://core-api.docs.janjianaja.com/class-10757920d0.md): - Model [Roles](https://core-api.docs.janjianaja.com/roles-11218947d0.md): - [LoginHistory](https://core-api.docs.janjianaja.com/loginhistory-12350655d0.md):