Bigeye Virtual Table Service API

The VirtualTableService API from Bigeye — 5 operation(s) for virtualtableservice.

OpenAPI Specification

bigeye-virtualtableservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metadata Virtual Table Service API
  version: version not set
servers:
- url: https://app.bigeye.com
security:
- basicAuth: []
- Personal_API_Key: []
tags:
- name: VirtualTableService
paths:
  /api/v1/virtual-tables:
    get:
      operationId: VirtualTableService_GetAllVirtualTables
      parameters:
      - in: query
        name: workspaceId
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTableList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Get all Virtual Tables
      tags:
      - VirtualTableService
    post:
      operationId: VirtualTableService_CreateVirtualTable
      requestBody:
        $ref: '#/components/requestBodies/generatedVirtualTableRequest'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTable'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Create a Virtual Table
      tags:
      - VirtualTableService
  /api/v1/virtual-tables/{id}:
    delete:
      operationId: VirtualTableService_DeleteVirtualTable
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedEmpty'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Delete Virtual Table
      tags:
      - VirtualTableService
    get:
      operationId: VirtualTableService_GetVirtualTable
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTable'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Get a Virtual Table
      tags:
      - VirtualTableService
    put:
      operationId: VirtualTableService_UpdateVirtualTable
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        $ref: '#/components/requestBodies/generatedVirtualTableRequest'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTable'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Update a Virtual Table
      tags:
      - VirtualTableService
  /api/v1/virtual-tables/status/{workflowId}:
    get:
      operationId: VirtualTableService_GetVirtualTableCreateStatus
      parameters:
      - in: path
        name: workflowId
        required: true
        schema:
          type: string
      - in: query
        name: runId
        required: false
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTableWorkflowV2StatusResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Get status of Virtual Table Creation workflow
      tags:
      - VirtualTableService
  /api/v1/virtual-tables/fetch:
    post:
      operationId: VirtualTableService_GetVirtualTables
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/generatedGetVirtualTableListRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedGetVirtualTableListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Get Virtual Tables
      tags:
      - VirtualTableService
  /api/v1/virtual-tables/queue:
    post:
      operationId: VirtualTableService_QueueCreateVirtualTable
      requestBody:
        $ref: '#/components/requestBodies/generatedVirtualTableRequest'
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/generatedVirtualTableWorkflowV2StatusResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      summary: Queue creation of a Virtual Table
      tags:
      - VirtualTableService
components:
  schemas:
    generatedVirtualTable:
      properties:
        sqlQuery:
          type: string
        table:
          $ref: '#/components/schemas/generatedTable'
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
      title: '*

        Representation of a virtual table made from a SQL query'
      type: object
    generatedEmpty:
      type: object
    generatedTag:
      properties:
        colorHex:
          title: 'color_hex includes a # prefix (e.g. “#181818” is correct, “181818” is incorrect)'
          type: string
        createdAt:
          format: int64
          type: string
        id:
          format: int32
          type: integer
        name:
          type: string
        updatedAt:
          format: int64
          type: string
        workspaceId:
          format: int32
          type: integer
      title: Tags
      type: object
    generatedSortDirection:
      default: SORT_DIRECTION_UNSPECIFIED
      enum:
      - SORT_DIRECTION_UNSPECIFIED
      - SORT_DIRECTION_ASCENDING
      - SORT_DIRECTION_DESCENDING
      title: Unspecified will default to ASCENDING
      type: string
    generatedSchema:
      description: '*

        Representation of a schema in a warehouse.'
      properties:
        dataNodeId:
          format: int32
          type: integer
        databaseType:
          $ref: '#/components/schemas/generatedWarehouseType'
        id:
          format: int32
          type: integer
        indexByTable:
          type: boolean
        isFavorite:
          type: boolean
        isVirtual:
          type: boolean
        latestMetricTimeValue:
          format: int64
          type: string
        logicalSizeBytes:
          format: int64
          type: string
        name:
          type: string
        numQueriesLatestPeriod:
          format: int32
          type: integer
        popularityScore:
          format: double
          type: number
        schemaChangeInfo:
          $ref: '#/components/schemas/generatedSchemaChangeInfo'
        sizeLastUpdatedAtMillis:
          format: int64
          type: string
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
        warehouseId:
          format: int32
          type: integer
        warehouseName:
          type: string
      type: object
    generatedTable:
      description: '*

        Representation of a table in a warehouse.'
      properties:
        columns:
          items:
            $ref: '#/components/schemas/generatedTableColumn'
          type: array
        dataNodeId:
          format: int32
          type: integer
        databaseName:
          type: string
        id:
          format: int32
          type: integer
        isFavorite:
          type: boolean
        latestMetricTimeValue:
          format: int64
          type: string
        logicalSizeBytes:
          format: int64
          type: string
        metricTimeColumn:
          $ref: '#/components/schemas/generatedTableColumn'
        name:
          type: string
        numQueriesLatestPeriod:
          format: int32
          type: integer
        popularityScore:
          format: double
          type: number
        requiresPartitionFilter:
          type: boolean
        schema:
          $ref: '#/components/schemas/generatedSchema'
        schemaChangeInfo:
          $ref: '#/components/schemas/generatedSchemaChangeInfo'
        schemaId:
          format: int32
          type: integer
        schemaName:
          type: string
        sizeLastUpdatedAtMillis:
          format: int64
          type: string
        tableType:
          $ref: '#/components/schemas/generatedTableType'
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
        usesAgent:
          type: boolean
        warehouseId:
          format: int32
          type: integer
        warehouseName:
          type: string
        warehouseVendor:
          $ref: '#/components/schemas/generatedWarehouseType'
      type: object
    generatedPaginationInfo:
      properties:
        firstSortDistinctValues:
          format: int64
          type: string
        nextCursor:
          type: string
        noNumRecords:
          type: boolean
        numRecords:
          format: int32
          type: integer
        prevCursor:
          type: string
      type: object
    generatedVirtualTableRequest:
      properties:
        name:
          type: string
        sql:
          type: string
        warehouseId:
          format: int32
          type: integer
      type: object
    generatedTableColumn:
      description: '*

        Representation of a column in a table.'
      properties:
        canBeMetricTime:
          type: boolean
        dataNodeId:
          format: int32
          type: integer
        extendedType:
          type: string
        fullType:
          type: string
        id:
          format: int32
          type: integer
        isFavorite:
          type: boolean
        isKeyInJoin:
          type: boolean
        isMetricTime:
          type: boolean
        isNullable:
          type: boolean
        isPartitionField:
          type: boolean
        name:
          type: string
        parentColumnId:
          format: int32
          type: integer
        schemaChangeInfo:
          $ref: '#/components/schemas/generatedSchemaChangeInfo'
        tags:
          items:
            $ref: '#/components/schemas/generatedTag'
          type: array
        type:
          type: string
      type: object
    protobufAny:
      properties:
        typeUrl:
          type: string
        value:
          format: byte
          type: string
      type: object
    generatedGetVirtualTableListRequest:
      properties:
        ignoreFields:
          type: boolean
        pageCursor:
          type: string
        pageSize:
          format: int32
          type: integer
        schemaIds:
          items:
            format: int32
            type: integer
          type: array
        search:
          type: string
        sortDirection:
          $ref: '#/components/schemas/generatedSortDirection'
        sortField:
          $ref: '#/components/schemas/generatedVirtualTableSortField'
        sourceIds:
          items:
            format: int32
            type: integer
          type: array
        tableIds:
          items:
            format: int32
            type: integer
          type: array
        workspaceId:
          format: int32
          type: integer
      type: object
    generatedWorkflowV2StatusResponse:
      properties:
        completedAt:
          format: int64
          type: string
        error:
          type: string
        startedAt:
          format: int64
          type: string
        status:
          $ref: '#/components/schemas/generatedWorkflowProcessingStatus'
        workflowV2Id:
          $ref: '#/components/schemas/generatedWorkflowV2Id'
      type: object
    generatedGetVirtualTableListResponse:
      properties:
        paginationInfo:
          $ref: '#/components/schemas/generatedPaginationInfo'
        virtualTables:
          items:
            $ref: '#/components/schemas/generatedVirtualTable'
          type: array
      type: object
    generatedSchemaChangeInfo:
      properties:
        initialSchemaScanAt:
          format: int64
          type: string
        lastSchemaChangeAt:
          format: int64
          type: string
        mostRecentSchemaScanAt:
          format: int64
          type: string
      type: object
    generatedWorkflowV2Id:
      properties:
        runId:
          type: string
        workflowId:
          type: string
      type: object
    generatedWarehouseType:
      default: DATABASE_TYPE_UNSPECIFIED
      enum:
      - DATABASE_TYPE_UNSPECIFIED
      - DATABASE_TYPE_AWS_ATHENA
      - DATABASE_TYPE_BIGQUERY
      - DATABASE_TYPE_DATABRICKS
      - DATABASE_TYPE_MYSQL
      - DATABASE_TYPE_ORACLE
      - DATABASE_TYPE_POSTGRES
      - DATABASE_TYPE_PRESTO
      - DATABASE_TYPE_REDSHIFT
      - DATABASE_TYPE_SAP_HANA
      - DATABASE_TYPE_SNOWFLAKE
      - DATABASE_TYPE_SQL_SERVER
      - DATABASE_TYPE_SYNAPSE
      - DATABASE_TYPE_ROCKSET
      - DATABASE_TYPE_VERTICA
      - DATABASE_TYPE_AVATICA
      - DATABASE_TYPE_DB2
      - DATABASE_TYPE_TERADATA
      - DATABASE_TYPE_NETEZZA
      - DATABASE_TYPE_SALESFORCE
      type: string
    generatedVirtualTableWorkflowV2StatusResponse:
      properties:
        statusResponse:
          $ref: '#/components/schemas/generatedWorkflowV2StatusResponse'
        virtualTable:
          $ref: '#/components/schemas/generatedVirtualTable'
      type: object
    generatedVirtualTableList:
      properties:
        virtualTables:
          items:
            $ref: '#/components/schemas/generatedVirtualTable'
          type: array
      title: '*

        Representation of a list of virtual tables for API purposes'
      type: object
    generatedWorkflowProcessingStatus:
      default: WORKFLOW_PROCESSING_STATUS_UNSPECIFIED
      enum:
      - WORKFLOW_PROCESSING_STATUS_UNSPECIFIED
      - WORKFLOW_PROCESSING_STATUS_QUEUED
      - WORKFLOW_PROCESSING_STATUS_IN_PROGRESS
      - WORKFLOW_PROCESSING_STATUS_COMPLETED
      - WORKFLOW_PROCESSING_STATUS_PARTIAL_FAILURE
      - WORKFLOW_PROCESSING_STATUS_FAILED
      - WORKFLOW_PROCESSING_STATUS_TIMED_OUT
      type: string
    runtimeError:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: '#/components/schemas/protobufAny'
          type: array
        error:
          type: string
        message:
          type: string
      type: object
    generatedTableType:
      default: TABLE_TYPE_UNSPECIFIED
      enum:
      - TABLE_TYPE_UNSPECIFIED
      - TABLE_TYPE_TABLE
      - TABLE_TYPE_VIEW
      - TABLE_TYPE_VIRTUAL
      - TABLE_TYPE_CUSTOM_RULE
      type: string
    generatedVirtualTableSortField:
      default: VIRTUAL_TABLE_SORT_FIELD_UNSPECIFIED
      enum:
      - VIRTUAL_TABLE_SORT_FIELD_UNSPECIFIED
      - VIRTUAL_TABLE_SORT_FIELD_NAME
      - VIRTUAL_TABLE_SORT_FIELD_LAST_SCHEMA_CHANGE
      - VIRTUAL_TABLE_SORT_FIELD_FAVORITE
      type: string
  requestBodies:
    generatedVirtualTableRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/generatedVirtualTableRequest'
      required: true
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    Agent_API_Key:
      description: Add 'apikey ' to the beginning of your api key
      in: header
      name: Authorization
      type: apiKey
    Personal_API_Key:
      description: Add 'apikey ' to the beginning of your api key
      in: header
      name: Authorization
      type: apiKey