Emory University user API

user resource

Operations 21

GET /user List or search for users. #
POST /user Create a new user. #
DELETE /user/authentication Log out of the system. #
GET /user/authentication Log in to the system. #
GET /user/details Get detailed information of accessible users. #
GET /user/me Retrieve the currently logged-in user information. #
PUT /user/password Change your password. #
PUT /user/password/temporary Create a temporary access token for a user. The user's password is not changed. #
GET /user/password/temporary/{id} 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. #
POST /user/verification Send verification email. #
DELETE /user/{id} Delete a user by ID. #
GET /user/{id} Get a user by ID. #
PUT /user/{id} Update a user's information. #
GET /user/{id}/details Get detailed information about a user. #
DELETE /user/{id}/otp Disable one-time passwords for this user. #
POST /user/{id}/otp Initiate the enablement of one-time passwords for this user. #
PUT /user/{id}/otp Finalize the enablement of one-time passwords for this user. #
PUT /user/{id}/password Change a user's password. #
GET /user/{id}/quota Get quota and assetstore policies for the user. #
PUT /user/{id}/quota Set quota and assetstore policies for the user. #
PUT /user/{id}/verification Verify an email address using a token. #

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/emory-user-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

emory-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Girder REST API (Emory Digital Slide Archive) 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:
    User:
      type: object
    Token:
      type: object
  securitySchemes:
    Girder-Token:
      in: header
      name: Girder-Token
      type: apiKey