SUMS REST API

A REST API published by Georgia Tech's SUMS system (sums.gatech.edu), built on the OutSystems low-code platform. The API help page responds HTTP 200 but operation-level documentation is not exposed publicly.

OpenAPI Specification

georgia-institute-of-technology-sums.yaml Raw ↑
openapi: 3.0.3
info:
  title: Georgia Tech SUMS REST API
  description: REST API published by Georgia Tech's SUMS system (Shared User Management
    System), built on the OutSystems low-code platform. Converted faithfully from
    the published Swagger 2.0 document at https://sums.gatech.edu/SUMSAPI/rest/API/swagger.json.
  version: '1'
servers:
- url: https://sums.gatech.edu/SUMSAPI/rest/API
paths:
  /Add_User_By_Username:
    post:
      tags:
      - API
      operationId: Add_User_By_Username
      parameters:
      - name: icalID
        in: query
        required: false
        schema:
          type: string
          default: ''
      - name: CreatorUsername
        in: query
        required: true
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                default: ''
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/TextRecord'
  /ContactForms:
    get:
      tags:
      - API
      operationId: ContactForms
      parameters:
      - name: TrainingTestId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      - name: APIKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: StartDate
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2014-12-31'
      - name: EndDate
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2014-12-31'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/QuestionAnswersStructure'
  /equipmentGroup_info:
    post:
      tags:
      - API
      operationId: equipmentGroup_info
      parameters:
      - name: equipmentGroupId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TextLongIntegerTextTextRecord'
  /equipmentGroup_queueGroups:
    post:
      tags:
      - API
      operationId: equipmentGroup_queueGroups
      parameters:
      - name: authorization
        in: header
        required: true
        schema:
          type: string
          default: ''
      - name: DepartmentID
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      - name: userName
        in: query
        required: true
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LongIntegerBooleanTextRecord'
  /equipmentGroup_queueUsers:
    post:
      tags:
      - API
      operationId: equipmentGroup_queueUsers
      parameters:
      - name: authorization
        in: header
        required: true
        schema:
          type: string
          default: ''
      - name: DepartmentID
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      - name: userName
        in: query
        required: true
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BooleanBooleanIntegerTextIntegerTextIntegerTextRecord'
  /equipmentGroup_tools:
    post:
      tags:
      - API
      operationId: equipmentGroup_tools
      parameters:
      - name: DepartmentID
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      - name: authorization
        in: header
        required: true
        schema:
          type: string
          default: ''
      - name: userName
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: Keywords
        in: query
        required: false
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TextTextDepartmentIdentifierTextTextRecordListTextTextLocationsIdentifierTextTextPhoneNumberTextTextTextToolIdentifierTextBooleanTextTextRecordListRecord'
  /GetToolStatus:
    get:
      tags:
      - API
      operationId: GetToolStatus
      parameters:
      - name: ToolId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                default: ''
          headers:
            ContentType:
              schema:
                type: string
                default: ''
  /GetTrainingReport:
    get:
      tags:
      - API
      operationId: GetTrainingReport
      parameters:
      - name: EGId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      - name: StartDate
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2014-12-31'
      - name: EndDate
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2014-12-31'
      - name: EGKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                default: ''
          headers:
            ContentType:
              schema:
                type: string
                default: ''
  /GetUserNameAndEmailByBuzzCardNumber:
    get:
      tags:
      - API
      operationId: GetUserNameAndEmailByBuzzCardNumber
      parameters:
      - name: BuzzCardNumber
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailTextRecord'
  /ToolCheckLoggedIn:
    get:
      tags:
      - API
      operationId: ToolCheckLoggedIn
      parameters:
      - name: ToolId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                default: ''
  /TrainingInfo:
    get:
      tags:
      - API
      operationId: TrainingInfo
      parameters:
      - name: EGKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: ToolId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TrainingInfoAPIStructure'
  /UpdateUserTemplate:
    post:
      tags:
      - API
      operationId: UpdateUserTemplate
      parameters:
      - name: EGKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: GTUsername
        in: query
        required: false
        schema:
          type: string
          default: ''
      - name: TemplateName
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: RemoveFromTemplate
        in: query
        required: false
        description: Input for removing user from template based off of GTUsername
          and TemplateName
        schema:
          type: boolean
          example: false
      responses:
        '200':
          description: ErrorMessage Text
          content:
            text/plain:
              schema:
                type: string
                default: ''
                description: ErrorMessage Text
          headers:
            isSuccess:
              schema:
                type: boolean
                x-example: false
                description: Success True/False
  /user_info:
    get:
      tags:
      - API
      operationId: user_info
      parameters:
      - name: userName
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: EGKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: EGId
        in: query
        required: true
        schema:
          type: integer
          format: int32
          example: 0
      responses:
        '200':
          description: Successful response
          content:
            text/plain:
              schema:
                type: string
                default: ''
          headers:
            ContentType:
              schema:
                type: string
                default: ''
  /WhoLoggedIn:
    get:
      tags:
      - API
      operationId: WhoLoggedIn
      parameters:
      - name: ToolId
        in: query
        required: false
        schema:
          type: integer
          format: int32
          example: 0
      - name: DateTime
        in: query
        required: false
        schema:
          type: string
          format: date-time
          example: '2014-12-31T23:59:59.938Z'
      - name: EGKey
        in: query
        required: true
        schema:
          type: string
          default: ''
      - name: GTUsername
        in: query
        required: false
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegerWhoLoggedInListListRecord'
components:
  schemas:
    BooleanBooleanIntegerTextIntegerTextIntegerTextRecord:
      description: ''
      type: object
      properties:
        memberName:
          type: string
          default: ''
        memberUserName:
          type: string
          default: ''
        queueName:
          type: string
          default: ''
        hasBeenNotified:
          type: boolean
          example: false
        isGroup:
          type: boolean
          example: false
        memberMinutesRemaining:
          type: integer
          example: 0
          format: int32
        memberQueueLocation:
          type: integer
          example: 0
          format: int32
        queueGroupId:
          type: integer
          example: 0
          format: int32
    EmailTextRecord:
      description: ''
      type: object
      properties:
        UserName:
          type: string
          default: ''
        UserEmail:
          type: string
          default: ''
    IntegerWhoLoggedInListListRecord:
      description: ''
      type: object
      properties:
        WhoLoggedInListList:
          type: array
          items:
            $ref: '#/components/schemas/WhoLoggedInList'
        Count:
          type: integer
          example: 0
          format: int32
    LongIntegerBooleanTextRecord:
      description: ''
      type: object
      properties:
        name:
          type: string
          default: ''
        id:
          type: integer
          example: 1234567891234567
          format: int64
        isGroup:
          type: boolean
          example: false
    QuestionAnswersStructure:
      description: ''
      type: object
      properties:
        Responder:
          type: string
          default: ''
        DateTime:
          type: string
          format: date-time
          example: '2014-12-31T23:59:59.938Z'
        Responses:
          type: array
          items:
            $ref: '#/components/schemas/ResponsesStructure'
    ResponsesStructure:
      description: ''
      type: object
      properties:
        Question:
          type: string
          default: ''
        Response:
          type: string
          default: ''
    TextLongIntegerTextTextRecord:
      description: ''
      type: object
      properties:
        equipmentGroupDescriptionHtml:
          type: string
          default: ''
        equipmentGroupName:
          type: string
          default: ''
        equipmentGroupShortName:
          type: string
          default: ''
        equipmentGroupId:
          type: integer
          example: 1234567891234567
          format: int64
    TextRecord:
      description: ''
      type: object
      properties:
        Username:
          type: string
          default: ''
    TextRecord2:
      description: ''
      type: object
      properties:
        Text:
          type: string
          default: ''
    ? TextTextDepartmentIdentifierTextTextRecordListTextTextLocationsIdentifierTextTextPhoneNumberTextTextTextToolIdentifierTextBooleanTextTextRecordListRecord
    : description: ''
      type: object
      properties:
        equipmentGroupId:
          type: integer
          example: 0
          format: int32
        locationId:
          type: integer
          example: 0
          format: int32
        toolId:
          type: integer
          example: 0
          format: int32
        currentUserUserName:
          type: string
          default: ''
        equipmentGroupDescription:
          type: string
          default: ''
        equipmentGroupName:
          type: string
          default: ''
        locationAddress:
          type: string
          default: ''
        locationDescription:
          type: string
          default: ''
        locationManager:
          type: string
          default: ''
        locationName:
          type: string
          default: ''
        locationUrl:
          type: string
          default: ''
        toolCurrentUser:
          type: string
          default: ''
        toolDescription:
          type: string
          default: ''
        toolInUseSince:
          type: string
          default: ''
        toolName:
          type: string
          default: ''
        locationPhone:
          type: string
          default: ''
        toolIsOperational:
          type: boolean
          example: false
        HeroImageURLs:
          type: array
          items:
            $ref: '#/components/schemas/TextRecord2'
        Trainers:
          type: array
          items:
            $ref: '#/components/schemas/TextRecord2'
    TrainingInfoAPIStructure:
      description: ''
      type: object
      properties:
        Training_Module_Status:
          type: string
          default: ''
        Training_Module_Type:
          type: string
          default: ''
        TrainingDateTime:
          type: string
          default: ''
          description: For training session/checkoff, date/time marked atttended.
            For all other training types when the training attempt was made.
        Researcher:
          type: string
          default: ''
        Tool:
          type: string
          default: ''
        Training_Module_Name:
          type: string
          default: ''
        isHasAccessToTool:
          type: boolean
          example: false
    WhoLoggedInList:
      description: ''
      type: object
      properties:
        EndDateTime:
          type: string
          format: date-time
          example: '2014-12-31T23:59:59.938Z'
        ToolName:
          type: string
          default: ''
        StartDateTime:
          type: string
          format: date-time
          example: '2014-12-31T23:59:59.938Z'
        ResearcherName:
          type: string
          default: ''
        ToolId:
          type: integer
          example: 0
          format: int32