Select Star documents API

The documents API from Select Star — 3 operation(s) for documents.

OpenAPI Specification

select-star-documents-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Select Star Metadata bi documents 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: documents
paths:
  /v1/documents/:
    get:
      operationId: documents_list
      description: 'lists documents


        **Required Role:** Viewer or higher'
      parameters:
      - 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: doc_type
        required: false
        in: query
        description: 'A comma separated list of document types to filter for.


          Note: `document` type is used for "Page" documents.'
        schema:
          type: string
          enum:
          - document
          - metric
          - term
      - 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
          - collection
          - created_on
          - description
          - name
          - popularity
          - technical_owner
          - updated_on
      - 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: 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: A search term.
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: Search for an asset using its 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: 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:
      - documents
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDocumentList'
          description: ''
      x-role-requirements: Viewer or higher
    post:
      operationId: documents_create
      description: 'creates a new document object


        **Required Role:** Data Manager or higher'
      tags:
      - documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DocumentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/DocumentRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/DocumentRequest'
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
          description: ''
      x-role-requirements: Data Manager or higher
    delete:
      operationId: documents_bulk_delete
      description: 'deletes multiple documents


        **Required Role:** Data Manager or higher'
      parameters:
      - 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: doc_type
        required: false
        in: query
        description: 'A comma separated list of document types to filter for.


          Note: `document` type is used for "Page" documents.'
        schema:
          type: string
          enum:
          - document
          - metric
          - term
      - 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
          - collection
          - created_on
          - description
          - name
          - popularity
          - technical_owner
          - updated_on
      - 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: 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: A search term.
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: Search for an asset using its 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: 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:
      - documents
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '204':
          description: No response body
      x-role-requirements: Data Manager or higher
  /v1/documents/{guid}/:
    get:
      operationId: documents_retrieve
      description: 'gets a document object


        **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:
      - documents
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
          description: ''
      x-role-requirements: Viewer or higher
    patch:
      operationId: documents_partial_update
      description: 'updates a document object


        **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:
      - documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDocumentRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDocumentRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDocumentRequest'
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
          description: ''
      x-role-requirements: Data Manager or higher
    delete:
      operationId: documents_destroy
      description: 'deletes a document object


        **Required Role:** Data Manager or higher'
      parameters:
      - 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: doc_type
        required: false
        in: query
        description: 'A comma separated list of document types to filter for.


          Note: `document` type is used for "Page" documents.'
        schema:
          type: string
          enum:
          - document
          - metric
          - term
      - 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: 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
          - collection
          - created_on
          - description
          - name
          - popularity
          - technical_owner
          - updated_on
      - 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: 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: A search term.
        schema:
          type: string
      - name: search_name
        required: false
        in: query
        description: Search for an asset using its 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: 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:
      - documents
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '204':
          description: No response body
      x-role-requirements: Data Manager or higher
  /v1/documents/owners/:
    patch:
      operationId: documents_owners_partial_update
      description: 'API endpoints documents.


        **Required Role:** Data Manager or higher'
      tags:
      - documents
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedDocumentOwnersBulkEditRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedDocumentOwnersBulkEditRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedDocumentOwnersBulkEditRequest'
      security:
      - JWTAuthentication: []
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentOwnersBulkEdit'
          description: ''
      x-role-requirements: Data Manager or higher
components:
  schemas:
    DashboardSerializer.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'
    TypeB32Enum:
      enum:
      - status
      - dbt
      type: string
      description: '* `status` - status

        * `dbt` - dbt'
    DocumentSerializer.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'
    PatchedDocumentRequest:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        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.
        parent_hierarchy:
          type: string
          minLength: 1
          nullable: true
        ordinal:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Ordinal number for determining sorting order of that document
    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
    ListSerializer.GuidReferenceField.:
      $ref: '#/components/schemas/Dashboard'
    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
    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'
    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'
    DocumentRequest:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
        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.
        parent_hierarchy:
          type: string
          minLength: 1
          nullable: true
        ordinal:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Ordinal number for determining sorting order of that document
    ListSerializer.GuidReferenceField.Request:
      type: string
      description: GUID
    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'
    DocumentOwnersBulkEditSerializer.GuidReferenceField.technical_ownerRequest:
      type: string
      description: GUID
    DocumentSerializer.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'
    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
    Document:
      type: object
      properties:
        guid:
          type: string
          readOnly: true
        name:
          type: string
          maxLength: 255
        description:
          type: string
          nullable: true
          description: Active description
        data_type:
          type: string
          readOnly: true
        richtext_description:
          type: string
          nullable: true
          description: Richtext formatted description. Can be in Slatejs or Draftjs format.
        organization:
          type: integer
          readOnly: true
        tagged_items:
          type: array
          items:
            $ref: '#/components/schemas/TaggedItemsLiteWithSource'
          readOnly: true
        business_owner:
          allOf:
          - $ref: '#/components/schemas/DocumentSerializer.GuidReferenceField.business_owner'
          readOnly: true
        technical_owner:
          allOf:
          - $ref: '#/components/schemas/DocumentSerializer.GuidReferenceField.technical_owner'
          readOnly: true
        created_on:
          type: string
          format: date-time
          readOnly: true
        updated_on:
          type: string
          format: date-time
          readOnly: true
        parent_hierarchy:
          type: string
          nullable: true
        ordinal:
          type: integer
          maximum: 2147483647
          minimum: 0
          nullable: true
          description: Ordinal number for determining sorting order of that document
        breadcrumbs:
          type: array
          items:
            $ref: '#/components/schemas/Breadcrumb'
          readOnly: true
        collections:
          type: array
          items:
            $ref: '#/components/schemas/CollectionLite'
          readOnly: true
        data_types:
          allOf:
          - $ref: '#/components/schemas/BaseType'
          readOnly: true
        represented_as:
          type: string
          readOnly: true
        richtext_represented_as:
          type: string
          readOnly: true
      required:
      - breadcrumbs
      - business_owner
      - collections
      - created_on
      - data_type
      - data_types
      - guid
      - organization
      - represented_as
      - richtext_represented_as
      - tagged_items
      - technical_owner
      - updated_on
    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
    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
    PatchedDocumentOwnersBulkEditRequest:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ListSerializer.GuidReferenceField.Request'
        business_owner:
          allOf:
          - $ref: '#/components/schemas/DocumentOwnersBulkEditSerializer.GuidReferenceField.business_ownerRequest'
          nullable: true
        technical_owner:
          allOf:
          - $ref: '#/components/schemas/DocumentOwnersBulkEditSerializer.GuidReferenceField.technical_ownerRequest'
          nullable: true
    TaggedItemsLiteSerializer.GuidReferenceField.item:
      $ref: '#/components/schemas/BaseMetadata'
    QueryError:
      type: object
      properties:
        event_on:
          type: string
          format: date-time
          description: When an event in 'History' was created. Each event is linked to a query in Looker.
        message:
          type: string
          description: General information about the query, often around error reporting or the current status
        source:
          type: string
          description: The source of a query, such as a saved Look, Explore, scheduled task, API, etc
        issuer_source:
          type: string
          description: The source of a query, bucketed. Buckets are the API, users themselves, or automated system activities (PDTs & schedules)
        count:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: The count of error occurrences
        dashboard_user:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          description: The count of distinct users that have run dashboard queries
      required:
      - count
      - dashboard_user
      - event_on
      - issuer_source
      - message
      - source
    PiiRule:
      type: object
      properties:
        guid:
          type: string
          maxLength: 25
        name:
          type: string
          description: PII Rule name display name
          maxLength: 50
        type:
          allOf:
          - $ref

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