Kumospace Analytics API

The Analytics API from Kumospace — 2 operation(s) for analytics.

OpenAPI Specification

kumospace-analytics-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: '@kumo/api Account Analytics API'
  contact: {}
servers:
- url: /
tags:
- name: Analytics
paths:
  /v1/analytics/attendance:
    get:
      operationId: GetAnalytics
      responses:
        '200':
          description: a paginated list of attendance analytics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_HostAnalyticsRoomStat_'
      description: Returns room usage stats for a given space.
      summary: Attendance analytics for a given space
      tags:
      - Analytics
      security:
      - firebase: []
      parameters:
      - description: the name of the space
        in: query
        name: space
        required: true
        schema:
          type: string
      - description: an ISO8601 date-time.  (YYYY-MM-DDThh:mm:ssZ)
        in: query
        name: start
        required: true
        schema:
          format: date-time
          type: string
      - description: an ISO8601 date-time.  (YYYY-MM-DDThh:mm:ssZ)
        in: query
        name: end
        required: true
        schema:
          format: date-time
          type: string
  /v1/analytics/status:
    get:
      operationId: GetStatusAnalytics
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_AnalyticsEvent_'
      tags:
      - Analytics
      security:
      - firebase: []
      parameters:
      - in: query
        name: space
        required: true
        schema:
          type: string
      - in: query
        name: start
        required: true
        schema:
          format: date-time
          type: string
      - in: query
        name: end
        required: true
        schema:
          format: date-time
          type: string
      - in: query
        name: userId
        required: false
        schema:
          type: string
components:
  schemas:
    Availability:
      enum:
      - available
      - away
      - focusing
      type: string
    AnalyticsEvent:
      properties:
        duration:
          type: number
          format: double
        endTime:
          type: number
          format: double
        startTime:
          type: number
          format: double
        email:
          type: string
        displayName:
          type: string
        firebaseUid:
          type: string
        data:
          $ref: '#/components/schemas/Availability'
        type:
          $ref: '#/components/schemas/HostAnalyticsType.statusSession'
      required:
      - startTime
      - firebaseUid
      - data
      - type
      type: object
    PaginatedResponse_AnalyticsEvent_:
      description: A page of items.  Useful for breaking up a large dataset into smaller chunks.
      properties:
        items:
          items:
            $ref: '#/components/schemas/AnalyticsEvent'
          type: array
          description: The page of items.
        metadata:
          properties:
            count:
              type: number
              format: double
              description: The number of items sent.
            next:
              type: string
              description: 'A pagination cursor.  If specified, there is another page of results that

                can be requested by appending this value as a query parameter called

                "next".'
          required:
          - count
          type: object
          description: 'Metadata about the page of items.  Contains a pagination cursor called

            "next" if there is another page of items.'
      required:
      - items
      - metadata
      type: object
      additionalProperties: false
    HostAnalyticsRoomStat:
      properties:
        duration:
          type: number
          format: double
        userEmail:
          type: string
        userDisplayName:
          type: string
        userId:
          type: string
        roomDisplayName:
          type: string
        roomId:
          type: string
      required:
      - duration
      - userId
      - roomId
      type: object
    PaginatedResponse_HostAnalyticsRoomStat_:
      description: A page of items.  Useful for breaking up a large dataset into smaller chunks.
      properties:
        items:
          items:
            $ref: '#/components/schemas/HostAnalyticsRoomStat'
          type: array
          description: The page of items.
        metadata:
          properties:
            count:
              type: number
              format: double
              description: The number of items sent.
            next:
              type: string
              description: 'A pagination cursor.  If specified, there is another page of results that

                can be requested by appending this value as a query parameter called

                "next".'
          required:
          - count
          type: object
          description: 'Metadata about the page of items.  Contains a pagination cursor called

            "next" if there is another page of items.'
      required:
      - items
      - metadata
      type: object
      additionalProperties: false
    HostAnalyticsType.statusSession:
      enum:
      - statusSession
      type: string
  securitySchemes:
    firebase:
      type: http
      scheme: bearer
      bearerFormat: JWT