SJTU Open API
The university's own REST API platform (开放API), operated by the SJTU Network and Information Center at api.sjtu.edu.cn under OAuth 2.0 issued by its own jAccount authorization server. 59 documented operations across 13 families: Profile, Task, Enterprise, File, Notification, Mail, Finance, Education, Card, Unicode (思源码), Barcode, Calendar and Signature. Every response uses one envelope — errno, error, total, nextToken, entities[] — and field release is scope controlled, so the same Profile operation returns a different object shape to a `basic` token than to a `privacy` one. Verified live 2026-08-30: an unauthenticated GET of /v1/me/profile returns HTTP 403 with the documented {"errno":10002,"error":"Authentication Failed."}. SJTU publishes no OpenAPI; the specification here is DERIVED from the university's own HTML documentation and marked as such in info.x-provenance.
GET
/v1/me/profile
Get my user profile
#
GET
/v1/profile/{jaccount}
Get a specified user's profile
#
POST
/v2/task/message
Send a task update message
#
GET
/v1/enterprise/user/positions
List a user's posts and identities
#
GET
/v1/enterprise/user/rights
Get a user's rights
#
GET
/v1/enterprise/position/dept:post:biz/users
List users holding a post
#
PUT
/v1/enterprise/position/dept:post/users
Assign a post to a user
#
DELETE
/v1/enterprise/position/dept:post/users
Revoke a user's post assignment
#
GET
/v1/enterprise/organizes
List organizational units
#
GET
/v1/enterprise/calendar
Get the academic calendar
#
PUT
/v1/file
Upload a file
#
GET
/v1/file/{id}
Download a file
#
POST
/v1/file/{id}
Replace a file
#
POST
/v1/file/{id}/meta
Update file metadata
#
GET
/v1/file/{id}/thumb/{size}
Download a thumbnail
#
GET
/v1/file/preview
Get a WPS preview link
#
GET
/v1/file/edit
Get a WPS edit link
#
PUT
/v1/notification
Send a notification
#
GET
/v1/notification/status
Get notification status
#
POST
/v1/notification/status
Mark notification status
#
GET
/v1/mails
List mail
#
GET
/v1/mails/{state}
List mail
#
POST
/v1/mail/{mailId}
Mark a mail's read state
#
GET
/v1/finance/appointments/{businessType}/{businessNo}
Get one finance appointment
#
PUT
/v1/finance/appointments/{businessType}/{businessNo}
Submit a new finance appointment
#
DELETE
/v1/finance/appointments/{businessType}/{businessNo}
Cancel a finance appointment
#
POST
/v1/finance/appointments/{businessType}/{businessNo}
Mark a finance appointment complete
#
GET
/v1/finance/appointments/{businessType}
List completed, cancelled or returned finance appointments
#
GET
/v1/lesson/{code}
Get a teaching-class (lesson) record
#
GET
/v1/me/lessons
Get the signed-in student's timetable
#
GET
/v1/me/lessons/{term}
Get the signed-in student's timetable
#
GET
/v1/me/examinations
Get the signed-in student's examinations
#
GET
/v1/me/examinations/{term}
Get the signed-in student's examinations
#
GET
/v1/gpa
Get the signed-in student's GPA
#
GET
/v1/me/card
Get my campus-card record
#
PUT
/v1/me/card
Open a campus-card account
#
POST
/v1/me/card
Set campus-card information and state
#
GET
/v1/me/card/user
Get campus-card identity information
#
GET
/v1/me/card/transactions
List campus-card transactions
#
GET
/v1/me/card/photo
Get the campus-card photo
#
POST
/v1/me/card/photo
Update the campus-card photo
#
GET
/v1/me/card/recharge/{id}
Get a top-up request
#
POST
/v1/me/card/recharge
Submit a top-up request
#
POST
/v1/card/foundLostCard
Report a found lost card
#
GET
/v1/card
Look up a card by staff/student number or physical card number
#
POST
/v1/card
Freeze or unfreeze a campus card
#
GET
/v1/me/card/transfer
Get a card balance-transfer order
#
POST
/v1/me/card/transfer
Transfer a campus-card balance
#
GET
/v1/unicode
Validate a Siyuan code
#
POST
/v1/unicode
Activate a Siyuan code
#
GET
/v1/unicode/identity
Get the identity code and Siyuan activation state
#
GET
/v1/unicode/identity/advertising
Get promotional-slot content
#
GET
/v1/unicode/pay
Get a payment code
#
GET
/v1/unicode/parameters
Get payment-code integration parameters
#
GET
/v1/unicode/transactions
List Siyuan-code transactions
#
GET
/v1/barcode/qr/{fileName}.{imageType}
Render a QR code
#
GET
/v1/barcode/{type}/{value}.{imageType}
Render a barcode
#
POST
/v1/calendar/event
Create a calendar event
#
DELETE
/v1/calendar/event/{id}
Delete a calendar event
#
POST
/v1/signature/{eSignCode}
Apply a digital signature to a document
#
Documentation
Specifications
Schemas & Data
Other Resources
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/open-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Shanghai Jiao Tong University Open API
version: 1.0.0
summary: The institution-operated REST API platform SJTU's Network & Information Center runs at api.sjtu.edu.cn.
description: 'The SJTU Open API platform (开放API) is operated by the Shanghai Jiao Tong University Network
and Information Center (上海交通大学网络信息中心) and documented on the university''s own developer portal at
https://developer.sjtu.edu.cn/api/overview.html. It is a REST API over HTTPS at https://api.sjtu.edu.cn,
protected end to end by OAuth 2.0 issued by the university''s own jAccount authorization server at
https://jaccount.sjtu.edu.cn/oauth2/.
Thirteen API families are documented: Profile, Task, Enterprise, File, Notification, Mail, Finance,
Education, Card, Unicode (Siyuan code), Barcode, Calendar and Signature. Together they cover the campus
identity directory, the campus card and its payment code, student timetables and grades, campus mail
and notifications, file storage with WPS preview/edit, and the finance appointment workflow — the
operational spine of a Chinese research university, published as a first-party API rather than bought
from a vendor.
Every response uses one common envelope: errno (0 on success), optional error, optional total and
nextToken for paging, and entities[] carrying the payload. Field release is scope-controlled — the
same Profile object returns more fields to a token holding privacy than to one holding basic.
Access is not open: an application must be registered through my.sjtu.edu.cn or the 交我办 app (Service
Hall -> Information Services -> jAccount interface application), which issues an appId and a 48-character
appSecret, and each scope must be separately approved. This document is DERIVED from the university''s
published documentation. It was not published by SJTU and no SJTU-authored OpenAPI was found.'
termsOfService: https://developer.sjtu.edu.cn/api/overview.html
contact:
name: Shanghai Jiao Tong University Network and Information Center
url: https://developer.sjtu.edu.cn/
x-operator: institution
x-provenance:
method: derived
source: https://developer.sjtu.edu.cn/api/list.html
generated: '2026-08-30'
note: Paths, methods, OAuth grants and per-operation scopes were read from the operation blocks the
SJTU developer portal renders on developer.sjtu.edu.cn/api/*.html. Envelope, error and Profile schemas
were read from developer.sjtu.edu.cn/api/overview.html and /api/profile.html. Liveness confirmed
by an unauthenticated GET of https://api.sjtu.edu.cn/v1/me/profile, which returned 403 {"errno":10002,"error":"Authentication
Failed.","total":0} on 2026-08-30.
servers:
- url: https://api.sjtu.edu.cn
description: SJTU Open API production host, operated by the SJTU Network and Information Center.
tags:
- name: Profile
description: User profile — identity, name, default identity type and organizational unit, with field-level
scope control.
- name: Task
description: InfoPlus task centre — push workflow task updates into the campus task centre.
- name: Enterprise
description: Enterprise directory — posts, identities, rights, organizational units and the academic
calendar.
- name: File
description: Application file storage — upload, download, metadata, thumbnails and WPS preview/edit
links.
- name: Notification
description: Campus notification delivery and read-state tracking, including Jiao-Wo-Ban (交我办) app pushes.
- name: Mail
description: Campus mail — read, send and mark messages on the user's behalf.
- name: Finance
description: Finance appointment workflow — submit, cancel, complete and query financial business items.
- name: Education
description: Teaching records — lessons, student timetables, examinations and GPA.
- name: Card
description: Campus card (一卡通) — account opening, balance, transactions, photo, top-up, freeze and transfer.
- name: Unicode
description: Siyuan code (思源码) — the campus identity and payment QR code, its activation, payment codes
and transactions.
- name: Barcode
description: Barcode and QR-code image rendering.
- name: Calendar
description: Calendar event synchronisation into the campus calendar.
- name: Signature
description: Digital document signing (e-signature).
paths:
/v1/me/profile:
get:
summary: Get my user profile
description: 'Get my user profile. Documented as “查询我的用户信息” on the SJTU developer platform. Supported
OAuth 2.0 grants: authorizationCode. Covered by the SJTU Java API SDK.'
operationId: get_v1_me_profile
tags:
- Profile
security:
- jAccountOAuth2:
- basic
- essential
- profile
- privacy
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/profile/{jaccount}:
get:
summary: Get a specified user's profile
description: 'Get a specified user''s profile. Documented as “查询指定用户的信息” on the SJTU developer platform.
Supported OAuth 2.0 grants: authorizationCode, clientCredentials. Documented URL template: https://api.sjtu.edu.cn/v1/profile/{jaccount|userId}'
operationId: get_v1_profile_jaccount
tags:
- Profile
parameters:
- name: jaccount
in: path
required: true
schema:
type: string
security:
- jAccountOAuth2:
- basic
- essential
- profile
- privacy
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v2/task/message:
post:
summary: Send a task update message
description: 'Send a task update message. Documented as “发送任务更新消息” on the SJTU developer platform.
Supported OAuth 2.0 grants: clientCredentials. Covered by the SJTU Java API SDK.'
operationId: post_v2_task_message
tags:
- Task
security:
- jAccountOAuth2:
- tasks
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/user/positions:
get:
summary: List a user's posts and identities
description: 'List a user''s posts and identities. Documented as “取用户的岗位、身份信息” on the SJTU developer
platform. Supported OAuth 2.0 grants: authorizationCode.'
operationId: get_v1_enterprise_user_positions
tags:
- Enterprise
security:
- jAccountOAuth2:
- basic
- essential
- profile
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/user/rights:
get:
summary: Get a user's rights
description: 'Get a user''s rights. Documented as “取用户的权限” on the SJTU developer platform. Supported
OAuth 2.0 grants: authorizationCode, clientCredentials. Covered by the SJTU Java API SDK.'
operationId: get_v1_enterprise_user_rights
tags:
- Enterprise
parameters:
- name: account
in: query
required: false
schema:
type: string
security:
- jAccountOAuth2:
- basic
- essential
- privacy
- profile
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/position/dept:post:biz/users:
get:
summary: List users holding a post
description: 'List users holding a post. Documented as “查询岗位中的用户信息” on the SJTU developer platform.
Supported OAuth 2.0 grants: clientCredentials.'
operationId: get_v1_enterprise_position_dept_post_biz_users
tags:
- Enterprise
security:
- jAccountOAuth2:
- basic
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/position/dept:post/users:
put:
summary: Assign a post to a user
description: 'Assign a post to a user. Documented as “为用户配置岗位” on the SJTU developer platform. Supported
OAuth 2.0 grants: authorizationCode.'
operationId: put_v1_enterprise_position_dept_post_users
tags:
- Enterprise
parameters:
- name: code
in: query
required: false
schema:
type: string
security:
- jAccountOAuth2:
- profile
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
delete:
summary: Revoke a user's post assignment
description: 'Revoke a user''s post assignment. Documented as “取消用户岗位授权” on the SJTU developer platform.
Supported OAuth 2.0 grants: authorizationCode.'
operationId: delete_v1_enterprise_position_dept_post_users
tags:
- Enterprise
parameters:
- name: code
in: query
required: false
schema:
type: string
security:
- jAccountOAuth2:
- profile
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/organizes:
get:
summary: List organizational units
description: List organizational units. Documented as “查询部门” on the SJTU developer platform. Covered
by the SJTU Java API SDK.
operationId: get_v1_enterprise_organizes
tags:
- Enterprise
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/enterprise/calendar:
get:
summary: Get the academic calendar
description: Get the academic calendar. Documented as “查询校历” on the SJTU developer platform.
operationId: get_v1_enterprise_calendar
tags:
- Enterprise
parameters:
- name: from
in: query
required: false
schema:
type: string
- name: to
in: query
required: false
schema:
type: string
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file:
put:
summary: Upload a file
description: 'Upload a file. Documented as “上传文件” on the SJTU developer platform. Supported OAuth
2.0 grants: clientCredentials. Covered by the SJTU Java API SDK.'
operationId: put_v1_file
tags:
- File
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file/{id}:
get:
summary: Download a file
description: Download a file. Documented as “下载文件” on the SJTU developer platform.
operationId: get_v1_file_id
tags:
- File
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
post:
summary: Replace a file
description: 'Replace a file. Documented as “修改文件” on the SJTU developer platform. Supported OAuth
2.0 grants: clientCredentials. Covered by the SJTU Java API SDK.'
operationId: post_v1_file_id
tags:
- File
parameters:
- name: id
in: path
required: true
schema:
type: string
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file/{id}/meta:
get:
summary: Get file metadata
description: 'Get file metadata. Documented as “获取文件信息” on the SJTU developer platform. Supported
OAuth 2.0 grants: clientCredentials. Covered by the SJTU Java API SDK.'
operationId: get_v1_file_id_meta
tags:
- File
parameters:
- name: id
in: path
required: true
schema:
type: string
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
post:
summary: Update file metadata
description: 'Update file metadata. Documented as “修改文件信息” on the SJTU developer platform. Supported
OAuth 2.0 grants: clientCredentials. Covered by the SJTU Java API SDK.'
operationId: post_v1_file_id_meta
tags:
- File
parameters:
- name: id
in: path
required: true
schema:
type: string
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file/{id}/thumb/{size}:
get:
summary: Download a thumbnail
description: Download a thumbnail. Documented as “下载缩略图” on the SJTU developer platform.
operationId: get_v1_file_id_thumb_size
tags:
- File
parameters:
- name: id
in: path
required: true
schema:
type: string
- name: size
in: path
required: true
schema:
type: string
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file/preview:
get:
summary: Get a WPS preview link
description: 'Get a WPS preview link. Documented as “获取WPS预览链接” on the SJTU developer platform.
Supported OAuth 2.0 grants: clientCredentials.'
operationId: get_v1_file_preview
tags:
- File
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/file/edit:
get:
summary: Get a WPS edit link
description: 'Get a WPS edit link. Documented as “获取WPS编辑链接” on the SJTU developer platform. Supported
OAuth 2.0 grants: clientCredentials.'
operationId: get_v1_file_edit
tags:
- File
security:
- jAccountOAuth2:
- storage
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/notification:
put:
summary: Send a notification
description: 'Send a notification. Documented as “发送通知” on the SJTU developer platform. Supported
OAuth 2.0 grants: password. Covered by the SJTU Java API SDK.'
operationId: put_v1_notification
tags:
- Notification
security:
- jAccountOAuth2:
- send_notification
- send_app_notification
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a parameter error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — authentication or scope check failed (errno 10002 / 10010).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found — the resource path is wrong.
'405':
description: Method Not Allowed.
'500':
description: Internal Server Error.
'503':
description: Service Unavailable — the API server is restarting or down for maintenance.
/v1/notification/status:
get:
summary: Get notification status
description: 'Get notification status. Documented as “获取通知状态” on the SJTU developer platform. Supported
OAuth 2.0 grants: clientCredentials.'
operationId: get_v1_notification_status
tags:
- Notification
parameters:
- name: id
in: query
required: false
schema:
type: string
security:
- jAccountOAuth2:
- notifications
responses:
'200':
description: Success. errno is 0 and the payload is carried in entities[].
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
'400':
description: Bad Request — usually a par
# --- truncated at 32 KB (106 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shanghai-jiao-tong-university/refs/heads/main/openapi/shanghai-jiao-tong-university-open-api-openapi.yml