University of Warsaw apiref API

Machine-readable method reference

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

university-of-warsaw-apiref-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: USOS API (University of Warsaw) apiref 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: apiref
  description: Machine-readable method reference
paths:
  /apiref/method_index:
    get:
      tags:
      - apiref
      operationId: getMethodIndex
      summary: List all available USOS API methods
      description: Returns a list of all methods available in this installation, each with a name and a brief description. Anonymous access.
      externalDocs:
        url: https://usosapps.uw.edu.pl/developers/api/services/apiref/#method_index
      parameters:
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/callback'
      responses:
        '200':
          description: List of method index entries.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MethodIndexEntry'
  /apiref/method:
    get:
      tags:
      - apiref
      operationId: getMethod
      summary: Get the reference for a single USOS API method
      description: Returns the machine-readable reference for a single method, including its arguments, returned fields, authentication options and errors. Anonymous access.
      externalDocs:
        url: https://usosapps.uw.edu.pl/developers/api/services/apiref/#method
      parameters:
      - name: name
        in: query
        required: true
        description: Full method name, e.g. services/courses/course.
        schema:
          type: string
          example: services/courses/course
      - name: fields
        in: query
        required: false
        description: Pipe-separated selector of reference fields, e.g. name|brief_description|arguments|result_fields.
        schema:
          type: string
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/callback'
      responses:
        '200':
          description: Method reference object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MethodReference'
        '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
  schemas:
    MethodReference:
      type: object
      description: Machine-readable reference for a single method.
      properties:
        name:
          type: string
        brief_description:
          type: string
        description:
          type: string
        ref_url:
          type: string
          format: uri
        auth_options:
          $ref: '#/components/schemas/AuthOptions'
        arguments:
          type: array
          items:
            $ref: '#/components/schemas/MethodArgument'
        returns:
          type: string
        errors:
          type: string
        result_fields:
          type: array
          items:
            $ref: '#/components/schemas/ResultField'
    MethodIndexEntry:
      type: object
      description: A single entry in the method index.
      properties:
        name:
          type: string
          description: Full method name, e.g. services/courses/course.
        brief_description:
          type: string
          description: Short description of the method.
    ResultField:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        is_primary:
          type: boolean
        is_secondary:
          type: boolean
    MethodArgument:
      type: object
      properties:
        name:
          type: string
        is_required:
          type: boolean
        is_deprecated:
          type: boolean
        type:
          type: string
        default_value:
          type: string
          nullable: true
        description:
          type: string
    AuthOptions:
      type: object
      description: Authentication requirements for a method.
      properties:
        consumer:
          type: string
          description: Consumer requirement (e.g. ignored, required, optional).
        token:
          type: string
          description: Token requirement (e.g. ignored, required, optional).
        administrative_only:
          type: boolean
        ssl_required:
          type: boolean
        scopes:
          type: array
          items:
            type: string
    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
  responses:
    Error:
      description: USOS API error envelope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  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/