### Section JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure returned for a single course section, including class information and associated teachers. ```json { "id": "3", "sectionCode": "ENG-01", "sectionName": "English 01", "classId": "12993", "className": "5th Grade", "teachers": [{ "id": "6", "fullName": "Maria Alexander", "employeeNumber": "E-00001" }] } ``` -------------------------------- ### Section Enrollments JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure returned for the enrollments of a single course section, listing enrolled students. ```json { "id": "3", "students": [ { "id": "3", "fullName": "Jessica Lane" }, { "id": "8", "fullName": "Ryan Alexander" } ] } ``` -------------------------------- ### Get Assignment JSON Example Source: https://apidocs.quickschools.com/index Provides an example structure for the JSON response when retrieving a single assignment. ```JSON { "id": "3432", "name": "HW #1", "date": "2013-10-01", "totalMarksPossible": 100, "categoryId": "23", "categoryName": "Assignment", "gradingScaleId": "405", "gradingScaleName": "Default", "isFinalGrade": false } ``` -------------------------------- ### Single Role JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure for a single role record, including ID, meta ID, and role name. ```json { "id": "uhc-13", "metaId": "schooladmin", "roleName": "School Admin" } ``` -------------------------------- ### Get Parent JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure returned when retrieving a single parent's details. ```json { "id": "3", "fullName": "Ryan Harris" } ``` -------------------------------- ### Student JSON Object Example Source: https://apidocs.quickschools.com/index An example JSON structure representing a single student record as returned by the API. ```json [ { "zip": "0000", "country": "United States", "classCode": "05", "city": "City", "studentNumber": "S-000040", "enrollmentDate": "2022-06-01", "fullName": "Zapier Student", "className": "5th Grade", "updatedDate": "2022-12-16T02:48:22.757-1100", "classId": "975203", "state": "State", "id": "1249819", "email": "zapier.student@mailinator.com", "multiLineResidentialAddress": "Home Address", "username": "N/A" } ] ``` -------------------------------- ### Student Sections JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure returned for a student's enrolled sections, including student details and a list of their sections. ```json { "id": "3", "fullName": "Michelle Harris", "sections": [ { "id": "3", "sectionCode": "ENG-01", "sectionName": "English 01" }, { "id": "4", "sectionCode": "ENG-02", "sectionName": "English 02" } ] } ``` -------------------------------- ### Paged List API Call Example with Curl Source: https://apidocs.quickschools.com/index Demonstrates how to retrieve a paged list of assignments from the QuickSchools API using cURL. This example shows how to specify the number of items per page and the desired page number. It requires an API key for authentication. ```bash curl "https://api.quickschools.com/sms/v1/sections/[SECTION ID]/assignments?apiKey=[YOUR API KEY]&itemsPerPage=50&page=1" ``` -------------------------------- ### Example JSON for a Single Teacher Source: https://apidocs.quickschools.com/index Illustrates the structure of a JSON response for a single teacher record, including basic identification and title information. ```json { "id": "3", "fullName": "Ryan Harris", "title": "Head of English Department", "gender": "Male" } ``` -------------------------------- ### Single Attendance Record JSON Example Source: https://apidocs.quickschools.com/index An example of the JSON structure for a single attendance record, including date, status, and student ID. ```json { "date": "2013-11-01", "status": "P", "studentId": "1234" } ``` -------------------------------- ### Student JSON Object Example Source: https://apidocs.quickschools.com/index This is an example of the JSON structure returned for a single student record. It includes fields such as `id`, `fullName`, `preferredName`, `classId`, `classCode`, `className`, and `gender`. ```JSON { "id": "3", "fullName": "Ryan Harris", "preferredName": "Ryan", "classId": "234", "classCode": "G02", "className": "2nd Grade", "gender": "Male" } ``` -------------------------------- ### Get Parent Details with Student Information Source: https://apidocs.quickschools.com/index This example shows how to retrieve parent details along with their associated student information. By adding 'fields=students' to the query, the response will include a list of children (students) for each parent, including their relationship to the student, full name, and ID. ```text GET /sms/v1/parents-zap?fields=students ``` -------------------------------- ### Native App API Calls (JavaScript) Source: https://apidocs.quickschools.com/index Demonstrates how to make GET and POST requests to the QuickSchools API from within a native QuickSchools application using specialized JavaScript methods. ```APIDOC ## Native App API Calls (JavaScript) ### Description Native apps can interact with the QuickSchools API using predefined JavaScript methods like `Rest.get()`, `Rest.post()`, `Rest.put()`, and `Rest.del()`. These calls do not require an API key as they are authenticated against the currently logged-in user. ### Method - `Rest.get(apiPath, params, context, callback)` - `Rest.post(apiPath, params, context, callback)` - `Rest.put(apiPath, params, context, callback)` - `Rest.del(apiPath, params, context, callback)` ### Parameters - **apiPath** (string) - Required - The API endpoint path. - **params** (object) - Required - A JavaScript object containing parameters to send with the request. - **context** (object) - Required - The context object for the callback. - **callback** (function) - Required - The method to be called upon completion. ### Request Example ```javascript // GET request example Rest.get("/sms/v1/semesters", {}, this, function(returnData) { var numItems = returnData.numItems; // Process returnData }); // POST request example Rest.post("/sms/v1/assignments", { subjectSetId: "123" }, this, function(returnData) { // Process returnData }); ``` ### Response - **returnData** (object) - The data returned from the API call, typically a JavaScript object. ``` -------------------------------- ### Grade JSON Example Source: https://apidocs.quickschools.com/index Illustrates the JSON structure for a single student's grade record associated with an assignment. ```JSON { "assignmentId": "23432", "isFinalGrade": false, "letterGrade": "A", "marks": 98, "studentId": 2911 } ``` -------------------------------- ### GET /sms/ims/oneroster/v1p1/users Source: https://apidocs.quickschools.com/index Returns all users, including teachers, parents, and students. ```APIDOC ## GET /sms/ims/oneroster/v1p1/users ### Description Returns a collection of all users, which includes teachers, parents, and students. ### Method GET ### Endpoint /sms/ims/oneroster/v1p1/users ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of results to return. - **offset** (integer) - Optional - The index of the first record to return (zero indexed). - **sort** (string) - Optional - The data field to sort the results by. Example: `sort=lastName` - **orderBy** (string) - Optional - The order to sort the results (asc or desc). Example: `orderBy=asc` - **filter** (string) - Optional - Filter requests MUST consist of the form: `?filter={data field}{predicate}{value}` or `?filter={data field}{predicate}{value}{logical}{data field}{predicate}{value}`. Example: `filter=lastName=Smith` - **fields** (string) - Optional - A comma-delimited list of the fields to return. Example: `fields=sifId,givenName,familyName` ### Request Example ```bash curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ "https://api.quickschools.com/sms/ims/oneroster/v1p1/users?limit=25&sort=lastName&filter=role=student" ``` ### Response #### Success Response (200) - **users** (array) - An array of user objects. - Each user object contains fields like `sifId`, `givenName`, `familyName`, `role`, `identifier`, etc. #### Response Example ```json { "users": [ { "sifId": "12345", "givenName": "John", "familyName": "Doe", "role": "student", "identifier": "student-12345", "email": "john.doe@example.com" }, { "sifId": "67890", "givenName": "Jane", "familyName": "Smith", "role": "teacher", "identifier": "teacher-67890", "email": "jane.smith@example.com" } ], "links": [ { "rel": "self", "href": "https://api.quickschools.com/sms/ims/oneroster/v1p1/users?limit=25&offset=0" } ] } ``` ``` -------------------------------- ### Flat List Return Type Example Source: https://apidocs.quickschools.com/index Shows the JSON format for an API call that returns a flat list of objects. This is a simple array containing multiple object structures. ```json [ {...}, {...} ] ``` -------------------------------- ### Paged List Return Type Example Source: https://apidocs.quickschools.com/index Details the JSON structure for an API call that returns a paged list of items. This includes metadata like the total number of items, current page, number of pages, items per page, and the actual list of items. ```json { "success": true, "numberOfItems": 274, "page": 0, "numberOfPages": 3, "itemsPerPage": 100, "list": [{ ... }, { ... }] } ``` -------------------------------- ### Student Application Submission JSON Response Source: https://apidocs.quickschools.com/index Example JSON output for a successful student application submission. It includes details like the student's current school, email, application remarks, application number, and submission date. ```json [ { "studentCurrentSchool": "Current School", "medicalDeclaration": "", "emailAddress": "applicant@mailinator.com", "applicationRemarks": "Submitted via Zapier: From Zapier", "studentCurrentYear": "Current Grade", "applicationNumber": "A-000096", "success": true, "applicantFullName": "John Smith", "contactNumber": "123456", "id": "84252", "applicationDate": "2023-02-11" } ] ``` -------------------------------- ### Get All Sections (API) Source: https://apidocs.quickschools.com/index Retrieves a list of all course sections for the current active semester. Can be filtered by semesterId. ```http GET /sms/v1/sections?semesterId=12345 ``` -------------------------------- ### Get Section Enrollments (API) Source: https://apidocs.quickschools.com/index Retrieves the enrollments for a specific course section identified by its section-id. ```http GET /sms/v1/sectionenrollments/{section-id} ``` -------------------------------- ### Search and Filter Students using cURL Source: https://apidocs.quickschools.com/index This example illustrates how to search and filter the list of students using `curl`. It shows how to use the `search` parameter for general searching and the `studentNumbers` parameter for specific student IDs. Filtering parameters like `showDeleted`, `showHasLeft`, `classId`, `homeroomId`, and `parentId` are also demonstrated. ```Shell curl GET https://api.quickschools.com/sms/v1/students?search=Alvin ``` ```Shell curl GET https://api.quickschools.com/sms/v1/students?studentNumbers=000001,000002 ``` ```Shell curl GET https://api.quickschools.com/sms/v1/students?showDeleted=true ``` ```Shell curl GET https://api.quickschools.com/sms/v1/students?classId=12345 ``` -------------------------------- ### Retrieve Student Details using cURL Source: https://apidocs.quickschools.com/index This example shows how to retrieve the details of a specific student using their ID with the `curl` command. It targets the `/sms/v1/students/{student-id}` endpoint. ```Shell curl GET https://api.quickschools.com/sms/v1/students/{student-id} ``` -------------------------------- ### GET /sms/v1/sections-zap Source: https://apidocs.quickschools.com/index Retrieves a list of all course sections, sorted by creation date in descending order. Returns the latest 50 records. Designed for Zapier integration. ```APIDOC ## GET /sms/v1/sections-zap ### Description Retrieves a list of all course sections, sorted by creation date in descending order. Returns the latest 50 records. Designed for Zapier integration. ### Method GET ### Endpoint /sms/v1/sections-zap ### Parameters None ### Request Example ```json GET /sms/v1/sections-zap ``` ### Response #### Success Response (200) - **sectionName** (string) - The name of the course section. - **classId** (string) - The ID of the class (grade level). - **teachers** (array) - An array of teacher objects associated with the section. - **fullName** (string) - The full name of the teacher. - **id** (string) - The ID of the teacher. - **employeeNumber** (string) - The employee number of the teacher. - **sectionCode** (string) - The code for the course section. - **className** (string) - The name of the class (grade level). - **id** (string) - The unique identifier for the section enrollment. - **creationDate** (string) - The date the section was created. #### Response Example ```json [ { "sectionName": "Science", "classId": "975200", "teachers": [ { "fullName": "Ezekiel White", "id": "195352", "employeeNumber": "E-00001" } ], "sectionCode": "Science", "className": "2nd Grade", "id": "3108725", "creationDate": "2022-05-31" } ] ``` ``` -------------------------------- ### Single Object Return Type Example Source: https://apidocs.quickschools.com/index Illustrates the JSON structure for a successful API call that returns a single object. This format includes a 'success' field and an 'id' field, along with other object-specific data. ```json { "success": true, "id": 12321 // Other fields follow, depending on the object being returned. } ``` -------------------------------- ### Get All Users (OneRoster API) Source: https://apidocs.quickschools.com/index Retrieves a list of all users, including teachers, parents, and students, from the OneRoster API. This endpoint is part of the IMS OneRoster v1.1 specification implemented by Quickschools. ```curl GET | /sms/ims/oneroster/v1p1/users? | Returns all users (teacher / parent / student) ``` -------------------------------- ### Teachers API Trigger and Search Source: https://apidocs.quickschools.com/index This describes the GET request for the /sms/v1/teachers-zap endpoint, used as a Zapier trigger. It returns a list of teachers and supports searching by name or employee number using the 'search' parameter. ```http GET /sms/v1/teachers-zap?search=Samantha ``` -------------------------------- ### Request Additional Student Fields using cURL Source: https://apidocs.quickschools.com/index This snippet shows how to request specific additional fields for student records by using the `fields` parameter with a comma-separated list of desired fields. It includes an example for requesting `enrollmentDate` and `hasLeft`. ```Shell curl GET https://api.quickschools.com/sms/v1/students?fields=enrollmentDate,hasLeft ``` -------------------------------- ### API Key Provisioning Source: https://apidocs.quickschools.com/index Instructions on how to generate and manage API keys for making calls from external applications or web servers. ```APIDOC ## API Key Provisioning ### Description API keys are used for making API calls from your school webserver or other external applications. They should NOT be used for native QuickSchools apps. API keys are managed within your QuickSchools account and should be kept secure. ### Steps to Obtain an API Key 1. **Enable API Keys Page:** Navigate to Settings > "Interested in developing your own apps?" > Enable. 2. **Access API Keys:** Go to the "App Developer Console" menu and select "API Keys". 3. **Create Key:** Click "Create new API Key", enter notes, and generate the key. The secret key will be displayed. ### Usage Send the generated API Key as the `apiKey` query parameter in your API calls. ### Access to All Schools - **Enable:** When viewing your API Keys, there's an option to enable access to all schools in your group. - **Specify School:** If enabled, you can specify a school using the `subdomain` query parameter (e.g., `subdomain=asc` for `http://asc.quickschools.com`). ``` -------------------------------- ### Get Semester Details (Semesters) Source: https://apidocs.quickschools.com/index Retrieves details for a specific semester, including its name, associated year, start and end dates, and active status. This is essential for academic planning and scheduling. ```json { "id": "3", "semesterName": "1st Quarter", "yearId": "3", "yearName": "2013/2014", "startDate": "2013-01-01", "endDate": "2013-05-01", "isActive": true } ``` -------------------------------- ### Make API Calls from Native JavaScript Source: https://apidocs.quickschools.com/index Demonstrates how to make GET and POST requests to the QuickSchools API from within a native application using JavaScript. It utilizes the Rest.get() and Rest.post() methods, taking the API path, parameters, context, and a callback function as arguments. No API key is required for these calls as authentication is handled by the logged-in user. ```javascript Rest.get("/sms/v1/semesters", {}, this, function(returnData) { // Process returnData which is a javascript object, e.g.: var numItems = returnData.numItems; }); Rest.post("/sms/v1/assignments", { subjectSetId: "123" }, this, function(returnData) { // Process returnData }); ``` -------------------------------- ### Create Section (API) Source: https://apidocs.quickschools.com/index Creates a new course section. Requires parameters like classId, sectionName, sectionCode, creditHours, and teacherIds (formatted as a JSON string array). ```http POST /sms/v1/sections ``` -------------------------------- ### GET /sms/ims/oneroster/v1p1/users/{id} Source: https://apidocs.quickschools.com/index Retrieves a specific user record by their ID. ```APIDOC ## GET /sms/ims/oneroster/v1p1/users/{id} ### Description Retrieves a specific user record using their unique identifier. ### Method GET ### Endpoint /sms/ims/oneroster/v1p1/users/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the user. #### Query Parameters - **fields** (string) - Optional - A comma-delimited list of the fields to return. Example: `fields=sifId,givenName,familyName` ### Request Example ```bash curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ "https://api.quickschools.com/sms/ims/oneroster/v1p1/users/12345?fields=givenName,familyName,role" ``` ### Response #### Success Response (200) - **user** (object) - A user object containing the requested details. - Fields include `sifId`, `givenName`, `familyName`, `role`, `identifier`, etc. #### Response Example ```json { "sifId": "12345", "givenName": "John", "familyName": "Doe", "role": "student", "identifier": "student-12345", "email": "john.doe@example.com" } ``` ``` -------------------------------- ### GET /sms/v1/students/{student-id} Source: https://apidocs.quickschools.com/index Retrieves the details of a specific student using their ID. ```APIDOC ## GET /sms/v1/students/{student-id} ### Description Returns the details of the specified student. ### Method GET ### Endpoint /sms/v1/students/{student-id} ### Parameters #### Path Parameters - **student-id** (string) - Required - The unique identifier of the student. #### Query Parameters - **fields** (string) - Optional - A comma-separated list of additional fields to include in the response (e.g., "enrollmentDate,hasLeft"). ### Response #### Success Response (200) - **student** (object) - A student object containing detailed information. #### Response Example { "id": "3", "fullName": "Ryan Harris", "preferredName": "Ryan", "classId": "234", "classCode": "G02", "className": "2nd Grade", "gender": "Male", "enrollmentDate": "2023-09-01", "hasLeft": false } ``` -------------------------------- ### GET /sms/v1/teachers/{teacher-id} Source: https://apidocs.quickschools.com/index Retrieves the details of a specific teacher using their ID. ```APIDOC ## GET /sms/v1/teachers/{teacher-id} ### Description Returns the details of the specified teacher. ### Method GET ### Endpoint /sms/v1/teachers/{teacher-id} ### Path Parameters - **teacher-id** (string) - Required - The ID of the teacher to retrieve. ### Query Parameters - **fields** (string) - Optional - A comma-separated list of additional fields to include in the response. Supported fields: firstName, middleName, familyName, employeeNumber, employmentDate, birthDate, title, email, homePhone, cellPhone, city, state, zip, room, hasLeft, deleted. ### Response #### Success Response (200) - **id** (string) - The unique identifier for the teacher. - **fullName** (string) - The full name of the teacher. - **title** (string) - The teacher's title. - **gender** (string) - The teacher's gender. - ... (other fields based on the 'fields' parameter) #### Response Example { "id": "3", "fullName": "Ryan Harris", "title": "Head of English Department", "gender": "Male" } ``` -------------------------------- ### Get Single Parent Details (API) Source: https://apidocs.quickschools.com/index Retrieves the details of a specific parent identified by their parent-id. ```http GET /sms/v1/parents/{parent-id} ``` -------------------------------- ### OAuth Authorization Source: https://apidocs.quickschools.com/index This section details how to direct users to the QuickSchools authorization URL to grant your application access to their account. ```APIDOC ## Authorization Site ### Description Provide users with a link to connect to QuickSchools and grant your application access to their account. ### Method GET ### Endpoint https://api.quickschools.com/sms/oauth/authorize.jsp ### Query Parameters - **response_type** (string) - Required - This should be "code". - **client_id** (string) - Required - The client ID received when registering an external application in your QuickSchools account. ### Request Example ``` https://api.quickschools.com/sms/oauth/authorize.jsp?response_type=code&client_id=111111111 ``` ### Response Upon successful authorization, the user's browser will be redirected to the specified redirect URL with a "code" query parameter appended. This code is used to exchange for an access token. ``` -------------------------------- ### Get Single Section Details (API) Source: https://apidocs.quickschools.com/index Retrieves the details of a specific course section identified by its section-id. ```http GET /sms/v1/sections/{section-id} ``` -------------------------------- ### POST /sms/v1/studentapplications-zap Source: https://apidocs.quickschools.com/index Creates an Admissions Application Submission. This endpoint allows for the creation of new student applications with various required and optional fields, including custom fields. ```APIDOC ## POST /sms/v1/studentapplications-zap ### Description Creates an Admissions Application Submission. This endpoint allows for the creation of new student applications with various required and optional fields, including custom fields. ### Method POST ### Endpoint /sms/v1/studentapplications-zap ### Parameters #### Query Parameters - **apiKey** (string) - Required - Your API key for authentication. #### Request Body - **applicantName** (string) - Required - Applicant's Name - **preferredName** (string) - Required - Preferred Name - **birthDate** (string) - Required - Must have "YYYY-MM-DD" format. - **gender** (string) - Required - Can be either "male" or "female". - **applicationRemarks** (string) - Required - Application Remarks. - **phone** (string) - Required - Applicant's Phone Number - **email** (string) - Required - Applicant's Email Address. - **currentSchool** (string) - Required - The student's current school. - **currentGrade** (string) - Required - The student's current grade. - **enrollmentDate** (string) - Required - Must have "YYYY-MM-DD" format. - **address** (string) - Optional - Applicant's address. - **city** (string) - Optional - Applicant's city. - **state** (string) - Optional - Applicant's state. - **zip** (string) - Optional - Applicant's zip code. - **homePhone** (string) - Optional - Applicant's home phone. - **cellPhone** (string) - Optional - Applicant's cell phone. - **fax** (string) - Optional - Applicant's fax number. - **studentEmail** (string) - Optional - Applicant's student email. - **medicalProblems** (string) - Optional - Description of medical problems. - **currentMedicationNeeds** (string) - Optional - Current medication needs. - **medicationAllergies** (string) - Optional - Medication allergies. - **foodAllergies** (string) - Optional - Food allergies. - **otherAllergies** (string) - Optional - Other allergies. - **specialDietaryNeeds** (string) - Optional - Special dietary needs. - **additionalInformation** (string) - Optional - Any additional information. - **customFields** (string) - Optional - A JSON string representing a list of key:value pairs for custom fields. Example: `["First Program Choice:Automotive","Second Program Choice:Bartending"]` ### Request Example ```json { "applicantName": "John Smith", "preferredName": "John", "birthDate": "2012-12-01", "gender": "Female", "applicationRemarks": "From Zapier", "phone": "123456", "email": "applicant@mailinator.com", "currentSchool": "Current School", "currentGrade": "Current Grade", "enrollmentDate": "2023-08-16", "customFields": "[\"First Program Choice:Automotive\",\"Second Program Choice:Bartending\"]" } ``` ### Response #### Success Response (200) - **studentCurrentSchool** (string) - The student's current school. - **medicalDeclaration** (string) - Medical declaration status. - **emailAddress** (string) - The applicant's email address. - **applicationRemarks** (string) - Remarks for the application. - **studentCurrentYear** (string) - The student's current grade or year. - **applicationNumber** (string) - The unique application number. - **success** (boolean) - Indicates if the submission was successful. - **applicantFullName** (string) - The full name of the applicant. - **contactNumber** (string) - The applicant's contact number. - **id** (string) - The unique identifier for the application submission. - **applicationDate** (string) - The date the application was submitted. #### Response Example ```json [ { "studentCurrentSchool": "Current School", "medicalDeclaration": "", "emailAddress": "applicant@mailinator.com", "applicationRemarks": "Submitted via Zapier: From Zapier", "studentCurrentYear": "Current Grade", "applicationNumber": "A-000096", "success": true, "applicantFullName": "John Smith", "contactNumber": "123456", "id": "84252", "applicationDate": "2023-02-11" } ] ``` ``` -------------------------------- ### Get Single Assignment Details - API Source: https://apidocs.quickschools.com/index Fetches the detailed information for a specific assignment using its unique ID. ```HTTP GET /sms/v1/assignments/{assignment-id} ``` -------------------------------- ### Generate Authorization URL for QuickSchools Source: https://apidocs.quickschools.com/index Construct the URL to initiate the OAuth authorization flow with QuickSchools. This URL directs the user to QuickSchools to grant your application access to their account. Requires your application's client ID. ```URL https://api.quickschools.com/sms/oauth/authorize.jsp?response_type=code&client_id=[your_client_id] ``` -------------------------------- ### GET /sms/v1/students Source: https://apidocs.quickschools.com/index Retrieves a list of all students. Supports searching by name, student number, and filtering by various criteria. ```APIDOC ## GET /sms/v1/students ### Description Returns the list of all students. You can search by passing in the "search" parameter (searches full name, student number, and class name), or by a comma-separated list of student numbers using the "studentNumbers" parameter. Additionally, you can filter the list using parameters like `showDeleted`, `showHasLeft`, `classId`, `homeroomId`, and `parentId`. ### Method GET ### Endpoint /sms/v1/students ### Parameters #### Query Parameters - **search** (string) - Optional - Searches for a match in the student's full name, student number, and class name. - **studentNumbers** (string) - Optional - A comma-separated list of student numbers to search by. - **showDeleted** (boolean) - Optional - Includes deleted students in the results. - **showHasLeft** (boolean) - Optional - Includes students who have graduated or left. - **classId** (string) - Optional - Filters for students in the specified class ID. - **homeroomId** (string) - Optional - Filters for students in the specified homeroom ID. - **parentId** (string) - Optional - Filters for students of the specified parent ID. - **fields** (string) - Optional - A comma-separated list of additional fields to include in the response (e.g., "enrollmentDate,hasLeft"). ### Response #### Success Response (200) - **students** (array) - An array of student objects. #### Response Example { "students": [ { "id": "3", "fullName": "Ryan Harris", "preferredName": "Ryan", "classId": "234", "classCode": "G02", "className": "2nd Grade", "gender": "Male" } ] } ``` -------------------------------- ### GET /sms/v1/parents-zap Source: https://apidocs.quickschools.com/index Retrieves a list of parents, with options for searching, filtering, and specifying additional fields. Supports Zapier integration. ```APIDOC ## GET /sms/v1/parents-zap ### Description Retrieves a list of parents, with options for searching, filtering, and specifying additional fields. Supports Zapier integration. Returns a maximum of 50,000 records. ### Method GET ### Endpoint /sms/v1/parents-zap ### Parameters #### Query Parameters - **fields** (string) - Optional - Comma-separated list of additional fields to retrieve (e.g., `enrollmentDate,hasLeft`). Supported fields: `siblings, homeroomId, homeroomTeacherId, letoTags-StudentFlexi, homeroomTeacher, phone, cellPhone, fax, nationality, deleted, hasLeft, isExpelled, customFields, students, firstName, middleName, familyName, email, homePhone, cellPhone, city, state, zip, country, deleted, updatedDate, customFields`. - **search** (string) - Optional - Searches for parents by full name. - **showDeleted** (boolean) - Optional - Includes deleted parents if set to `true`. - **subdomain** (string) - Optional - Specifies the school within a group to retrieve records from (e.g., `schoolCodeC`). ### Request Example ```json GET /sms/v1/parents-zap?fields=cellPhone,homePhone&search=John&showDeleted=true&subdomain=schoolCodeC ``` ### Response #### Success Response (200) - **zip** (string) - Parent's zip code. - **country** (string) - Parent's country. - **city** (string) - Parent's city. - **customFields** (object) - Object containing custom fields for the parent. - **homePhone** (string) - Parent's home phone number. - **fullName** (string) - Parent's full name. - **students** (array) - Array of student objects associated with the parent. - **relationshipToStudent** (string) - Relationship of the parent to the student. - **fullName** (string) - Student's full name. - **id** (string) - Student's ID. - **updatedDate** (string) - The date the parent record was last updated. - **deleted** (boolean) - Indicates if the parent record is deleted. - **state** (string) - Parent's state. - **id** (string) - Parent's unique identifier. - **email** (string) - Parent's email address. - **cellPhone** (string) - Parent's cell phone number. #### Response Example ```json [ { "zip": "", "country": "United States", "city": "", "customFields": { "New Checkbox": "Yes", "New Dropdown": "Option 2", "New Text Field": "New Text Value", "New Date": "2023-01-01" }, "homePhone": "123456789", "fullName": "Ellie Peralta", "students": [ { "relationshipToStudent": "Mother", "fullName": "Damianne Zeal Peralta", "id": "1249563" } ], "updatedDate": "2023-05-16T05:15:08.319-1100", "deleted": false, "state": "", "id": "779350", "email": "ellie@mailinator.com", "cellPhone": "" } ] ``` ``` -------------------------------- ### Create Assignment - API Source: https://apidocs.quickschools.com/index Creates a new assignment for a given course section. Requires parameters like name, date, and total marks. Optional parameters include category and grading scale. ```HTTP POST /sms/v1/sections/{section-id}/assignments?name=HW%20#1&date=2013-10-01&totalMarksPossible=100&columnCategoryId=23&gradingScaleId=405 ``` -------------------------------- ### Get All Parents (API) Source: https://apidocs.quickschools.com/index Retrieves a list of all parents. Supports filtering by including deleted parents using the showDeleted=true parameter. ```http GET /sms/v1/parents?showDeleted=true ``` -------------------------------- ### Add or Update Student Record using cURL Source: https://apidocs.quickschools.com/index This snippet demonstrates how to add a new student or update an existing one using the `curl` command. It shows the required `apiKey` and optional fields like `fullName` and `grade`. The response includes the created or updated student's JSON object and an `isExistingRecord` flag. ```Shell curl https://api.quickschools.com/sms/v1/students?apiKey=[YOUR API KEY] --data "fullName=Mary Smith&grade=1st Grade" ``` -------------------------------- ### GET /sms/v1/teachers Source: https://apidocs.quickschools.com/index Retrieves a list of all teachers. Supports searching by name or employee number, and filtering by deleted or left status. ```APIDOC ## GET /sms/v1/teachers ### Description Returns the list of all teachers. You can search by passing in the "search" parameter for partial matches in full name or employee name, or by a comma-separated list of employee numbers using the "employeeNumbers" parameter. Filtering is supported via `showDeleted=true` or `showHasLeft=true`. ### Method GET ### Endpoint /sms/v1/teachers ### Query Parameters - **search** (string) - Optional - Searches for teachers by full name or employee name. - **employeeNumbers** (string) - Optional - Searches for teachers by a comma-separated list of employee numbers. - **showDeleted** (boolean) - Optional - If true, includes deleted teachers. - **showHasLeft** (boolean) - Optional - If true, includes teachers who have left. - **fields** (string) - Optional - A comma-separated list of additional fields to include in the response. Supported fields: firstName, middleName, familyName, employeeNumber, employmentDate, birthDate, title, email, homePhone, cellPhone, city, state, zip, room, hasLeft, deleted. ### Response #### Success Response (200) - **teachers** (array) - An array of teacher objects. - **id** (string) - The unique identifier for the teacher. - **fullName** (string) - The full name of the teacher. - **title** (string) - The teacher's title. - **gender** (string) - The teacher's gender. - ... (other fields based on the 'fields' parameter) #### Response Example { "teachers": [ { "id": "3", "fullName": "Ryan Harris", "title": "Head of English Department", "gender": "Male" } ] } ``` -------------------------------- ### Enroll Students in Section (API) Source: https://apidocs.quickschools.com/index Enrolls students into a specific course section. Requires studentIds formatted as a JSON string array. ```http POST /sms/v1/sectionenrollments/{section-id} ``` -------------------------------- ### Create Student Application Submission (API) Source: https://apidocs.quickschools.com/index Submits a new student application to Quickschools using the /sms/v1/studentapplications-zap endpoint. Requires essential applicant details such as name, birth date, gender, contact information, and enrollment dates. Optional fields for address and custom information can also be included. Custom fields are passed as a JSON string. ```curl curl https://api.quickschools.com/sms/v1/studentapplications-zap?apiKey=[YOUR API KEY] --data "applicantName=John Smith&preferredName=John&birthDate=2012-12-01&gender=Female&applicationRemarks=From Zapier&phone=123456&email=applicant@mailinator.com¤tSchool=Current School¤tGrade=Current Grade&enrollmentDate=2023-08-16" ``` -------------------------------- ### Get Grades for a Specific Assignment - API Source: https://apidocs.quickschools.com/index Fetches grades for students associated with a particular assignment. Allows filtering to include only final grades. ```HTTP GET /sms/v1/assignments/{assignment-id}/grades?includeOnlyFinalGrades=true ``` -------------------------------- ### Enroll Students in Multiple Courses (API) Source: https://apidocs.quickschools.com/index Enrolls students into multiple courses simultaneously. Requires studentIds and sectionIds, both formatted as JSON string arrays. ```http POST /sms/v1/sectionenrollments ``` -------------------------------- ### Schools API Source: https://apidocs.quickschools.com/index Retrieve information about schools. Endpoints are provided to get a list of schools within a SchoolGroup or the details of the currently authenticated school. ```APIDOC ## GET /sms/v1/schools ### Description Returns the list of schools that belong to the current user's SchoolGroup. If the school is an individual school (not part of a group), a single school record will be returned in the list. ### Method GET ### Endpoint /sms/v1/schools ### Parameters None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The unique identifier for the school. - **schoolCode** (string) - A code representing the school. - **schoolName** (string) - The name of the school. - **principalName** (string) - The name of the school's principal. - **address** (string) - The physical address of the school. - **email** (string) - The contact email address for the school. - **website** (string) - The website URL of the school. - **phone** (string) - The contact phone number for the school. #### Response Example ```json { "id": "3", "schoolCode": "applecreek", "schoolName": "Apple Creek School", "principalName": "John Smith", "address": "5 Palm Court, Sunnyvale, CA 94086", "email": "info@applecreekschool.edu", "website": "http://www.applecreekschool.edu", "phone": "(111) 444 4444" } ``` ### Notes - The school phone number is a user-entered string and its format is not guaranteed. ``` ```APIDOC ## GET /sms/v1/school ### Description Returns the details of the school associated with the currently-authenticated user or API key. ### Method GET ### Endpoint /sms/v1/school ### Parameters None ### Request Example None ### Response #### Success Response (200) - **id** (string) - The unique identifier for the school. - **schoolCode** (string) - A code representing the school. - **schoolName** (string) - The name of the school. - **principalName** (string) - The name of the school's principal. - **address** (string) - The physical address of the school. - **email** (string) - The contact email address for the school. - **website** (string) - The website URL of the school. - **phone** (string) - The contact phone number for the school. #### Response Example ```json { "id": "3", "schoolCode": "applecreek", "schoolName": "Apple Creek School", "principalName": "John Smith", "address": "5 Palm Court, Sunnyvale, CA 94086", "email": "info@applecreekschool.edu", "website": "http://www.applecreekschool.edu", "phone": "(111) 444 4444" } ``` ### Notes - The school phone number is a user-entered string and its format is not guaranteed. ```