openapi: 3.0.3 info: title: USOS API (University of Warsaw) apiref apisrv API description: The University of Warsaw installation of the USOS API, a REST-like protocol providing access to the university's academic database. This OpenAPI 3.0 description was derived faithfully from the live machine-readable USOS API reference (services/apiref/method_index and services/apiref/method) of the Warsaw installation, covering anonymous-access methods only. Most methods accept a "fields" selector (a pipe-separated list of result fields) and a "format" parameter (json, jsonp, xml). Many methods returning user or administrative data require OAuth 1.0a authorization and a Consumer Key/Secret obtained from the USOS developers portal; those are not described here. Field semantics, arguments and the error envelope shown below were confirmed against live responses on 2026-06-03. version: 7.3.0.0-4 contact: name: USOS API Team (University of Warsaw) url: https://usosapps.uw.edu.pl/developers/api/ email: dsksysadm@adm.uw.edu.pl license: name: USOS API Terms url: https://usosapps.uw.edu.pl/developers/api/ servers: - url: https://usosapps.uw.edu.pl/services description: University of Warsaw USOS API installation tags: - name: apisrv description: USOS API server information and time paths: /apisrv/now: get: tags: - apisrv operationId: getNow summary: Get current USOS API time description: Get the current USOS API server local time. Returns a DateTime string (yyyy-mm-dd hh:mm:ss.dddddd). Anonymous access; consumer and token are ignored. externalDocs: url: https://usosapps.uw.edu.pl/developers/api/services/apisrv/#now parameters: - $ref: '#/components/parameters/format' - $ref: '#/components/parameters/callback' responses: '200': description: Current server time as a DateTime string. content: application/json: schema: type: string example: '2026-06-04 05:26:17.217315' /apisrv/installation: get: tags: - apisrv operationId: getInstallation summary: Get information on this USOS API installation description: Get basic information on this USOS API installation. Anonymous access; consumer and token are ignored. externalDocs: url: https://usosapps.uw.edu.pl/developers/api/services/apisrv/#installation parameters: - name: fields in: query required: false description: Pipe-separated selector of result fields. Defaults to base_url|version|machine_version|usos_schema_version|institution_name|contact_emails. schema: type: string default: base_url|version|machine_version|usos_schema_version|institution_name|contact_emails - $ref: '#/components/parameters/format' - $ref: '#/components/parameters/callback' responses: '200': description: A dictionary of the selected installation fields. content: application/json: schema: $ref: '#/components/schemas/Installation' '400': $ref: '#/components/responses/Error' components: parameters: callback: name: callback in: query required: false description: Required only if jsonp is chosen as the return format. schema: type: string format: name: format in: query required: false description: Output format. See supported output formats in the USOS API datatypes documentation. schema: type: string enum: - json - jsonp - xml default: json responses: Error: description: USOS API error envelope. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: LangDict: type: object description: A language dictionary mapping ISO language codes to localized strings, as used throughout the USOS API. properties: pl: type: string description: Polish-language value. en: type: string description: English-language value. example: pl: Uniwersytet Warszawski en: The University of Warsaw Faculty: type: object description: A faculty or organizational unit. properties: id: type: string description: The ID of the faculty. name: allOf: - $ref: '#/components/schemas/LangDict' description: A LangDict object with the name of the faculty. profile_url: type: string format: uri description: Faculty's USOSweb URL. homepage_url: type: string format: uri nullable: true description: Faculty's home page URL. phone_numbers: type: array description: List of phone number strings (undocumented format). items: type: string phone_numbers2: type: array description: List of structured phone number objects. items: type: object properties: comment: type: string nullable: true number: type: string type: type: string postal_address: type: string nullable: true description: Short plain-text postal address, or null if unknown. email: type: string format: email nullable: true description: Faculty's email address. is_public: type: boolean description: Whether the faculty is public. Installation: type: object description: Information on a USOS API installation. properties: base_url: type: string description: Base URL of this installation. For backward compatibility this always starts with http://, but https:// should be used. version: type: string description: Human-readable version string (undocumented structure). machine_version: type: string description: Machine-readable version in 0.0.0.0-0 format. pattern: ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-[0-9]+$ usos_schema_version: type: string description: Version of the USOS database used by this installation. institution_name: allOf: - $ref: '#/components/schemas/LangDict' nullable: true description: Name of the owning institution, or null if unknown. institution: allOf: - $ref: '#/components/schemas/Faculty' description: The primary faculty object for this institution. contact_emails: type: array description: Email addresses of local USOS API administrators. items: type: string format: email schac_id: type: string description: Unique institution ID in SCHAC format (primary domain name). mcards_support: type: boolean description: True if mCards (mLegitymacje) are supported. mobile_usos_support: type: boolean description: True if Mobile USOS is supported. Error: type: object description: Error envelope returned by USOS API methods (confirmed against live responses, e.g. an unknown course_id returns object_not_found). properties: message: type: string description: Human-readable error message. error: type: string description: Machine-readable error code, e.g. object_not_found. reason: type: string description: Additional reason detail, e.g. the offending object type. example: message: Referenced course does not exist. error: object_not_found reason: course securitySchemes: oauth1a: type: apiKey in: query name: oauth_token description: USOS API uses OAuth 1.0a for authorized methods. A Consumer Key/Secret is obtained from the USOS developers portal (https://usosapps.uw.edu.pl/developers/), and an access token is obtained via the OAuth flow documented at https://usosapps.uw.edu.pl/developers/api/authorization/. The methods described in this file are anonymous and do not require it. externalDocs: description: USOS API developer documentation url: https://usosapps.uw.edu.pl/developers/api/