University of California, Davis Equipment API

The Equipment API from University of California, Davis — 17 operation(s) for equipment.

OpenAPI Specification

uc-davis-equipment-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: PEAKS API v1 Access Equipment API
  description: People Equipment Access Keys Space
  contact:
    name: Application Support
    url: https://caeshelp.ucdavis.edu/?appname=Peaks
  license:
    name: MIT
    url: https://github.com/ucdavis/Peaks/blob/master/LICENSE
  version: v1
  ProjectUrl: https://github.com/ucdavis/Peaks/
servers:
- url: https://peaks.ucdavis.edu
  description: PEAKS production API
tags:
- name: Equipment
paths:
  /api/{teamName}/equipment/Search:
    get:
      tags:
      - Equipment
      parameters:
      - name: q
        in: query
        schema:
          type: string
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/SearchAttributes:
    get:
      tags:
      - Equipment
      parameters:
      - name: q
        in: query
        schema:
          type: string
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/GetEquipmentInSpace:
    get:
      tags:
      - Equipment
      parameters:
      - name: spaceId
        in: query
        schema:
          type: integer
          format: int32
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/CommonAttributeKeys:
    get:
      tags:
      - Equipment
      parameters:
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EquipmentAttributeKey'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/ListEquipmentTypes:
    get:
      tags:
      - Equipment
      parameters:
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Type'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/ListAssigned:
    get:
      tags:
      - Equipment
      parameters:
      - name: personId
        in: query
        schema:
          type: integer
          format: int32
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/List:
    get:
      tags:
      - Equipment
      summary: List all equipments for a team
      parameters:
      - name: filter
        in: query
        description: 0 = ShowActive, 1 = ShowInactive, 2 = ShowAll. Defaults to Show Active
        schema:
          $ref: '#/components/schemas/Filter'
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Details/{id}:
    get:
      tags:
      - Equipment
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: showDeleted
        in: query
        schema:
          type: boolean
          default: false
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Create:
    post:
      tags:
      - Equipment
      parameters:
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Equipment'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Duplicate:
    post:
      tags:
      - Equipment
      parameters:
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Equipment'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Assign:
    post:
      tags:
      - Equipment
      parameters:
      - name: equipmentId
        in: query
        schema:
          type: integer
          format: int32
      - name: personId
        in: query
        schema:
          type: integer
          format: int32
      - name: date
        in: query
        schema:
          type: string
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Update:
    post:
      tags:
      - Equipment
      parameters:
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Equipment'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Revoke/{id}:
    post:
      tags:
      - Equipment
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/Delete/{id}:
    post:
      tags:
      - Equipment
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Equipment'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/GetHistory/{id}:
    get:
      tags:
      - Equipment
      summary: Takes the top 5 history records
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        schema:
          type: integer
          format: int32
      - name: max
        in: query
        description: Defaults to 5
        schema:
          type: integer
          format: int32
          default: 5
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/History'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/GetComputer/{id}:
    get:
      tags:
      - Equipment
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceNowPropertyWrapper'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
  /api/{teamName}/equipment/GetComputersBySearch:
    get:
      tags:
      - Equipment
      parameters:
      - name: value
        in: query
        schema:
          type: string
      - name: teamName
        in: path
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: access token
        required: true
        schema:
          type: string
          default: ApiKey
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceNowPropertyWrapper'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
      - ApiKey:
        - EquipMasterAccess
components:
  schemas:
    ICustomAttributeProvider:
      type: object
      additionalProperties: false
    KeySerial:
      required:
      - name
      - number
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          maxLength: 64
          minLength: 0
          type: string
        notes:
          type: string
          nullable: true
        tags:
          type: string
          nullable: true
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        active:
          type: boolean
        number:
          maxLength: 64
          minLength: 0
          type: string
        status:
          type: string
          nullable: true
        key:
          $ref: '#/components/schemas/Key'
        keyId:
          type: integer
          format: int32
        keySerialAssignment:
          $ref: '#/components/schemas/KeySerialAssignment'
        keySerialAssignmentId:
          type: integer
          format: int32
          nullable: true
        title:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    FinancialOrganization:
      required:
      - chart
      - orgCode
      - team
      type: object
      properties:
        id:
          type: integer
          format: int32
        chart:
          maxLength: 1
          minLength: 0
          type: string
        orgCode:
          maxLength: 4
          minLength: 0
          type: string
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        chartAndOrg:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    CustomAttributeData:
      type: object
      properties:
        attributeType:
          $ref: '#/components/schemas/Type'
        constructor:
          $ref: '#/components/schemas/ConstructorInfo'
        constructorArguments:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttributeTypedArgument'
          nullable: true
          readOnly: true
        namedArguments:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttributeNamedArgument'
          nullable: true
          readOnly: true
      additionalProperties: false
    ConstructorInfo:
      type: object
      properties:
        name:
          type: string
          nullable: true
          readOnly: true
        declaringType:
          $ref: '#/components/schemas/Type'
        reflectedType:
          $ref: '#/components/schemas/Type'
        module:
          $ref: '#/components/schemas/Module'
        customAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttributeData'
          nullable: true
          readOnly: true
        isCollectible:
          type: boolean
          readOnly: true
        metadataToken:
          type: integer
          format: int32
          readOnly: true
        attributes:
          $ref: '#/components/schemas/MethodAttributes'
        methodImplementationFlags:
          $ref: '#/components/schemas/MethodImplAttributes'
        callingConvention:
          $ref: '#/components/schemas/CallingConventions'
        isAbstract:
          type: boolean
          readOnly: true
        isConstructor:
          type: boolean
          readOnly: true
        isFinal:
          type: boolean
          readOnly: true
        isHideBySig:
          type: boolean
          readOnly: true
        isSpecialName:
          type: boolean
          readOnly: true
        isStatic:
          type: boolean
          readOnly: true
        isVirtual:
          type: boolean
          readOnly: true
        isAssembly:
          type: boolean
          readOnly: true
        isFamily:
          type: boolean
          readOnly: true
        isFamilyAndAssembly:
          type: boolean
          readOnly: true
        isFamilyOrAssembly:
          type: boolean
          readOnly: true
        isPrivate:
          type: boolean
          readOnly: true
        isPublic:
          type: boolean
          readOnly: true
        isConstructedGenericMethod:
          type: boolean
          readOnly: true
        isGenericMethod:
          type: boolean
          readOnly: true
        isGenericMethodDefinition:
          type: boolean
          readOnly: true
        containsGenericParameters:
          type: boolean
          readOnly: true
        methodHandle:
          $ref: '#/components/schemas/RuntimeMethodHandle'
        isSecurityCritical:
          type: boolean
          readOnly: true
        isSecuritySafeCritical:
          type: boolean
          readOnly: true
        isSecurityTransparent:
          type: boolean
          readOnly: true
        memberType:
          $ref: '#/components/schemas/MemberTypes'
      additionalProperties: false
    RuntimeFieldHandle:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/IntPtr'
      additionalProperties: false
    RuntimeMethodHandle:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/IntPtr'
      additionalProperties: false
    FieldInfo:
      type: object
      properties:
        name:
          type: string
          nullable: true
          readOnly: true
        declaringType:
          $ref: '#/components/schemas/Type'
        reflectedType:
          $ref: '#/components/schemas/Type'
        module:
          $ref: '#/components/schemas/Module'
        customAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttributeData'
          nullable: true
          readOnly: true
        isCollectible:
          type: boolean
          readOnly: true
        metadataToken:
          type: integer
          format: int32
          readOnly: true
        memberType:
          $ref: '#/components/schemas/MemberTypes'
        attributes:
          $ref: '#/components/schemas/FieldAttributes'
        fieldType:
          $ref: '#/components/schemas/Type'
        isInitOnly:
          type: boolean
          readOnly: true
        isLiteral:
          type: boolean
          readOnly: true
        isNotSerialized:
          type: boolean
          readOnly: true
        isPinvokeImpl:
          type: boolean
          readOnly: true
        isSpecialName:
          type: boolean
          readOnly: true
        isStatic:
          type: boolean
          readOnly: true
        isAssembly:
          type: boolean
          readOnly: true
        isFamily:
          type: boolean
          readOnly: true
        isFamilyAndAssembly:
          type: boolean
          readOnly: true
        isFamilyOrAssembly:
          type: boolean
          readOnly: true
        isPrivate:
          type: boolean
          readOnly: true
        isPublic:
          type: boolean
          readOnly: true
        isSecurityCritical:
          type: boolean
          readOnly: true
        isSecuritySafeCritical:
          type: boolean
          readOnly: true
        isSecurityTransparent:
          type: boolean
          readOnly: true
        fieldHandle:
          $ref: '#/components/schemas/RuntimeFieldHandle'
      additionalProperties: false
    TeamApiCode:
      required:
      - team
      type: object
      properties:
        id:
          type: integer
          format: int32
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        apiCode:
          type: string
          format: uuid
      additionalProperties: false
    TeamPermission:
      required:
      - role
      - team
      - user
      type: object
      properties:
        id:
          type: integer
          format: int32
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        user:
          $ref: '#/components/schemas/User'
        userId:
          type: string
          nullable: true
        role:
          $ref: '#/components/schemas/Role'
        roleId:
          type: integer
          format: int32
      additionalProperties: false
    WorkstationAttribute:
      type: object
      properties:
        id:
          type: integer
          format: int32
        workstation:
          $ref: '#/components/schemas/Workstation'
        workstationId:
          type: integer
          format: int32
        key:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    Document:
      required:
      - name
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          maxLength: 64
          minLength: 0
          type: string
        notes:
          type: string
          nullable: true
        tags:
          type: string
          nullable: true
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        active:
          type: boolean
        title:
          type: string
          nullable: true
          readOnly: true
        person:
          $ref: '#/components/schemas/Person'
        personId:
          type: integer
          format: int32
        envelopeId:
          type: string
          nullable: true
        templateId:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
          nullable: true
        accountId:
          type: string
          nullable: true
        apiBasePath:
          type: string
          nullable: true
      additionalProperties: false
    AccessAssignment:
      type: object
      properties:
        id:
          type: integer
          format: int32
        person:
          $ref: '#/components/schemas/Person'
        personId:
          type: integer
          format: int32
        requestedAt:
          type: string
          format: date-time
        requestedBy:
          $ref: '#/components/schemas/User'
        requestedById:
          type: string
          nullable: true
        requestedByName:
          type: string
          nullable: true
        approvedAt:
          type: string
          format: date-time
          nullable: true
        expiresAt:
          type: string
          format: date-time
        isConfirmed:
          type: boolean
        confirmedAt:
          type: string
          format: date-time
          nullable: true
        nextNotificationDate:
          type: string
          format: date-time
          nullable: true
        accessId:
          type: integer
          format: int32
        access:
          $ref: '#/components/schemas/Access'
      additionalProperties: false
    MethodImplAttributes:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 8
      - 16
      - 32
      - 64
      - 128
      - 256
      - 512
      - 4096
      - 65535
      type: integer
      format: int32
    FieldAttributes:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 16
      - 32
      - 64
      - 128
      - 256
      - 512
      - 1024
      - 4096
      - 8192
      - 32768
      - 38144
      type: integer
      format: int32
    Filter:
      enum:
      - 0
      - 1
      - 2
      type: integer
      format: int32
    PropertyInfo:
      type: object
      properties:
        name:
          type: string
          nullable: true
          readOnly: true
        declaringType:
          $ref: '#/components/schemas/Type'
        reflectedType:
          $ref: '#/components/schemas/Type'
        module:
          $ref: '#/components/schemas/Module'
        customAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttributeData'
          nullable: true
          readOnly: true
        isCollectible:
          type: boolean
          readOnly: true
        metadataToken:
          type: integer
          format: int32
          readOnly: true
        memberType:
          $ref: '#/components/schemas/MemberTypes'
        propertyType:
          $ref: '#/components/schemas/Type'
        attributes:
          $ref: '#/components/schemas/PropertyAttributes'
        isSpecialName:
          type: boolean
          readOnly: true
        canRead:
          type: boolean
          readOnly: true
        canWrite:
          type: boolean
          readOnly: true
        getMethod:
          $ref: '#/components/schemas/MethodInfo'
        setMethod:
          $ref: '#/components/schemas/MethodInfo'
      additionalProperties: false
    MethodAttributes:
      enum:
      - 0
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 16
      - 32
      - 64
      - 128
      - 256
      - 512
      - 1024
      - 2048
      - 4096
      - 8192
      - 16384
      - 32768
      - 53248
      type: integer
      format: int32
    CallingConventions:
      enum:
      - 1
      - 2
      - 3
      - 32
      - 64
      type: integer
      format: int32
    Team:
      required:
      - name
      - slug
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          maxLength: 128
          minLength: 0
          type: string
        slug:
          maxLength: 40
          minLength: 3
          pattern: ^([a-z0-9]+[a-z0-9\-]?)+[a-z0-9]$
          type: string
        boardingNotificationEmail:
          maxLength: 256
          minLength: 0
          type: string
          format: email
          nullable: true
        people:
          type: array
          items:
            $ref: '#/components/schemas/Person'
          nullable: true
        teamPermissions:
          type: array
          items:
            $ref: '#/components/schemas/TeamPermission'
          nullable: true
        fisOrgs:
          type: array
          items:
            $ref: '#/components/schemas/FinancialOrganization'
          nullable: true
        ppsDepartments:
          type: array
          items:
            $ref: '#/components/schemas/TeamPpsDepartment'
          nullable: true
        groups:
          type: array
          items:
            $ref: '#/components/schemas/GroupXTeam'
          nullable: true
        teamApiCode:
          $ref: '#/components/schemas/TeamApiCode'
        documentAccountName:
          type: string
          nullable: true
        documentAccountId:
          type: string
          nullable: true
        documentApiBasePath:
          type: string
          nullable: true
      additionalProperties: false
    ModuleHandle:
      type: object
      properties:
        mdStreamVersion:
          type: integer
          format: int32
          readOnly: true
      additionalProperties: false
    GroupPermission:
      required:
      - group
      - user
      type: object
      properties:
        id:
          type: integer
          format: int32
        group:
          $ref: '#/components/schemas/Group'
        groupId:
          type: integer
          format: int32
        user:
          $ref: '#/components/schemas/User'
        userId:
          type: string
          nullable: true
      additionalProperties: false
    EquipmentAttribute:
      type: object
      properties:
        id:
          type: integer
          format: int32
        equipment:
          $ref: '#/components/schemas/Equipment'
        equipmentId:
          type: integer
          format: int32
        key:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
    Access:
      required:
      - name
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          maxLength: 64
          minLength: 0
          type: string
        notes:
          type: string
          nullable: true
        tags:
          type: string
          nullable: true
        team:
          $ref: '#/components/schemas/Team'
        teamId:
          type: integer
          format: int32
        active:
          type: boolean
        title:
          type: string
          nullable: true
          readOnly: true
        assignments:
          type: array
          items:
            $ref: '#/components/schemas/AccessAssignment'
          nullable: true
      additionalProperties: false
    MemberTypes:
      enum:
      - 1
      - 2
      - 4
      - 8
      - 16
      - 32
      - 64
      - 128
      - 191
      type: integer
      format: int32
    ParameterAttributes:
      enum:
      - 0
      - 1
      - 2
      - 4
      - 8
      - 16
      - 4096
      - 8192
      - 16384
      - 32768
      - 61440
      type: integer
      format: int32

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uc-davis/refs/heads/main/openapi/uc-davis-equipment-api-openapi.yml