Galileo Technologies custom_dashboards API

The custom_dashboards API from Galileo Technologies — 8 operation(s) for custom_dashboards.

Operations 14

GET /custom_dashboards List Dashboards #
POST /custom_dashboards Create Dashboard #
GET /custom_dashboards/metric_columns Get Metric Columns #
GET /custom_dashboards/{dashboard_id} Get Dashboard #
PUT /custom_dashboards/{dashboard_id} Update Dashboard #
DELETE /custom_dashboards/{dashboard_id} Delete Dashboard #
PUT /custom_dashboards/{dashboard_id}/favorite Favorite Dashboard #
DELETE /custom_dashboards/{dashboard_id}/favorite Unfavorite Dashboard #
POST /custom_dashboards/{dashboard_id}/widgets Create Widget #
PUT /custom_dashboards/{dashboard_id}/widgets/{widget_id} Update Widget #
DELETE /custom_dashboards/{dashboard_id}/widgets/{widget_id} Delete Widget #
POST /custom_dashboards/{dashboard_id}/sections Create Section #
PUT /custom_dashboards/{dashboard_id}/sections/{section_id} Update Section #
DELETE /custom_dashboards/{dashboard_id}/sections/{section_id} Delete Section #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/galileo-technologies-custom-dashboards-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

galileo-technologies-custom-dashboards-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Galileo API Server annotation Custom Dashboards API
  version: 1.1085.0
servers:
- url: https://api.galileo.ai
  description: Galileo API Server - galileo-v2
tags:
- name: custom_dashboards
paths:
  /custom_dashboards:
    get:
      tags:
      - custom_dashboards
      summary: List Dashboards
      operationId: list_dashboards_custom_dashboards_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/CustomDashboardResponse'
                type: array
                title: Response List Dashboards Custom Dashboards Get
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
    post:
      tags:
      - custom_dashboards
      summary: Create Dashboard
      operationId: create_dashboard_custom_dashboards_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardCreateRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
  /custom_dashboards/metric_columns:
    get:
      tags:
      - custom_dashboards
      summary: Get Metric Columns
      description: Return all org scorer columns in LogRecordsColumnInfo format.
      operationId: get_metric_columns_custom_dashboards_metric_columns_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogRecordsAvailableColumnsResponse'
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
  /custom_dashboards/{dashboard_id}:
    get:
      tags:
      - custom_dashboards
      summary: Get Dashboard
      operationId: get_dashboard_custom_dashboards__dashboard_id__get
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - custom_dashboards
      summary: Update Dashboard
      operationId: update_dashboard_custom_dashboards__dashboard_id__put
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - custom_dashboards
      summary: Delete Dashboard
      operationId: delete_dashboard_custom_dashboards__dashboard_id__delete
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /custom_dashboards/{dashboard_id}/favorite:
    put:
      tags:
      - custom_dashboards
      summary: Favorite Dashboard
      operationId: favorite_dashboard_custom_dashboards__dashboard_id__favorite_put
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - custom_dashboards
      summary: Unfavorite Dashboard
      operationId: unfavorite_dashboard_custom_dashboards__dashboard_id__favorite_delete
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /custom_dashboards/{dashboard_id}/widgets:
    post:
      tags:
      - custom_dashboards
      summary: Create Widget
      operationId: create_widget_custom_dashboards__dashboard_id__widgets_post
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardWidgetCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardWidgetResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /custom_dashboards/{dashboard_id}/widgets/{widget_id}:
    put:
      tags:
      - custom_dashboards
      summary: Update Widget
      operationId: update_widget_custom_dashboards__dashboard_id__widgets__widget_id__put
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      - name: widget_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Widget Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardWidgetUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardWidgetResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - custom_dashboards
      summary: Delete Widget
      operationId: delete_widget_custom_dashboards__dashboard_id__widgets__widget_id__delete
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      - name: widget_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Widget Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /custom_dashboards/{dashboard_id}/sections:
    post:
      tags:
      - custom_dashboards
      summary: Create Section
      operationId: create_section_custom_dashboards__dashboard_id__sections_post
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardSectionCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardSectionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /custom_dashboards/{dashboard_id}/sections/{section_id}:
    put:
      tags:
      - custom_dashboards
      summary: Update Section
      operationId: update_section_custom_dashboards__dashboard_id__sections__section_id__put
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      - name: section_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Section Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomDashboardSectionUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomDashboardSectionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - custom_dashboards
      summary: Delete Section
      description: Delete section. If ungroup=True, keep widgets by moving them to dashboard top-level.
      operationId: delete_section_custom_dashboards__dashboard_id__sections__section_id__delete
      security:
      - ClassicAPIKeyHeader: []
      - APIKeyHeader: []
      - OAuth2PasswordBearer: []
      - HTTPBasic: []
      parameters:
      - name: dashboard_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Dashboard Id
      - name: section_id
        in: path
        required: true
        schema:
          type: string
          format: uuid4
          title: Section Id
      - name: ungroup
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Ungroup
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RollUpMethodDisplayOptions:
      type: string
      enum:
      - average
      - sum
      - max
      - min
      - category_count
      - percentage_true
      - percentage_false
      title: RollUpMethodDisplayOptions
      description: 'Display options for roll up methods when showing rolled up metrics in the UI.


        Separates display intent from computation methods. The computation methods

        (NumericRollUpMethod, CategoricalRollUpMethod) control what aggregations are available.

        This enum controls how the UI displays the selected roll-up value for a scorer.'
    LogRecordsFilterType:
      type: string
      enum:
      - id
      - date
      - number
      - boolean
      - text
      - collection
      - fully_annotated
      title: LogRecordsFilterType
    MetricAggregation:
      type: string
      enum:
      - Count
      - Sum
      - Average
      - Min
      - Max
      - P50
      - P90
      - P95
      - P99
      - PercentageFalse
      - PercentageTrue
      title: MetricAggregation
    NodeNameFilter:
      properties:
        name:
          type: string
          const: node_name
          title: Name
          default: node_name
        operator:
          type: string
          enum:
          - eq
          - ne
          - contains
          - one_of
          - not_in
          title: Operator
        value:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          title: Value
        case_sensitive:
          type: boolean
          title: Case Sensitive
          default: true
      type: object
      required:
      - operator
      - value
      title: NodeNameFilter
      description: Filters on node names in scorer jobs.
    ModalityFilter:
      properties:
        name:
          type: string
          const: modality
          title: Name
          default: modality
        operator:
          type: string
          enum:
          - eq
          - ne
          - one_of
          - not_in
          title: Operator
        value:
          anyOf:
          - type: string
            description: Single enum value - specific options depend on the concrete enum type used
            example: ENUM_VALUE
          - items:
              type: string
              example: ENUM_VALUE
            type: array
            description: Array of enum values
            example:
            - ENUM_VALUE_1
            - ENUM_VALUE_2
          title: Value
      type: object
      required:
      - operator
      - value
      title: ModalityFilter
      description: 'Filters on content modalities in scorer jobs.

        Matches if at least one of the specified modalities is present.'
    InsightType:
      type: string
      enum:
      - vertical_bar
      - horizontal_bar
      title: InsightType
    LogRecordsDateFilter:
      properties:
        column_id:
          type: string
          title: Column Id
          description: ID of the column to filter.
        operator:
          type: string
          enum:
          - eq
          - ne
          - gt
          - gte
          - lt
          - lte
          title: Operator
        value:
          type: string
          format: date-time
          title: Value
        type:
          type: string
          const: date
          title: Type
          default: date
      type: object
      required:
      - column_id
      - operator
      - value
      title: LogRecordsDateFilter
    ? OrNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Input
    : properties:
        or:
          items:
            anyOf:
            - $ref: '#/components/schemas/FilterLeaf_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____'
            - $ref: '#/components/schemas/AndNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Input'
            - $ref: '#/components/schemas/OrNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Input'
            - $ref: '#/components/schemas/NotNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Input'
          type: array
          title: Or
      type: object
      required:
      - or
      title: OrNode[Annotated[Union[LogRecordsIDFilter, LogRecordsDateFilter, LogRecordsNumberFilter, LogRecordsBooleanFilter, LogRecordsCollectionFilter, LogRecordsTextFilter, LogRecordsFullyAnnotatedFilter], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
    ? FilterLeaf_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____
    : properties:
        filter:
          oneOf:
          - $ref: '#/components/schemas/LogRecordsIDFilter'
          - $ref: '#/components/schemas/LogRecordsDateFilter'
          - $ref: '#/components/schemas/LogRecordsNumberFilter'
          - $ref: '#/components/schemas/LogRecordsBooleanFilter'
          - $ref: '#/components/schemas/LogRecordsCollectionFilter'
          - $ref: '#/components/schemas/LogRecordsTextFilter'
          - $ref: '#/components/schemas/LogRecordsFullyAnnotatedFilter'
          title: Filter
          discriminator:
            propertyName: type
            mapping:
              boolean: '#/components/schemas/LogRecordsBooleanFilter'
              collection: '#/components/schemas/LogRecordsCollectionFilter'
              date: '#/components/schemas/LogRecordsDateFilter'
              fully_annotated: '#/components/schemas/LogRecordsFullyAnnotatedFilter'
              id: '#/components/schemas/LogRecordsIDFilter'
              number: '#/components/schemas/LogRecordsNumberFilter'
              text: '#/components/schemas/LogRecordsTextFilter'
      type: object
      required:
      - filter
      title: FilterLeaf[Annotated[Union[LogRecordsIDFilter, LogRecordsDateFilter, LogRecordsNumberFilter, LogRecordsBooleanFilter, LogRecordsCollectionFilter, LogRecordsTextFilter, LogRecordsFullyAnnotatedFilter], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    LogRecordsFullyAnnotatedFilter:
      properties:
        column_id:
          type: string
          const: fully_annotated
          title: Column Id
          description: Queue-scoped filter identifier. This filter only works for annotation-queue searches that provide queue context.
          default: fully_annotated
        type:
          type: string
          const: fully_annotated
          title: Type
          default: fully_annotated
        user_ids:
          anyOf:
          - items:
              type: string
              format: uuid4
            type: array
            minItems: 1
          - type: 'null'
          title: User Ids
          description: Optional queue member IDs to require for full annotation in a queue-scoped search. If omitted, all tracked queue members visible to the requester are used.
      type: object
      title: LogRecordsFullyAnnotatedFilter
      description: Queue-scoped filter for records rated across all queue templates.
    FewShotExample:
      properties:
        generation_prompt_and_response:
          type: string
          title: Generation Prompt And Response
        evaluating_response:
          type: string
          title: Evaluating Response
      type: object
      required:
      - generation_prompt_and_response
      - evaluating_response
      title: FewShotExample
      description: Few-shot example for a chainpoll metric prompt.
    ? AndNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output
    : properties:
        and:
          items:
            anyOf:
            - $ref: '#/components/schemas/FilterLeaf_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____'
            - $ref: '#/components/schemas/AndNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
            - $ref: '#/components/schemas/OrNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
            - $ref: '#/components/schemas/NotNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
          type: array
          title: And
      type: object
      required:
      - and
      title: AndNode[Annotated[Union[LogRecordsIDFilter, LogRecordsDateFilter, LogRecordsNumberFilter, LogRecordsBooleanFilter, LogRecordsCollectionFilter, LogRecordsTextFilter, LogRecordsFullyAnnotatedFilter], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
    ? FilterExpression_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output
    : anyOf:
      - $ref: '#/components/schemas/FilterLeaf_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____'
      - $ref: '#/components/schemas/AndNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
      - $ref: '#/components/schemas/OrNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
      - $ref: '#/components/schemas/NotNode_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Output'
    CustomDashboardSectionCreateRequest:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Description
        color:
          anyOf:
          - type: string
            maxLength: 7
            pattern: ^#[0-9A-Fa-f]{6}$
          - type: 'null'
          title: Color
      type: object
      required:
      - name
      title: CustomDashboardSectionCreateRequest
      description: Request to create a section on a custom dashboard.
    InputTypeEnum:
      type: string
      enum:
      - basic
      - llm_spans
      - retriever_spans
      - sessions_normalized
      - sessions_trace_io_only
      - tool_spans
      - trace_input_only
      - trace_io_only
      - trace_normalized
      - trace_output_only
      - agent_spans
      - workflow_spans
      title: InputTypeEnum
      description: Enumeration of input types.
    CustomDashboardCreateRequest:
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 1000
          - type: 'null'
          title: Description
        interval_mins:
          type: integer
          title: Interval Mins
          default: 5
        layout_map:
          additionalProperties: true
          type: object
          title: Layout Map
        start_time:
          anyOf:
          - type: integer
          - type: 'null'
          title: Start Time
        end_time:
          anyOf:
          - type: integer
          - type: 'null'
          title: End Time
        relative_time:
          anyOf:
          - type: string
            maxLength: 64
            pattern: ^last_\d+_(seconds?|minutes?|hours?|days?|weeks?|months?)$
          - type: 'null'
          title: Relative Time
          description: Rolling window from now, e.g. last_7_days, last_12_hours (max 5 years)
        filter_tree:
          anyOf:
          - $ref: '#/components/schemas/FilterExpression_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter___FieldInfo_annotation_NoneType__required_True__discriminator__type____-Input'
          - type: 'null'
        group_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Group By
      type: object
      required:
      - name
      title: CustomDashboardCreateRequest
      description: Request to create a custom dashboard at the organization level.
    CustomDashboardWidgetResponse:
      properties:
        id:
          type: string
          format: uuid4
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        type:
          $ref: '#/components/schemas/WidgetType'
        dataset:
          anyOf:
          - items:
              additionalProperties:
                items:
                  type: string
                type: array
              type: object
            type: array
            maxItems: 50
          - type: 'null'
          title: Dataset
        metric:
          type: string
          title: Metric
        aggregation:
          $ref: '#/components/schemas/MetricAggregation'
        section_id:
          anyOf:
          - type: string
            format: uuid4
          - type: 'null'
          title: Section Id
        analysis_mode:
          anyOf:
          - $ref: '#/components/schemas/AnalysisMode'
          - type: 'null'
      type: object
      required:
      - id
      - name
      - type
      - metric
      - aggregation
      title: CustomDashboardWidgetResponse
    CustomDashboardSectionUpdateRequest:
      properties:
        name:
          anyOf:
          - type: string
            maxLength: 100
            minLength: 1
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
            maxLength: 500
          - type: 'null'
          title: Description
        color:
          anyOf:
          - type: string
            maxLength: 7
            pattern: ^#[0-9A-Fa-f]{6}$
          - type: 'null'
          title: Color
      type: object
      title: CustomDashboardSectionUpdateRequest
    CustomDashboardSectionResponse:
      properties:
        id:
          type: string
          format: uuid4
          title: Id
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        color:
          anyOf:
          - type: string
          - type: 'null'
          title: Color
        widgets:
          items:
            $ref: '#/components/schemas/CustomDashboardWidgetResponse'
          type: array
          maxItems: 50
          title: Widgets
      type: object
      required:
      - id
      - name
      title: CustomDashboardSectionResponse
    MultimodalCapability:
      type: string
      enum:
      - vision
      - audio
      title: MultimodalCapability
    CustomDashboardResponse:
      properties:
        id:
          type: string
          format: uuid4
          title: Id
        organization_id:
          type: string
          format: uuid4
          title: Organization Id
        created_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        layout_map:
          additionalProperties: true
          type: object
          title: Layout Map
        interval_mins:
          type: integer
          title: Interval Mins
        group_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Group By
        filter_tree:
          anyOf:
          - $ref: '#/components/schemas/FilterExpression_Annotated_Union_LogRecordsIDFilter__LogRecordsDateFilter__LogRecordsNumberFilter__LogRecordsBooleanFilter__LogRecordsCollectionFilter__LogRecordsTextFilter__LogRecordsFullyAnnotatedFilter__

# --- truncated at 32 KB (88 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/galileo-technologies/refs/heads/main/openapi/galileo-technologies-custom-dashboards-api-openapi.yml