SJTU jAccount Profile
Generated by API Evangelist, derived from Shanghai Jiao Tong University's own published documentation — SJTU publishes no JSON Schema. The user object returned in entities[0] by GET https://api.sjtu.edu.cn/v1/me/profile and GET /v1/profile/{account}. Derived from the 响应参数 structure at https://developer.sjtu.edu.cn/api/profile.html. Field release is SCOPE-CONTROLLED: each property below names the scopes that release it, and a token holding only `basic` receives a strict subset of a token holding `privacy`. This is field-level authorization implemented in the platform, and it is a genuinely uncommon design worth naming — the same operation returns a different object shape depending on what was approved.
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Natural-person identifier (GUID). Released to basic, essential, profile, privacy. Absent on non-personal accounts such as group accounts. Multiple accounts belonging to the same natural person share t |
| account | string | jAccount account name. |
| name | string | Real name. |
| kind | string | Object type marker. Every SJTU object carries a kind that uniquely identifies its type. |
| code | string | Student or staff number of the default identity. |
| userType | string | Identity type of the default identity. Enumerated in vocabulary/shanghai-jiao-tong-university-vocabulary.yml. |
| organize | object | Organizational unit of the default identity. |
| topOrganize | object | Second-level unit owning the default identity. The documentation explicitly warns against persisting this value, because it is re-derived as the directory changes. |
| classNo | string | Class number. Present only when userType is student. |
| avatars | object | Avatar images. |
| timeZone | integer | Time-zone offset. |
| uri | string | Web address for the object, per the platform-wide convention that every object carries a uri. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/shanghai-jiao-tong-university/main/json-schema/shanghai-jiao-tong-university-profile.json",
"title": "SJTU jAccount Profile",
"description": "Generated by API Evangelist, derived from Shanghai Jiao Tong University's own published documentation — SJTU publishes no JSON Schema. The user object returned in entities[0] by GET https://api.sjtu.edu.cn/v1/me/profile and GET /v1/profile/{account}. Derived from the 响应参数 structure at https://developer.sjtu.edu.cn/api/profile.html. Field release is SCOPE-CONTROLLED: each property below names the scopes that release it, and a token holding only `basic` receives a strict subset of a token holding `privacy`. This is field-level authorization implemented in the platform, and it is a genuinely uncommon design worth naming — the same operation returns a different object shape depending on what was approved.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Natural-person identifier (GUID). Released to basic, essential, profile, privacy. Absent on non-personal accounts such as group accounts. Multiple accounts belonging to the same natural person share this id.",
"x-scopes": [
"basic",
"essential",
"profile",
"privacy"
]
},
"account": {
"type": "string",
"description": "jAccount account name.",
"x-scopes": [
"basic",
"essential",
"profile",
"privacy"
]
},
"name": {
"type": "string",
"description": "Real name.",
"x-scopes": [
"basic",
"essential",
"profile",
"privacy"
]
},
"kind": {
"type": "string",
"const": "canvas.profile",
"description": "Object type marker. Every SJTU object carries a kind that uniquely identifies its type.",
"x-scopes": [
"basic",
"essential",
"profile",
"privacy"
]
},
"code": {
"type": "string",
"description": "Student or staff number of the default identity.",
"x-scopes": [
"essential",
"profile",
"privacy"
]
},
"userType": {
"type": "string",
"description": "Identity type of the default identity. Enumerated in vocabulary/shanghai-jiao-tong-university-vocabulary.yml.",
"enum": [
"faculty",
"student",
"yxy",
"fs",
"vip",
"postphd",
"external_teacher",
"summer",
"alumni",
"green",
"outside",
"fszxjs",
"freshman",
"team"
],
"x-scopes": [
"essential",
"profile",
"privacy"
]
},
"organize": {
"type": "object",
"description": "Organizational unit of the default identity.",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"x-scopes": [
"essential",
"profile",
"privacy"
]
},
"topOrganize": {
"type": "object",
"description": "Second-level unit owning the default identity. The documentation explicitly warns against persisting this value, because it is re-derived as the directory changes.",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"x-scopes": [
"essential",
"profile",
"privacy"
]
},
"classNo": {
"type": "string",
"description": "Class number. Present only when userType is student.",
"x-scopes": [
"profile",
"privacy"
]
},
"avatars": {
"type": "object",
"description": "Avatar images.",
"properties": {
"uriTiny": {
"type": "string",
"format": "uri"
},
"uriNormal": {
"type": "string",
"format": "uri"
}
},
"x-scopes": [
"privacy"
]
},
"timeZone": {
"type": "integer",
"description": "Time-zone offset."
},
"uri": {
"type": "string",
"format": "uri",
"description": "Web address for the object, per the platform-wide convention that every object carries a uri."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/shanghai-jiao-tong-university-profile"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.