University of Chicago user API

User information

OpenAPI Specification

university-of-chicago-user-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fence OpenAPI Specification admin/ user API
  version: 0.1.0
  description: Access management for Gen3 data commons. Code is available on [GitHub](https://github.com/uc-cdis/fence).
  termsOfService: http://cdis.uchicago.edu/terms/
  contact:
    email: cdis@uchicago.edu
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://example.domain/
tags:
- name: user
  description: User information
paths:
  /user:
    get:
      tags:
      - user
      summary: Return info about the current user
      description: '**IMPORTANT NOTE**: These docs are provided as a courtesy but do _NOT_ include the entirety of the OIDC Standard simply because of its length and complexity.

        Please [refer to the standard](https://openid.net/specs/openid-connect-core-1_0.html) for complete details.'
      security:
      - OAuth2:
        - user
      operationId: getUserInfo
      responses:
        '200':
          description: successful operation
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UserInfo'
components:
  schemas:
    UserInfo:
      type: object
      required:
      - user_id
      - idp
      - sub
      - username
      - name
      - display_name
      - preferred_username
      - phone_number
      - email
      - is_admin
      - role
      - project_access
      - certificates_uploaded
      - resources_granted
      - groups
      - message
      properties:
        user_id:
          type: number
          description: This value is deprecated in favor of sub.
        idp:
          type: string
          description: 'The Identity Provider used to autheticate the user. Given instances of Fence

            may or may not have all of these available (the set of IDPs available is a configuration).


            * *google* - Google/GSuite

            * *ras* - NIH''s Researcher Auth Service (RAS)

            * *itrust* - NIH Login / iTrust / eRA Commons

            * *fence* - Upstream Fence (the idp used depends on the specific configuration, consult the Gen3 Operators)

            * *orcid* - ORCHID

            * *microsoft* - Microsoft

            * *elixir* - Elixir

            * *synapse* - Synapse

            * *cognito* - AWS Cognito

            * More may be added in the future...

            '
        sub:
          type: string
          description: Subject Identifier. A locally unique and never reassigned identifier within the Issuer for the end-user.
        username:
          type: string
          description: This value is deprecated in favor of name.
        name:
          type: string
          description: The full name of the end-user.
        display_name:
          type: string
          description: The display name of the end-user.
        preferred_username:
          type: string
          description: The preferred username of the end-user.
        phone_number:
          type: string
          description: The phone number of the end-user.
        email:
          type: string
          description: The email of the end-user
        is_admin:
          type: boolean
          description: Boolean value stating if end-user is an admin or not
        active:
          type: boolean
          description: Boolean value stating if user is active or not
        role:
          type: string
          description: ''
        project_access:
          type: object
          description: This value is deprecated in favor of authz and resources.
        certificates_uploaded:
          type: array
          items:
            type: string
        resources_granted:
          type: array
          items:
            type: string
        groups:
          type: array
          items:
            type: string
        message:
          type: string
        primary_google_service_account:
          type: string
          description: email address of the users primary service account used for signing URLs
        authz:
          type: object
          description: end user authorization information, mapping of resource name to list of permission, service roles
        resources:
          type: array
          items:
            type: string
          description: list of resource paths the user has access to
        tags:
          type: object
          description: User's tags
        azp:
          type: string
          description: authorized party - the party to which the ID token was issued.
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          tokenUrl: /oauth/token
          scopes:
            user: generic user access