University of Warsaw calendar API

Academic calendar events

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

university-of-warsaw-calendar-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: USOS API (University of Warsaw) apiref calendar 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: calendar
  description: Academic calendar events
paths:
  /calendar/search:
    get:
      tags:
      - calendar
      operationId: searchCalendar
      summary: Search academic calendar events
      description: Search calendar events, optionally filtered by faculty and date range. Returns a list of calendar event objects.
      externalDocs:
        url: https://usosapps.uw.edu.pl/developers/api/services/calendar/#search
      parameters:
      - name: faculty_id
        in: query
        required: false
        description: ID of a faculty to filter events by.
        schema:
          type: string
      - name: start_date
        in: query
        required: false
        description: Start of the date range (yyyy-mm-dd).
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        required: false
        description: End of the date range (yyyy-mm-dd).
        schema:
          type: string
          format: date
      - name: fields
        in: query
        required: false
        description: Pipe-separated selector of result fields.
        schema:
          type: string
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/callback'
      responses:
        '200':
          description: List of calendar event objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CalendarEvent'
        '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:
    CalendarEvent:
      type: object
      description: An academic calendar event.
      properties:
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
        name:
          $ref: '#/components/schemas/LangDict'
        type:
          type: string
        is_day_off:
          type: boolean
    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
    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/