Select Star tables API

The tables API from Select Star — 10 operation(s) for tables.

OpenAPI Specification

select-star-tables-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Select Star Metadata bi tables API
  version: 1.0.0
  x-role-system:
    description: This API uses role-based access control
    roles:
      admin: Full access to all operations
      data_manager: Can modify data and configurations
      user: Read-only access to most resources
  description: API for interacting with the Select Star system
  termsOfService: https://www.selectstar.com/terms-of-service
  contact:
    email: support@selectstar.com
  license:
    name: All Rights Reserved
tags:
- name: tables
paths:
  /v1/tables/:
    get:
      operationId: tables_list
      description: 'List of the tables available in authenticated user''s organization


        **Required Role:** Viewer or higher'
      parameters:
      - name: cloud_object_format
        required: false
        in: query
        description: Filter to only return the entities with the specific file format for the cloud objects.
        schema:
          type: string
      - name: collections
        required: false
        in: query
        description: A comma separated list of collection guids, for to filter the collection items from
        schema:
          type: string
          pattern: ^(cn)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: databases
        required: false
        in: query
        description: A comma separated list of database guids to filter for items within those databases.
        schema:
          type: string
          pattern: ^(db)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: datasources
        required: false
        in: query
        description: A comma separated list of data sources guids to filter for tables.
        schema:
          type: string
          pattern: ^(ds)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: dbt_projects_names
        required: false
        in: query
        description: A comma separated list of dbt project names
        schema:
          type: string
      - name: dbt_tags
        required: false
        in: query
        description: A comma separated list of tag guids
        schema:
          type: string
          pattern: ^(tg)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: dsuser_created_by
        required: false
        in: query
        description: A comma separated list of Data Source Users guids to filter for element creator. Allowed Values include DSUser GUIDs + 'known_users' + 'unknown_users'
        schema:
          type: string
      - name: filenames
        required: false
        in: query
        description: A comma separated list of source file names
        schema:
          type: string
      - name: folders
        required: false
        in: query
        description: A list of dbt project guids to filter thesetables for. The returned values will be dbt models
        schema:
          type: string
          pattern: ^(df)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: include_counts
        required: false
        in: query
        description: Calculate and include total object counts in the response.
        schema:
          type: boolean
          default: true
      - name: is_hidden
        required: false
        in: query
        description: A boolean to show hidden objects when true and hide hidden objects when false. Defaults to False.
        schema:
          type: string
      - name: last_queried_on
        required: false
        in: query
        description: "Filter objects by last_queried_on. May specify __gt, __gte, __lt or __lte.\n\n API call to: \n\n ENDPOINT/last_queried_on__gt=2021-08-04T15:12:40&last_queried_on__lt=2021-08-23 \n\n will result with objects last_queried_on after  August 4th 2021 at 15:12:40, but before August 23rd 2021. \n\n. If you want to include lower or upper bound of the range use __gte or __lte respectively."
        schema:
          type: string
      - name: new
        required: false
        in: query
        description: A boolean which filters for newest tables in the organization.
        schema:
          type: string
      - name: no_business_owner
        required: false
        in: query
        description: A flag that filters out any table that has a business owner.
        schema:
          type: string
      - name: no_description
        required: false
        in: query
        description: A flag that filters out any tables with descriptions
        schema:
          type: string
      - name: no_downstream_lineage
        required: false
        in: query
        description: A flag that shows only tables with no downstream lineage
        schema:
          type: string
      - name: no_popularity
        required: false
        in: query
        description: A flag that filters out any table that has a popularity rating.
        schema:
          type: string
      - name: no_tags
        required: false
        in: query
        description: A flag that filters out any tagged tables
        schema:
          type: string
      - name: no_technical_owner
        required: false
        in: query
        description: A flag that filters out any table that has a technical owner.
        schema:
          type: string
      - name: no_upstream_lineage
        required: false
        in: query
        description: A flag that shows only tables with no upstream lineage
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: "Specify the ordering for the results. \n\n A comma separated list for ordering by multiple fields and a preceding `-` indicates reverse order. \n\nNote: Order is case-sensitive."
        schema:
          type: string
          enum:
          - business_owner
          - bytes
          - collection
          - description
          - downstream_dashboards
          - downstream_objects_total
          - impact_score
          - is_custom
          - label
          - name
          - popularity
          - row_count
          - schema
          - technical_owner
          - upstream_objects_total
      - name: owners
        required: false
        in: query
        description: A comma separated list of user or team guids to filter for objects within these users as owners (technical or business).
        schema:
          type: string
          pattern: ^(us|te)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: popularity
        required: false
        in: query
        description: A comma separated list of popularity ranges (inclusive) can include integers from 1-100 ex) 1-10,90-100 would be the bottom 10 percent and the top 10 percent, respectively. Ranges can overlap.
        schema:
          type: string
      - name: schemas
        required: false
        in: query
        description: A comma separated list of schema guids to filter for tables within those schemas.
        schema:
          type: string
          pattern: ^(cl)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: search_all
        required: false
        in: query
        description: Search a table with multiple types of params in one go
        schema:
          type: string
      - name: search_business_owner
        required: false
        in: query
        description: Search for an asset using business owner name
        schema:
          type: string
      - name: search_collections
        required: false
        in: query
        description: Search for an asset using a collection name
        schema:
          type: string
      - name: search_description
        required: false
        in: query
        description: Search for an asset using its description
        schema:
          type: string
      - name: search_location
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: Search for tables given a table name (upto data source name)
        schema:
          type: string
      - name: search_tag_name
        required: false
        in: query
        description: Search for an asset using a tag name
        schema:
          type: string
      - name: search_technical_owner
        required: false
        in: query
        description: Search for an asset using technical owner name
        schema:
          type: string
      - name: status_tags
        required: false
        in: query
        description: A comma separated list of tag guids
        schema:
          type: string
          pattern: ^(tg)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: tables
        required: false
        in: query
        description: A list of table guids to filter for
        schema:
          type: string
          pattern: ^(ta)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: teams
        required: false
        in: query
        description: A comma separated list of team guids to filter for tables owned by users of those teams.
        schema:
          type: string
          pattern: ^(te)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: updated_on
        required: false
        in: query
        description: "Filter objects by updated_on. May specify __gt, __gte, __lt or __lte.\n\n API call to: \n\n ENDPOINT/updated_on__gt=2021-08-04T15:12:40&updated_on__lt=2021-08-23 \n\n will result with objects updated_on after  August 4th 2021 at 15:12:40, but before August 23rd 2021. \n\n. If you want to include lower or upper bound of the range use __gte or __lte respectively."
        schema:
          type: string
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTableList'
          description: ''
      x-role-requirements: Viewer or higher
  /v1/tables/{guid}/:
    get:
      operationId: tables_retrieve
      description: 'Retrieve a single table


        **Required Role:** Viewer or higher'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Table'
          description: ''
      x-role-requirements: Viewer or higher
    patch:
      operationId: tables_partial_update
      description: 'Update a single table


        **Required Role:** Data Manager or higher'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTableRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTableRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTableRequest'
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Table'
          description: ''
      x-role-requirements: Data Manager or higher
  /v1/tables/{guid}/frequent-bi-dsusers/:
    get:
      operationId: tables_frequent_bi_dsusers_retrieve
      description: 'Get the most frequent BI users that query a table.


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrequentDSUser'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
  /v1/tables/{guid}/frequent-dsusers/:
    get:
      operationId: tables_frequent_dsusers_retrieve
      description: 'Get the most frequent data source users and associated Select Star users (if any) that query specified table


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrequentDSUser'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
  /v1/tables/{guid}/frequent-teams/:
    get:
      operationId: tables_frequent_teams_retrieve
      description: 'Get the teams that most frequently query the specified table.


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
  /v1/tables/{guid}/frequent-users/:
    get:
      operationId: tables_frequent_users_retrieve
      description: 'Get the most frequent users that query specified table


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrequentUser'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
  /v1/tables/{guid}/related-dashboards/:
    get:
      operationId: tables_related_dashboards_list
      description: 'Gets a list of related dashboards given a table_guid


        **Required Role:** Viewer or higher'
      parameters:
      - name: distance
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: path
        name: guid
        schema:
          type: string
          pattern: ^([a-zA-z]{2}_[a-zA-Z0-9]{22})|me|default|([a-zA-z]{2}_[a-zA-Z0-9]{22}).personal$
        required: true
      - name: include_hidden
        required: false
        in: query
        description: A flag allowing to include hidden dashboards in the response.
        schema:
          type: boolean
      - name: order
        required: false
        in: query
        description: "Specify the ordering for the results. \n\n A comma separated list for ordering by multiple fields and a preceding `-` indicates reverse order. \n\nNote: Order is case-sensitive."
        schema:
          type: string
          enum:
          - dashboard_updated_at
          - distance
          - dsuser_created_by
          - last_run_at
          - last_run_or_viewed_at
          - name
          - popularity
          - rank
          - view_count
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: relevant_lineage
        required: false
        in: query
        description: When `relevant_lineage` is `true`, we only use edges between columns to traverse the graph. Requires relevant lineage to be enabled in the organization; the flag is ignored otherwise.
        schema:
          type: boolean
      - name: search_all
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: search_dsuser_created_by
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: updated_on
        required: false
        in: query
        description: "Filter objects by updated_on. May specify __gt, __gte, __lt or __lte.\n\n API call to: \n\n ENDPOINT/updated_on__gt=2021-08-04T15:12:40&updated_on__lt=2021-08-23 \n\n will result with objects updated_on after  August 4th 2021 at 15:12:40, but before August 23rd 2021. \n\n. If you want to include lower or upper bound of the range use __gte or __lte respectively."
        schema:
          type: string
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedTableRelatedDashboardList'
          description: ''
      x-role-requirements: Viewer or higher
  /v1/tables/export/:
    get:
      operationId: tables_export_retrieve
      description: 'Returns a CSV with data to export.


        **Required Role:** Viewer or higher'
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            text/csv:
              schema:
                $ref: '#/components/schemas/Table'
          description: ''
      x-role-requirements: Viewer or higher
  /v1/tables/frequent-dsusers/:
    get:
      operationId: tables_frequent_dsusers_list
      description: 'Get the most frequent data source users and associated Select Star users (if any) that query a list of tables


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - name: datasources
        required: false
        in: query
        description: A comma separated list of data source guids to filter for items within those data sources.
        schema:
          type: string
          pattern: ^(ds)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: only_registered_users
        required: false
        in: query
        description: A flag to hide DSUsers with no association with registered application users
        schema:
          type: string
      - name: order
        required: false
        in: query
        description: "Specify the ordering for the results. \n\n A comma separated list for ordering by multiple fields and a preceding `-` indicates reverse order. \n\nNote: Order is case-sensitive."
        schema:
          type: string
          enum:
          - last_queried
          - name
          - query_count
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: require_email
        required: false
        in: query
        description: A flag to hide DSUsers with no associated registered user nor email
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - name: type
        required: false
        in: query
        description: A comma separated list of data source types to filter for dsusers within that type
        schema:
          type: string
      tags:
      - tables
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFrequentDSUserList'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
  /v1/tables/owners/:
    patch:
      operationId: tables_owners_partial_update
      description: 'Update table owners


        **Required Role:** Data Manager or higher'
      tags:
      - tables
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedTableOwnersBulkEditRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedTableOwnersBulkEditRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedTableOwnersBulkEditRequest'
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableOwnersBulkEdit'
          description: ''
      x-role-requirements: Data Manager or higher
components:
  schemas:
    Breadcrumb:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        target_guid:
          type: string
          maxLength: 256
        target_name:
          type: string
          readOnly: true
        target_object_type:
          type: string
        target_data_type:
          type: string
        target_data_source_guid:
          type: string
          nullable: true
          readOnly: true
        target_data_source_type:
          allOf:
          - $ref: '#/components/schemas/TargetDataSourceTypeEnum'
          nullable: true
        ordinal:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Ordering of breadcrumb within the table
      required:
      - target_data_source_guid
      - target_data_type
      - target_guid
      - target_name
      - target_object_type
    DescriptionSourceEnum:
      enum:
      - user
      - ingestion
      - ai
      - public_docs
      - lineage
      - downstream_lineage
      - upstream_lineage
      - similarity
      - unknown
      type: string
      description: '* `user` - User

        * `ingestion` - Ingestion

        * `ai` - Ai

        * `public_docs` - Public Docs

        * `lineage` - Lineage

        * `downstream_lineage` - Downstream Lineage

        * `upstream_lineage` - Upstream Lineage

        * `similarity` - Similarity

        * `unknown` - Unknown'
    TableRelatedDashboard:
      type: object
      properties:
        dashboard:
          $ref: '#/components/schemas/DashboardLite'
        rank:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Determines order of this Related Dashboard within the Explore it refers to.
        distance:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Distance between the table and the dashboard in the lineage graph, excluding other BI objects.
      required:
      - dashboard
      - rank
    DatabasePopularity:
      type: object
      properties:
        timeframe:
          type: integer
          readOnly: true
          default: 90
        user_count:
          type: integer
          readOnly: true
        service_query_count:
          type: integer
          readOnly: true
        popularity:
          type: integer
          readOnly: true
          description: Popularity score for this object from 0-100
        query_count:
          type: integer
      required:
      - popularity
      - query_count
      - service_query_count
      - timeframe
      - user_count
    PaginatedTableList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/Table'
    TableOwnersBulkEditSerializer.GuidReferenceField.business_owner:
      anyOf:
      - $ref: '#/components/schemas/DSUserName'
      - $ref: '#/components/schemas/Team'
      - $ref: '#/components/schemas/UserLite'
      discriminator:
        propertyName: object_type
        mapping:
          dsuser: '#/components/schemas/DSUserName'
          team: '#/components/schemas/Team'
          user: '#/components/schemas/UserLite'
    DashboardLiteSerializer.GuidReferenceField.business_owner:
      anyOf:
      - $ref: '#/components/schemas/DSUserName'
      - $ref: '#/components/schemas/Team'
      - $ref: '#/components/schemas/UserLite'
      discriminator:
        propertyName: object_type
        mapping:
          dsuser: '#/components/schemas/DSUserName'
          team: '#/components/schemas/Team'
          user: '#/components/schemas/UserLite'
    CloudObjectTypeEnum:
      enum:
      - s3
      - unsupported
      type: string
      description: '* `s3` - s3

        * `unsupported` - unsupported'
    TaggedItemsLiteSerializer.GuidReferenceField.item:
      $ref: '#/components/schemas/BaseMetadata'
    TableOwnersBulkEditSerializer.GuidReferenceField.technical_owner:
      anyOf:
      - $ref: '#/components/schemas/DSUserName'
      - $ref: '#/components/schemas/Team'
      - $ref: '#/components/schemas/UserLite'
      discriminator:
        propertyName: object_type
        mapping:
          dsuser: '#/components/schemas/DSUserName'
          team: '#/components/schemas/Team'
          user: '#/components/schemas/UserLite'
    BIFolder:
      type: object
      description: 'Adds support for reading a description from metadata

        that support modifying description'
      properties:
        guid:
          type: string
          maxLength: 25
        data_source:
          $ref: '#/components/schemas/DataSourceInfo'
        name:
          type: string
          maxLength: 1024
        description:
          type: string
          nullable: true
          description: Active description
        dsuser_created_by:
          $ref: '#/components/schemas/DSUser'
        breadcrumbs:
          type: array
          items:
            $ref: '#/components/schemas/Breadcrumb'
          readOnly: true
        data_types:
          allOf:
          - $ref: '#/components/schemas/BaseType'
          readOnly: true
      required:
      - breadcrumbs
      - data_source
      - data_types
      - name
    Team:
      type: object
      properties:
        guid:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 100
        description:
          type: string
          nullable: true
          description: Active description
        richtext_description:
          type: string
          nullable: true
          description: Richtext formatted description. Can be in Slatejs or Draftjs format.
        members_count:
          type: integer
          readOnly: true
      required:
      - guid
      - members_count
      - name
    UserSettingRequest:
      type: object
      properties:
        enable_email_notifications:
          type: boolean
          description: Whether this user wants an email notification or not
        enable_slack_notifications:
          type: boolean
          description: Whether this user wants a slack notification or not
        enable_notifications_for_schema_changes:
          type: boolean
          description: Whether this user wants a slack notification for schema changes or not
        enable_notifications_for_metadata_changes:
          type: boolean
          description: Whether this user wants a slack notification for metadata changes or not
        enable_discussions_notifications:
          type: boolean
          description: Whether this user wants a notification for new discussions or not
        enable_favorites_notifications_for_schema_changes:
          type: boolean
          description: Whether this user wants a schema change notification for favorited items or not
        enable_favorites_notifications_for_metadata_changes:
          type: boolean
          description: Whether this user wants a metadata change notification for favorited items or not
        enable_favorites_notifications_for_discussions:
          type: boolean
          description: Whether this user wants a discussion notification for favorited items or not
        default_database_table_column_order:
          allOf:
          - $ref: '#/components/schemas/DefaultDatabaseTableColumnOrderEnum'
          description: 'Database table column order. There are several different ways to order columns


            * `popularity` - popularity

            * `column_ordinal_position` - column_ordinal_position

            * `alphabetical` - alphabetical'
        default_table_dashboard_tab:
          allOf:
          - $ref: '#/components/schemas/DefaultTableDashboardTabEnum'
          description: 'Default tab for table / dashboard page


            * `overview` - overview

            * `columns_charts` - columns_charts'
    TaggedItemsSource:
      type: object
      properties:
        item:
          $ref: '#/components/schemas/TaggedItemsSourceSerializer.GuidReferenceField.item'
      required:
      - item
    PaginatedFrequentDSUserList:
      type: object
      required:
      - count
      - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/FrequentDSUser'
    DataSourceInfoRequest:
      type: object
      properties:
        guid:
          type: string
          minLength: 1
          maxLength: 25
        type:
          $ref: '#/components/schemas/Type6b6Enum'
        name:
          type: string
          minLength: 1
          maxLength: 100
        last_ingested_on:
          type: string
          format: date-time
          nullable: true
      required:
      - name
      - type
    SchemaPopularity:
      type: object
      properties:
        timeframe:
          type: integer
          readOnly: true
          default: 90
        user_count:
          type: integer
          readOnly: true
        service_query_count:
          type: integer
          readOnly: true
        popularity:
          typ

# --- truncated at 32 KB (94 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/select-star/refs/heads/main/openapi/select-star-tables-api-openapi.yml