PHAIDRA directory API (University of Vienna)

Requests related to users, user groups and organisation structure

Operations 15

GET /directory/org_get_subunits Get subunits.
GET /directory/org_get_superunits Get superunits.
GET /directory/org_get_parentpath Get the parent path.
GET /directory/org_get_units Get organisation units
GET /directory/user/{username}/data Get user's basic data.
GET /directory/user/{username}/name Get user's full name.
GET /directory/user/{username}/email Get user's email
GET /directory/user/search Searches the user database.
GET /directory/user/data Returns current user's data.
GET /groups Get user's groups.
GET /group/{gid} Get group detail
POST /group/add Create new group
POST /group/{gid}/remove Delete specified group
POST /group/{gid}/members/add Add group members
POST /group/{gid}/members/remove Remove group members

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

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/university-of-vienna-directory-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 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.

OpenAPI Specification

university-of-vienna-directory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: PHAIDRA datastream Directory API
  version: '3.0'
  description: Documentation of the PHAIDRA API.
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-provenance:
    generated: '2026-08-30'
    method: searched
    source: >-
      PHAIDRA API v3.0, published Apache 2.0 by the PHAIDRA project (github.com/phaidra/phaidra-api, public/docs/openapi.json), the platform the University of Vienna authors and hosts. Pristine copy at
      openapi/_original/university-of-vienna-phaidra-api.yaml.
    x-operator: institution
    note: >-
      Split from the source contract by refine-openapis; servers[] re-based to the live production host on 2026-08-30 (see servers[].description).
servers:
- url: https://phaidra.univie.ac.at/api/
  description: University of Vienna PHAIDRA (current production base, re3data r3d100010472, verified 2026-08-30)
- description: RETIRED — returns HTTP 200 with a zero-length body on every path (soft-200), verified 2026-08-30
  url: https://services.phaidra.univie.ac.at/api/
- description: PHAIDRA Sandbox — connection timed out on probe 2026-08-30
  url: https://sandbox.phaidra.org/api/
tags:
- name: directory
  description: Requests related to users, user groups and organisation structure
paths:
  /directory/org_get_subunits:
    get:
      summary: Get subunits.
      description: Retrieves the subunits of an organization.
      tags:
      - directory
      parameters:
      - in: query
        name: id
        schema:
          type: string
          required: false
        description: unit id
      responses:
        '200':
          description: subunits
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  status:
                    type: number
                  subunits:
                    type: array
                    items:
                      $ref: '#/components/schemas/units'
  /directory/org_get_superunits:
    get:
      summary: Get superunits.
      description: Retrieves the superunits of an organization.
      tags:
      - directory
      parameters:
      - in: query
        name: id
        schema:
          type: string
          required: false
        description: unit id
      responses:
        '200':
          description: Units which are parent of the org unit.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: number
                  parent_id:
                    type: string
  /directory/org_get_parentpath:
    get:
      summary: Get the parent path.
      description: Retrieves the parent path of an organisation unit
      tags:
      - directory
      parameters:
      - in: query
        name: id
        schema:
          type: string
          required: false
        description: Parent id
      responses:
        '200':
          description: parent path
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: number
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  parentpath:
                    type: array
  /directory/org_get_units:
    get:
      summary: Get organisation units
      description: Get the list of the organisation units. They can then be used for example to find objects explicitly associated to, or to restrict rights for, a particular organisation unit.
      tags:
      - directory
      parameters:
      - in: query
        name: parent_id
        schema:
          type: string
          required: false
        description: Id of the parent unit. If not set, returns the top-level units.
      - in: query
        name: values_namespace
        schema:
          type: string
          required: false
        description: If provided, the values returned (in the 'uri' field) will be prefixed with the value of this parameter.
      responses:
        '200':
          description: units
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  status:
                    type: number
                  terms:
                    type: array
  /directory/user/{username}/data:
    get:
      summary: Get user's basic data.
      description: Returns basic data about the specified user (such as name, affiliation and organization unit).
      tags:
      - directory
      parameters:
      - in: path
        name: username
        schema:
          type: string
          required: true
        description: the user username
      responses:
        '200':
          description: user's details (name, affiliation, etc.)
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: number
                  user_data:
                    $ref: '#/components/schemas/user_data'
  /directory/user/{username}/name:
    get:
      summary: Get user's full name.
      description: Returns the name of a user.
      tags:
      - directory
      parameters:
      - in: path
        name: username
        schema:
          type: string
          required: true
        description: the user's username
      responses:
        '200':
          description: user's name
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: object
                  status:
                    type: number
  /directory/user/{username}/email:
    get:
      summary: Get user's email
      description: Returns the user's email
      tags:
      - directory
      parameters:
      - in: path
        name: username
        schema:
          type: string
          required: true
        description: the user username
      responses:
        '200':
          description: user's email
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  status:
                    type: number
  /directory/user/search:
    get:
      summary: Searches the user database.
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: query
        name: q
        schema:
          type: string
          required: true
        description: query (it will be automatically suffixed with *)
      responses:
        '200':
          description: returns accounts details. Only the first 50 results are returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  hits:
                    type: number
                  accounts:
                    type: array
                    items:
                      type: object
                      properties:
                        uid:
                          type: string
                        value:
                          type: string
                        type:
                          type: string
                  status:
                    type: number
  /directory/user/data:
    get:
      summary: Returns current user's data.
      tags:
      - directory
      security:
      - basicAuth: []
      responses:
        '200':
          description: returns account details of user (from credentials)
          content:
            application/json:
              schema:
                type: object
                properties:
                  user_data:
                    $ref: '#/components/schemas/user_data'
                  status:
                    type: number
  /groups:
    get:
      summary: Get user's groups.
      description: Retrieves all user's groups.
      tags:
      - directory
      security:
      - basicAuth: []
      responses:
        '200':
          description: returns the user's groups (user credentials needed)
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/groups'
  /group/{gid}:
    get:
      summary: Get group detail
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: path
        name: gid
        schema:
          type: string
        description: gid - group id
      responses:
        '200':
          description: group detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/group'
  /group/add:
    post:
      summary: Create new group
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: query
        name: name
        schema:
          type: string
          required: true
        description: name of the group
      responses:
        '200':
          description: group detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/group'
  /group/{gid}/remove:
    post:
      summary: Delete specified group
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: path
        name: gid
        schema:
          type: string
          required: false
        description: gid - group id
      responses:
        '200':
          description: group removed
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/group'
  /group/{gid}/members/add:
    post:
      summary: Add group members
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: path
        name: gid
        schema:
          type: string
          required: false
        description: gid - group id
      requestBody:
        description: JSON containing usernames to add, {"members":["username"]}
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                members:
                  type: object
                  properties:
                    members:
                      type: array
                      items:
                        type: string
                        example: username1
              description: members JSON
      responses:
        '200':
          description: group detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/group'
  /group/{gid}/members/remove:
    post:
      summary: Remove group members
      tags:
      - directory
      security:
      - basicAuth: []
      parameters:
      - in: path
        name: gid
        schema:
          type: string
          required: false
        description: gid - group id
      requestBody:
        description: JSON containing usernames to remove, {"members":["username"]}
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                members:
                  type: object
                  properties:
                    members:
                      type: array
                      items:
                        type: string
                        example: username1
      responses:
        '200':
          description: group detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  alerts:
                    type: array
                    items:
                      type: object
                      properties:
                        msg:
                          type: string
                        type:
                          type: string
                  groups:
                    $ref: '#/components/schemas/group'
components:
  schemas:
    group:
      type: object
      properties:
        owner:
          type: string
        members:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              username:
                type: string
        created:
          type: number
        name:
          type: string
        updated:
          type: number
        groupid:
          type: string
        _id:
          type: object
          properties:
            $oid:
              type: string
    groups:
      type: array
      items:
        type: object
        properties:
          created:
            type: number
          name:
            type: string
          updated:
            type: number
          groupid:
            type: string
    user_data:
      type: object
      properties:
        org_units_l1:
          type: array
          items:
            type: string
        firstname:
          type: string
        lastname:
          type: string
        username:
          type: string
        email:
          type: string
        org_units_l2:
          type: array
          items:
            type: string
    units:
      type: object
      properties:
        '@id':
          type: string
        '@type':
          type: string
        skos:notation:
          type: string
        skos:prefLabel:
          type: object
          properties:
            deu:
              type: string
            eng:
              type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: X-XSRF-TOKEN
    basicAuth:
      type: http
      scheme: basic