{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/powerschool/main/json-schema/powerschool-student.json", "title": "PowerSchool Student", "description": "A student record from the PowerSchool SIS REST API (/ws/v1/district/student/{id}). Students are identified by DCID (id field), local student number (local_id), and portal username.", "type": "object", "required": ["id"], "properties": { "id": { "type": "integer", "description": "Student DCID — the district-wide unique identifier. Use this in API path parameters." }, "local_id": { "type": "integer", "description": "Student number — local identifier used within the district (e.g., on ID cards)." }, "student_username": { "type": "string", "description": "Student portal login username." }, "name": { "type": "object", "description": "Student name components.", "properties": { "first_name": { "type": "string", "description": "Given/first name." }, "middle_name": { "type": "string", "description": "Middle name." }, "last_name": { "type": "string", "description": "Surname/family name." } } }, "demographics": { "type": "object", "description": "Demographic information.", "properties": { "birth_date": { "type": "string", "format": "date", "description": "Date of birth in YYYY-MM-DD format." }, "district_entry_date": { "type": "string", "format": "date", "description": "Date the student first enrolled in the district." }, "gender": { "type": "string", "description": "Gender as defined by the district (e.g., M, F, or extended values)." }, "projected_graduation_year": { "type": "integer", "description": "Expected graduation year (e.g., 2028)." } } }, "addresses": { "type": "object", "description": "Address collection for the student.", "properties": { "home": { "$ref": "#/definitions/Address" }, "mailing": { "$ref": "#/definitions/Address" }, "physical": { "$ref": "#/definitions/Address" } } }, "phones": { "type": "object", "description": "Phone numbers for the student.", "properties": { "fax": { "$ref": "#/definitions/PhoneNumber" }, "home_phone": { "$ref": "#/definitions/PhoneNumber" }, "main": { "$ref": "#/definitions/PhoneNumber" } } } }, "definitions": { "Address": { "type": "object", "properties": { "city": { "type": "string", "description": "City name." }, "postal_code": { "type": "integer", "description": "ZIP or postal code." }, "state_province": { "type": "string", "description": "State or province abbreviation (e.g., CA, TX)." }, "street": { "type": "string", "description": "Street address." } } }, "PhoneNumber": { "type": "object", "properties": { "number": { "type": "string", "description": "Phone number string (format varies by district)." } } } }, "examples": [ { "id": 100234, "local_id": 54321, "student_username": "jdoe2028", "name": { "first_name": "Jane", "middle_name": "Marie", "last_name": "Doe" }, "demographics": { "birth_date": "2012-08-15", "district_entry_date": "2018-09-04", "gender": "F", "projected_graduation_year": 2028 }, "addresses": { "home": { "city": "Austin", "postal_code": 78701, "state_province": "TX", "street": "123 Main St" } }, "phones": { "home_phone": { "number": "512-555-0100" } } } ] }