Select Star joins API

The joins API from Select Star — 1 operation(s) for joins.

OpenAPI Specification

select-star-joins-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Select Star Metadata bi joins 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: joins
paths:
  /v1/joins/:
    get:
      operationId: joins_list
      description: 'List of the joins available in authenticated user''s organization


        **Required Role:** Authenticated User with Active Organization'
      parameters:
      - name: columns
        required: false
        in: query
        description: A comma separated list of column guids to filter for joins that this table was a source or target column of the join.
        schema:
          type: string
          pattern: ^(co)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - 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: 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:
          - created_on
          - popularity
          - popularity_value
      - 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: source_tables
        required: false
        in: query
        description: A comma separated list of table guids to filter for joins that this table was a source table of the join.
        schema:
          type: string
          pattern: ^(ta)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      - name: tables
        required: false
        in: query
        description: A comma separated list of table guids to filter for joins that this table was a source or target table of the join.
        schema:
          type: string
          pattern: ^(ta)_(?P<guid>[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22})$
      tags:
      - joins
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedJoinList'
          description: ''
      x-role-requirements: Authenticated User with Active Organization
components:
  schemas:
    DatabaseSerializer.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'
    TypeB32Enum:
      enum:
      - status
      - dbt
      type: string
      description: '* `status` - status

        * `dbt` - dbt'
    TablePopularity:
      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
    TableLite:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        name:
          type: string
        table_type:
          allOf:
          - $ref: '#/components/schemas/TableTypeEnum'
          nullable: true
          description: 'Table type as defined in the datasource


            * `table` - table

            * `view` - view

            * `materialized_view` - materialized_view

            * `external_table` - external_table

            * `dynamic_table` - dynamic_table

            * `incremental` - dbt_incremental

            * `ephemeral` - dbt_ephemeral

            * `source` - dbt_source

            * `seed` - dbt_seed

            * `model` - dbt_model_legacy'
        data_types:
          allOf:
          - $ref: '#/components/schemas/BaseType'
          readOnly: true
        updated_on:
          type: string
          format: date-time
          readOnly: true
      required:
      - data_types
      - name
      - updated_on
    DatabaseSerializer.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'
    BaseMetadata:
      type: object
      properties:
        object_type:
          type: string
          readOnly: true
        guid:
          type: string
          readOnly: true
        name:
          type: string
          nullable: true
          readOnly: true
        breadcrumbs:
          type: array
          items:
            $ref: '#/components/schemas/Breadcrumb'
          readOnly: true
      required:
      - breadcrumbs
      - guid
      - name
      - object_type
    BaseColumn:
      type: object
      description: 'Adds support for reading a description from metadata

        that support modifying description'
      properties:
        guid:
          type: string
          maxLength: 25
        search_name:
          type: string
          description: 'Full path for Column is ''DATABASE.SCHEMA.TABLE.COLUMN'' or

            ''DATABASE.TABLE.COLUMN'' if there''s no schema.'
          readOnly: true
        name:
          type: string
      required:
      - name
      - search_name
    TaggedItemsLite:
      type: object
      description: Serializer without suggestion source
      properties:
        item:
          $ref: '#/components/schemas/TaggedItemsLiteSerializer.GuidReferenceField.item'
        guid:
          type: string
          readOnly: true
        tag:
          $ref: '#/components/schemas/TagLite'
        kind:
          type: string
        suggested_source_kind:
          type: string
      required:
      - guid
      - item
      - kind
      - suggested_source_kind
      - tag
    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'
    PaginatedJoinList:
      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/Join'
    SuggestedDescriptionSourceEnum:
      enum:
      - public_docs
      - lineage
      - downstream_lineage
      - upstream_lineage
      - similarity
      - unknown
      type: string
      description: '* `public_docs` - Public Docs

        * `lineage` - Lineage

        * `downstream_lineage` - Downstream Lineage

        * `upstream_lineage` - Upstream Lineage

        * `similarity` - Similarity

        * `unknown` - Unknown'
    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
    UserSetting:
      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'
    JoinPopularity:
      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
    TargetDataSourceTypeEnum:
      enum:
      - airflow
      - aws_s3
      - bigquery
      - data_studio
      - databricks
      - db_agent
      - db2
      - dbt
      - fivetran
      - glue
      - hex
      - looker
      - metabase
      - mode
      - monte_carlo
      - mssql
      - mysql
      - omni
      - openlineage
      - oracle
      - periscope
      - postgres
      - power_bi
      - quicksight
      - redshift
      - salesforce
      - salesforce_crma
      - sigma
      - snowflake
      - tableau
      - thoughtspot
      - trial
      - trial_redshift
      type: string
      description: '* `airflow` - Airflow

        * `aws_s3` - AWS S3

        * `bigquery` - BigQuery

        * `data_studio` - Looker Studio

        * `databricks` - Databricks

        * `db_agent` - DB Agent

        * `db2` - DB2

        * `dbt` - dbt

        * `fivetran` - Fivetran

        * `glue` - Glue

        * `hex` - Hex

        * `looker` - Looker

        * `metabase` - Metabase

        * `mode` - Mode

        * `monte_carlo` - Monte Carlo

        * `mssql` - MS SQL

        * `mysql` - MySQL

        * `omni` - Omni BI

        * `openlineage` - Open Lineage

        * `oracle` - Oracle

        * `periscope` - Periscope

        * `postgres` - PostgreSQL

        * `power_bi` - Power BI

        * `quicksight` - QuickSight

        * `redshift` - Redshift

        * `salesforce` - Salesforce

        * `salesforce_crma` - Salesforce Analytics

        * `sigma` - Sigma

        * `snowflake` - Snowflake

        * `tableau` - Tableau

        * `thoughtspot` - ThoughtSpot

        * `trial` - Trial

        * `trial_redshift` - Trial Redshift'
    TaggedItemsLiteWithSourceSerializer.GuidReferenceField.suggestion_source_object:
      anyOf:
      - $ref: '#/components/schemas/PiiRule'
      - $ref: '#/components/schemas/TaggedItemsLite'
      discriminator:
        propertyName: object_type
        mapping:
          piirule: '#/components/schemas/PiiRule'
          taggeditems: '#/components/schemas/TaggedItemsLite'
    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:
          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
    CloudObjectLite:
      type: object
      properties:
        location:
          type: string
          description: Location on the cloud, the Directory of the Data. NOT the file name
        objects_count:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
          nullable: true
          description: Number of Files/Objects in the specified location
        format:
          $ref: '#/components/schemas/FormatEnum'
        cloud_object_type:
          allOf:
          - $ref: '#/components/schemas/CloudObjectTypeEnum'
          description: 'Type of cloud object i.e., S3, Google Cloud Storage, Azure Blob Storage


            * `s3` - s3

            * `unsupported` - unsupported'
      required:
      - location
    Condition:
      type: object
      properties:
        raw:
          type: string
        left_column:
          $ref: '#/components/schemas/Column'
        right_column:
          $ref: '#/components/schemas/Column'
      required:
      - left_column
      - raw
      - right_column
    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
    SchemaSerializer.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'
    Table:
      type: object
      description: 'Adds support for reading a description from metadata

        that support modifying description'
      properties:
        guid:
          type: string
          readOnly: true
        database:
          $ref: '#/components/schemas/Database'
        schema:
          allOf:
          - $ref: '#/components/schemas/Schema'
          nullable: true
        name:
          type: string
        search_name:
          type: string
          description: 'Full path for Table is ''DATABASE.SCHEMA.TABLE'' or ''DATABASE.TABLE'' if

            there''s no schema.'
          readOnly: true
        description_source:
          allOf:
          - $ref: '#/components/schemas/DescriptionSourceEnum'
          readOnly: true
          nullable: true
        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.
        user_description:
          type: string
          readOnly: true
          nullable: true
          description: User description
        user_description_author:
          allOf:
          - $ref: '#/components/schemas/UserLite'
          readOnly: true
        suggested_description:
          type: string
          nullable: true
          description: 'Suggested description coming from lineage, similar table, or public docs.


            When `force_showing_suggested_description` query parameter value is `false`,

            suggested description is returned only if there is no user or ingested description.'
          readOnly: true
        ingested_description:
          type: string
          readOnly: true
          nullable: true
          description: Unmodified description from the data source
        ai_description:
          type: string
          readOnly: true
          nullable: true
          description: AI-generated description
        created_by:
          $ref: '#/components/schemas/User'
        dsuser_created_by:
          $ref: '#/components/schemas/DSUserName'
        business_owner:
          allOf:
          - $ref: '#/components/schemas/TableSerializer.GuidReferenceField.business_owner'
          readOnly: true
        technical_owner:
          allOf:
          - $ref: '#/components/schemas/TableSerializer.GuidReferenceField.technical_owner'
          readOnly: true
        updates_on:
          type: string
          format: date-time
          nullable: true
        last_updated_on:
          type: string
          format: date-time
          nullable: true
          description: this field is updated during metadata_ingestion based on field updated_on for a given table in external DS information schema
        last_queried_on:
          type: string
          format: date-time
          nullable: true
        last_refreshed_on:
          type: string
          format: date-time
          nullable: true
          description: When this table was modified in the datasource (without SELECT queries)
        db_created_on:
          type: string
          format: date-time
          nullable: true
          description: When this table was created in the datasource
        columns:
          type: array
          items:
            $ref: '#/components/schemas/TableColumn'
          readOnly: true
        popularity:
          allOf:
          - $ref: '#/components/schemas/TablePopularity'
          readOnly: true
        tagged_items:
          type: array
          items:
            $ref: '#/components/schemas/TaggedItemsLiteWithSource'
          readOnly: true
        updated_on:
          type: string
          format: date-time
          readOnly: true
        created_on:
          type: string
          format: date-time
          readOnly: true
        table_type:
          allOf:
          - $ref: '#/components/schemas/TableTypeEnum'
          nullable: true
          description: 'Table type as defined in the datasource


            * `table` - table

            * `view` - view

            * `materialized_view` - materialized_view

            * `external_table` - external_table

            * `dynamic_table` - dynamic_table

            * `incremental` - dbt_incremental

            * `ephemeral` - dbt_ephemeral

            * `source` - dbt_source

            * `seed` - dbt_seed

            * `model` - dbt_model_legacy'
        data_type:
          type: string
          readOnly: true
        data_types:
          allOf:
          - $ref: '#/components/schemas/BaseType'
          readOnly: true
        bytes:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
          nullable: true
          description: Number of bytes accessed by a scan of the table
        row_count:
          type: integer
          maximum: 9223372036854775807
          minimum: -9223372036854775808
          format: int64
          nullable: true
          description: Number of rows in the table
        is_hidden:
          type: boolean
          readOnly: true
        downstream_objects_counts:
          allOf:
          - $ref: '#/components/schemas/RelatedObjectsCounts'
          readOnly: true
        upstream_objects_counts:
          allOf:
          - $ref: '#/components/schemas/RelatedObjectsCounts'
          readOnly: true
        extra:
          readOnly: true
          nullable: true
          description: Extra unstructured metadata for the table
        breadcrumbs:
          type: array
          items:
            $ref: '#/components/schemas/Breadcrumb'
          readOnly: true
        suggested_description_source:
          allOf:
          - $ref: '#/components/schemas/SuggestedDescriptionSourceEnum'
          readOnly: true
        suggested_description_source_object:
          allOf:
          - $ref: '#/components/schemas/TableSerializer.GuidReferenceField.suggested_description_source_object'
          readOnly: true
        cloud_object:
          $ref: '#/components/schemas/CloudObjectLite'
        is_implicit:
          type: boolean
          nullable: true
          description: Whether this table was implicitly found in query metadata, instead of ingested from database metadata.
        collections:
          type: array
          items:
            $ref: '#/components/schemas/CollectionLite'
          readOnly: true
        deactivation_scheduled_on:
          type: string
          format: date-time
          nullable: true
          description: A time when objects is fully deactivated, so deactivate grace period pass too
          readOnly: true
      required:
      - ai_description
      - breadcrumbs
      - business_owner
      - collections
      - columns
      - created_on
      - data_type
      - data_types
      - database
      - deactivation_scheduled_on
      - description_source
      - downstream_objects_counts
      - extra
      - guid
      - ingested_description
      - is_hidden
      - name
      - popularity
      - search_name
      - suggested_description
      - suggested_description_source
      - suggested_description_source_object
      - tagged_items
      - technical_owner
      - updated_on
      - upstream_objects_counts
      - user_description
      - user_description_author
    DefaultTableDashboardTabEnum:
      enum:
      - overview
      - columns_charts
      type: string
      description: '* `overview` - overview

        * `columns_charts` - columns_charts'
    UserLite:
      type: object
      properties:
        guid:
          type: string
          readOnly: true
        first_name:
          type: string
          readOnly: true
        last_name:
          type: string
          readOnly: true
        team:
          allOf:
          - $ref: '#/components/schemas/TeamShortcut'
          readOnly: true
        email:
          type: string
          format: email
          readOnly: true
          title: Email address
        avatar:
          type: string
          format: uri
          readOnly: true
          nullable: true
        is_active:
          type: boolean
          readOnly: true
      required:
      - avatar
      - email
      - first_name
      - guid
      - is_active
      - last_name
      - team
    TableTypeEnum:
      enum:
      - table
      - view
      - materialized_view
      - external_table
      - dynamic_table
      - incremental
      - ephemeral
      - source
      - seed
      - model
      type: string
      description: '* `table` - table

        * `view` - view

        * `materialized_view` - materialized_view

        * `external_table` - external_table

        * `dynamic_table` - dynamic_table

        * `incremental` - dbt_incremental

        * `ephemeral` - dbt_ephemeral

        * `source` - dbt_source

        * `seed` - dbt_seed

        * `model` - dbt_model_legacy'
    CollectionLite:
      type: object
      properties:
        guid:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        icon:
          type: string
          readOnly: true
        data_types:
          allOf:
          - $ref: '#/components/schemas/BaseType'
          readOnly: true
        breadcrumbs:
          type: array
          items:
            $ref: '#/components/schemas/Breadcrumb'
          readOnly: true
        emoji:
          type: string
          readOnly: true
          nullable: true
          description: Unicode representation of the selected emoji
        color_scheme:
          type: string
          readOnly: true
          nullable: true
          description: Color scheme selected by the user for the icon
        linked_from:
          type: array
          items:
            type: string
          readOnly: true
          description: Tags having a link to this collection
      required:
      - breadcrumbs
      - color_scheme
      - data_types
      - emoji
      - guid
      - icon
      - linked_from
      - name
    ColumnPopularity:
      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
    TableSerializer.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'
    CloudObjectTypeEnum:
      enum:
      - s3
      - unsupported
      type: string
      description: '* `s3` - s3

        * `unsupported` - unsupported'
    DSUserName:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        display_name:
          type: string
          nullable: true
          description: The username field for the user used by the datasource
          maxLength: 100
        name:
          type: string
          maxLength: 100
        data_source:
          $ref: '#/components/schemas/DataSourceInfo'
      required:
      - data_source
      - name
    ForeignKey:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        source:
          $ref: '#/components/schemas/TableLite'
        target:
          $ref: '#/components/schemas/TableLite'
        source_columns:
          type: array
          items:
            $ref: '#/components/schemas/BaseColumn'
        target_columns:
          type: array
          items:
            $ref: '#/components/schemas/BaseColumn'
      required:
      - source
      - source_columns
      - target
      - target_columns
    FormatEnum:
      enum:
      - csv
      - json
      - unknown
      type: string
      description: '* `csv` - csv

        * `json` - json

        * `unknown` - unknown'
    Join:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        source_table:
          $ref: '#/components/schemas/Table'
        joined_table:
          $ref: '#/components/schemas/Table'
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/Condition'
        total_runs:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: Total number of times this query has been run
        sample_query:
          $ref: '#/components/schemas/QueryLite'
        popularity:
          allOf:
          - $ref: '#/components/schemas/JoinPopularity'
          readOnly: true
      required:
      - conditions
      - joined_table
      - popularity
      - sample_query
      - source_table
    SchemaSerializer.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'
    TaggedItemsLiteSerializer.GuidReferenceField.item:
      $ref: '#/components/schemas/BaseMetadata'
    PiiRule:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        name:
          type: string
          description: PII Rule name display name
          maxLength: 50
        type:
          allOf:
          - $ref: '#/components/schemas/PIIType'
          description: 'The type of PII this represents


            * `address` - address

            * `banking` - banking

            * `birthdate` - birthdate

            * `document` - document

            * `email` - email

            * `face_photo` - face_photo

            * `gender` - gender

            * `marital_status` - marital_status

            * `nationality` - nationality

            * `online_account` - online_account

            * `online_address` - online_address

            * `password` - password

            * `person` - person

            * `phone` - phone

            * `salary` - salary

            * `ssn` - ssn

            * `username` - username'
        regex:
          type: string
          description: The PII Rule
        created_by:
          allOf:
          - $ref: '#/components/schemas/UserLite'
          readOnly: true
        active:
          type: boolean
        item_count:
          type: integer
          re

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