Emory University user API

user resource

OpenAPI Specification

emory-user-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Girder REST API (Emory Digital Slide Archive) annotation user API
  version: 3.2.14
  description: OpenAPI 3.0 conversion of the Girder REST API powering the Emory Digital Slide Archive (computablebrain). Converted faithfully from the live Swagger 2.0 document at https://computablebrain.emory.edu/api/v1/describe.
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
servers:
- url: https://computablebrain.emory.edu/api/v1
tags:
- description: user resource
  name: user
paths:
  /user:
    get:
      operationId: user_find_user
      parameters:
      - name: text
        in: query
        required: false
        description: Pass this to perform a full text search for items.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Result set size limit.
        schema:
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        required: false
        description: Offset into result set.
        schema:
          type: integer
          format: int32
          default: 0
      - name: sort
        in: query
        required: false
        description: Field to sort the result set by.
        schema:
          type: string
          default: lastName
      - name: sortdir
        in: query
        required: false
        description: 'Sort order: 1 for ascending, -1 for descending.'
        schema:
          type: integer
          format: int32
          enum:
          - 1
          - -1
          default: 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/User'
                type: array
        '400':
          description: A parameter was invalid.
      summary: List or search for users.
      tags:
      - user
    post:
      operationId: user_createUser_post_user
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: A parameter was invalid, or the specified login or email already exists in the system.
      summary: Create a new user.
      tags:
      - user
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                login:
                  type: string
                  description: The user's requested login.
                email:
                  type: string
                  description: The user's email address.
                firstName:
                  type: string
                  description: The user's first name.
                lastName:
                  type: string
                  description: The user's last name.
                password:
                  type: string
                  format: password
                  description: The user's requested password
                admin:
                  type: boolean
                  default: false
                  description: Whether this user should be a site administrator.
              required:
              - login
              - email
              - firstName
              - lastName
              - password
  /user/authentication:
    delete:
      description: Attempts to delete your authentication cookie.
      operationId: user_logout_delete_authentication
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Token'
        '400':
          description: A parameter was invalid.
      summary: Log out of the system.
      tags:
      - user
      parameters: []
    get:
      description: Pass your username and password using HTTP Basic Auth. Sends a cookie that should be passed back in future requests.
      operationId: user_login_authentication
      parameters:
      - name: Girder-OTP
        in: header
        required: false
        description: A one-time password for this user
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: Missing Authorization header.
        '403':
          description: Invalid login or password.
      summary: Log in to the system.
      tags:
      - user
  /user/details:
    get:
      operationId: user_getUsersDetails_details
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
      summary: Get detailed information of accessible users.
      tags:
      - user
      parameters: []
  /user/me:
    get:
      operationId: user_getMe_me
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: A parameter was invalid.
      summary: Retrieve the currently logged-in user information.
      tags:
      - user
      parameters: []
  /user/password:
    put:
      operationId: user_changePassword_put_password
      parameters: []
      responses:
        '200':
          description: Success
        '400':
          description: Your new password is invalid.
        '401':
          description: 'You are not logged in.


            Your old password is incorrect.'
      summary: Change your password.
      tags:
      - user
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                old:
                  type: string
                  format: password
                  description: Your current password or a temporary access token.
                new:
                  type: string
                  format: password
                  description: Your new password.
              required:
              - old
              - new
  /user/password/temporary:
    put:
      operationId: user_generateTemporaryPassword_put_password_temporary
      parameters:
      - name: email
        in: query
        required: true
        description: Your email address.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: That email does not exist in the system.
      summary: Create a temporary access token for a user.  The user's password is not changed.
      tags:
      - user
  /user/password/temporary/{id}:
    get:
      operationId: user_checkTemporaryPassword_password_temporary_id
      parameters:
      - name: id
        in: path
        required: true
        description: The user ID to check.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: The token does not grant temporary access to the specified user.
      summary: Check if a specified token is a temporary access token for the specified user.  If the token is valid, returns information on the token and user.
      tags:
      - user
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: The token to check.
              required:
              - token
  /user/verification:
    post:
      operationId: user_sendVerificationEmail_post_verification
      parameters:
      - name: login
        in: query
        required: true
        description: Your login or email address.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: That login is not registered.
      summary: Send verification email.
      tags:
      - user
  /user/{id}:
    delete:
      operationId: user_deleteUser_delete_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: You do not have permission to delete this user.
      summary: Delete a user by ID.
      tags:
      - user
    get:
      operationId: user_getUser_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '400':
          description: ID was invalid.
        '403':
          description: You do not have permission to see this user.
      summary: Get a user by ID.
      tags:
      - user
    put:
      operationId: user_updateUser_put_id
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: firstName
        in: query
        required: true
        description: First name of the user.
        schema:
          type: string
      - name: lastName
        in: query
        required: true
        description: Last name of the user.
        schema:
          type: string
      - name: email
        in: query
        required: true
        description: The email of the user.
        schema:
          type: string
      - name: admin
        in: query
        required: false
        description: Is the user a site admin (admin access required)
        schema:
          type: boolean
      - name: status
        in: query
        required: false
        description: The account status (admin access required)
        schema:
          type: string
          enum:
          - pending
          - enabled
          - disabled
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: 'You do not have write access for this user.


            Must be an admin to create an admin.'
      summary: Update a user's information.
      tags:
      - user
  /user/{id}/details:
    get:
      operationId: user_getUserDetails_id_details
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: Read access was denied on the user.
      summary: Get detailed information about a user.
      tags:
      - user
  /user/{id}/otp:
    delete:
      operationId: user_removeOtp_delete_id_otp
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: Admin access was denied on the user.
      summary: Disable one-time passwords for this user.
      tags:
      - user
    post:
      operationId: user_initializeOtp_post_id_otp
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: Admin access was denied on the user.
      summary: Initiate the enablement of one-time passwords for this user.
      tags:
      - user
    put:
      operationId: user_finalizeOtp_put_id_otp
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      - name: Girder-OTP
        in: header
        required: true
        description: A one-time password for this user
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: A parameter was invalid.
        '403':
          description: Admin access was denied on the user.
      summary: Finalize the enablement of one-time passwords for this user.
      tags:
      - user
  /user/{id}/password:
    put:
      description: Only administrators may use this endpoint.
      operationId: user_changeUserPassword_put_id_password
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the document.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: The new password is invalid.
        '403':
          description: You are not an administrator.
      summary: Change a user's password.
      tags:
      - user
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                password:
                  type: string
                  format: password
                  description: The user's new password.
              required:
              - password
  /user/{id}/quota:
    get:
      operationId: user_getUserQuota_id_quota
      parameters:
      - name: id
        in: path
        required: true
        description: The user ID
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
      summary: Get quota and assetstore policies for the user.
      tags:
      - user
    put:
      operationId: user_setUserQuota_put_id_quota
      parameters:
      - name: id
        in: path
        required: true
        description: The user ID
        schema:
          type: string
      - name: policy
        in: query
        required: true
        description: A JSON object containing the policies.  This is a dictionary of keys and values.  Any key that is not specified does not change.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '400':
          description: ID was invalid.
        '403':
          description: Read permission denied on the user.
      summary: Set quota and assetstore policies for the user.
      tags:
      - user
  /user/{id}/verification:
    put:
      operationId: user_verifyEmail_put_id_verification
      parameters:
      - name: id
        in: path
        required: true
        description: The user ID to check.
        schema:
          type: string
      responses:
        '200':
          description: Success
        '401':
          description: The token is invalid or expired.
      summary: Verify an email address using a token.
      tags:
      - user
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: The token to check.
              required:
              - token
components:
  schemas:
    Token:
      type: object
    User:
      type: object
  securitySchemes:
    Girder-Token:
      in: header
      name: Girder-Token
      type: apiKey