Cloud9 Integration | Shaurya Software Pvt Ltd. Token & Sibling Linking — Feature Reference CLOUD9 INTEGRATION Token Validation & Sibling Linking Feature Reference Guide Shaurya Software Pvt Ltd. · +91-8448449335 · July 2026 1. Token Validation The Cloud9 API supports an optional security token to restrict who can make changes to student records. When a token is configured for a school, every API request must supply the correct value or the request is rejected immediately — before any student data is read or written. 1.1 How It Works 1. The school administrator configures a GlobalToken value on the server for the school's API endpoint. 2. Each API request includes a top-level token field carrying the token string. 3. The server compares the supplied token against GlobalToken (exact match, case-sensitive). 4. If they do not match, the API returns status 002 with message Invalid Token and stops immediately — no student data is processed. 5. If GlobalToken is empty (not configured), the token check is skipped entirely regardless of whether a token field was sent. 1.2 Request Parameter Parameter Type Req. Description token string Con ditio nal Required only when your school has a token configured. Send the exact token string — the check is case-sensitive. If the value does not match, the request fails with Invalid Token and no data is saved. If no token is configured for your school, this field is optional and has no effect even if sent. 1.3 Where to Place the Token The token is a top-level key in the JSON payload — at the same level as method, year, and admno. It is not inside the data object. { "method": "Add", "year": "2025-2026", "admno": "NEW_NO", "token": "your_token_here", ← top-level, not inside data "data": { "StudentName": "Arjun Sharma", ... } } 1.4 Examples Page 1 | Cloud9 API Documentation | +91-8448449335
Cloud9 Integration | Shaurya Software Pvt Ltd. Token & Sibling Linking — Feature Reference Add with Token { "method": "Add", "year": "2025-2026", "admno": "NEW_NO", "token": "your_token_here", "data": { "StudentName": "Mukesh Verma", "Class": "VI", "Section": "A", "Gender": "Male", "FatherName": "Suresh Kumar", "FatherMobile": "9988776655" } } Edit with Token { "method": "Edit", "year": "2025-2026", "admno": "005484", "token": "your_token_here", "data": { "Mobile": "9123456789", "FatherMobile": "9000011111" } } Delete with Token { "method": "Delete", "year": "2025-2026", "admno": "005484", "token": "your_token_here" } 1.5 Token Error Response ERROR {"status":"002","message":"Invalid Token"} Note: The token check happens during the top-level JSON key loop, before method/year/admno validation and before any student data is read or written. A wrong token always fails fast regardless of what else is in the payload. 1.6 Behaviour Summary Scenario Result Notes GlobalToken configured, correct token sent Request proceeds✓ Normal flow GlobalToken configured, wrong token sent Invalid Token✗ Fails immediately, no data saved GlobalToken configured, no token sent Request proceeds✓ Token field treated as absent — only fails if token key is present with wrong value No GlobalToken configured, token sent Request proceeds✓ Token field is ignored Page 2 | Cloud9 API Documentation | +91-8448449335
Cloud9 Integration | Shaurya Software Pvt Ltd. Token & Sibling Linking — Feature Reference No GlobalToken configured, no token sent Request proceeds✓ Normal flow — no token check at all 2. Sibling Linking The siblings array links a student to their existing siblings already registered in the Cloud9 system. Sibling groups are school-wide and are stored under a common SiblingID. Each submission of the siblings array fully replaces the student's current sibling group — it does not append to it. 2.1 Request Parameter Parameter Type Req. Description siblings array NO Array of sibling entries. Each entry must contain SchoolCode and AdmNo. Processed on Add and Edit. Submitting this array replaces the student's existing sibling group entirely. 2.2 Entry Fields Key Description SchoolCode Your school's unique text code as registered in Cloud9 (e.g. "DPS001"). This is the text identifier, not a numeric SchoolID. AdmNo The admission number of the sibling student already in the system. 2.3 How It Works — Step by Step 6. When a siblings array is present, the system first looks up the school's SchoolCode from SchoolID. 7. All existing sibling links for the current student are deleted — the student is removed from any group they were previously in. 8. The system checks whether any of the provided sibling AdmNo values already belong to an existing sibling group. 9. If a match is found: the current student is added to that existing group (SiblingID is reused). 10. If no match is found: a new SiblingID is created and each provided AdmNo that exists in MemData (current or previous year) is inserted into the group along with the current student. 11. If none of the provided admission numbers are found in the system at all: the previous links are still cleared, but no new group is created. Note: An empty siblings array [ ] clears all existing sibling links for the student without creating any new group. This is the correct way to remove a student from a sibling group. 2.4 Applies On Method Siblings Processed? Notes Add Yes✓ Links are created after the student record is inserted. Page 3 | Cloud9 API Documentation | +91-8448449335
Cloud9 Integration | Shaurya Software Pvt Ltd. Token & Sibling Linking — Feature Reference Edit Yes✓ Existing links are cleared and rebuilt from the array provided. Delete No✗ Sibling links are not modified when a student is deleted. 2.5 Examples Add — Link Siblings at Admission Time { "method": "Add", "year": "2025-2026", "admno": "NEW_NO", "token": "your_token_here", "data": { "StudentName": "Arjun Sharma", "Class": "VI", "Section": "A", "Gender": "Male", "FatherName": "Vikram Sharma", "FatherMobile": "9811223344" }, "siblings": [ { "SchoolCode": "DPS001", "AdmNo": "004100" }, { "SchoolCode": "DPS001", "AdmNo": "004101" } ] } Edit — Update Sibling Group Send just the siblings array in an Edit request. The data object can be empty — only the sibling group is updated. { "method": "Edit", "year": "2025-2026", "admno": "005484", "token": "your_token_here", "data": {}, "siblings": [ { "SchoolCode": "DPS001", "AdmNo": "004100" }, { "SchoolCode": "DPS001", "AdmNo": "004212" } ] } Edit — Remove from All Sibling Groups Send an empty siblings array to clear sibling links without creating a new group. { "method": "Edit", "year": "2025-2026", "admno": "005484", "token": "your_token_here", "data": {}, "siblings": [] } Add with Token + Siblings Together { "method": "Add", "year": "2025-2026", Page 4 | Cloud9 API Documentation | +91-8448449335
Cloud9 Integration | Shaurya Software Pvt Ltd. Token & Sibling Linking — Feature Reference "admno": "NEW_NO", "token": "a1b2c3d4e5f6", "data": { "StudentName": "Riya Mehta", "Class": "IV", "Section": "B", "Gender": "Female", "FatherName": "Anand Mehta", "FatherMobile": "9811000111" }, "siblings": [ { "SchoolCode": "DPS001", "AdmNo": "005100" } ] } 2.6 Sibling Validation Behaviour Scenario Result Notes Some siblings found, some not found in MemData Partial link created Only the found AdmNos are inserted into the sibling group. All siblings found, no existing group New group created New SiblingID generated, all members inserted. Any sibling already belongs to a group Joined to existing group Existing SiblingID is reused. Student and found siblings all placed in that group. No sibling AdmNos found at all No link created Previous sibling links are still cleared. No error is returned. Empty array [ ] sent Links cleared Student removed from their current group. No new group created. siblings key absent from request No change Existing sibling links are left completely untouched. 3. Quick Reference Feature Key Points Token • Top-level JSON key (not inside data) • Only enforced when GlobalToken is configured on the server • Exact match, case-sensitive • Fails fast with Invalid Token — nothing is saved • Works identically on Add, Edit, and Delete Siblings • Top-level JSON array (not inside data) • Each entry needs SchoolCode and AdmNo • Processed on Add and Edit; ignored on Delete • Always replaces the existing group — not an append operation • Empty array [] clears all links without creating a new group • Absent siblings key → existing links are untouched Page 5 | Cloud9 API Documentation | +91-8448449335