> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.specurate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Selection



## OpenAPI

````yaml /openapi.json get /v1/workspaces/{workspaceId}/table-views/catalog/selection
openapi: 3.1.0
info:
  title: Specurate API
  description: ''
  version: 1.0.0
  contact: {}
servers:
  - url: https://app.specurate.com/api
    description: API Server
security: []
tags: []
paths:
  /v1/workspaces/{workspaceId}/table-views/catalog/selection:
    get:
      tags:
        - Catalog Table Views
      summary: Selection
      operationId: CatalogTableViewsController_selection_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: surface
          required: true
          in: query
          schema:
            type: string
            enum:
              - catalog_products
              - catalog_materials
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableViewSelectionResponseDto'
components:
  schemas:
    TableViewSelectionResponseDto:
      type: object
      properties:
        view:
          anyOf:
            - type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                  minLength: 1
                  maxLength: 255
                surface:
                  type: string
                  enum:
                    - catalog_products
                    - catalog_materials
                    - collection_entries
                    - project_specifications
                configuration:
                  type: object
                  properties:
                    schemaVersion:
                      type: number
                      const: 1
                    columns:
                      maxItems: 200
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 255
                    quickFilters:
                      type: object
                      properties:
                        status:
                          maxItems: 20
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 255
                        categoryIds:
                          maxItems: 100
                          type: array
                          items:
                            type: string
                            minLength: 1
                            maxLength: 255
                        columnFilters:
                          maxItems: 50
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  fieldKey:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  type:
                                    type: string
                                    const: text
                                  value:
                                    type: string
                                    minLength: 1
                                    maxLength: 1000
                                  mode:
                                    type: string
                                    enum:
                                      - contains
                                      - equals
                                required:
                                  - fieldKey
                                  - type
                                  - value
                                  - mode
                                additionalProperties: false
                              - type: object
                                properties:
                                  fieldKey:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  type:
                                    type: string
                                    const: number
                                  min:
                                    type: number
                                  max:
                                    type: number
                                required:
                                  - fieldKey
                                  - type
                                additionalProperties: false
                              - type: object
                                properties:
                                  fieldKey:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  type:
                                    type: string
                                    const: boolean
                                  value:
                                    type: boolean
                                required:
                                  - fieldKey
                                  - type
                                  - value
                                additionalProperties: false
                              - type: object
                                properties:
                                  fieldKey:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  type:
                                    type: string
                                    const: list
                                  values:
                                    minItems: 1
                                    maxItems: 100
                                    type: array
                                    items:
                                      type: string
                                      minLength: 1
                                      maxLength: 255
                                required:
                                  - fieldKey
                                  - type
                                  - values
                                additionalProperties: false
                              - type: object
                                properties:
                                  fieldKey:
                                    type: string
                                    minLength: 1
                                    maxLength: 255
                                  type:
                                    type: string
                                    const: date
                                  from:
                                    type: string
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                  to:
                                    type: string
                                    format: date
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                required:
                                  - fieldKey
                                  - type
                                additionalProperties: false
                      required:
                        - status
                        - categoryIds
                        - columnFilters
                      additionalProperties: false
                    advancedFilter:
                      type: object
                      properties:
                        sets:
                          maxItems: 5
                          type: array
                          items:
                            type: object
                            properties:
                              conditions:
                                minItems: 1
                                maxItems: 10
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        fieldKey:
                                          type: string
                                          minLength: 1
                                          maxLength: 255
                                        operator:
                                          type: string
                                          enum:
                                            - is_any_of
                                            - is_not_any_of
                                        values:
                                          minItems: 1
                                          maxItems: 100
                                          type: array
                                          items:
                                            type: string
                                            minLength: 1
                                            maxLength: 255
                                      required:
                                        - fieldKey
                                        - operator
                                        - values
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        fieldKey:
                                          type: string
                                          minLength: 1
                                          maxLength: 255
                                        operator:
                                          type: string
                                          enum:
                                            - contains
                                            - does_not_contain
                                        value:
                                          type: string
                                          minLength: 1
                                          maxLength: 1000
                                      required:
                                        - fieldKey
                                        - operator
                                        - value
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        fieldKey:
                                          type: string
                                          minLength: 1
                                          maxLength: 255
                                        operator:
                                          type: string
                                          enum:
                                            - is_empty
                                            - is_not_empty
                                      required:
                                        - fieldKey
                                        - operator
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        fieldKey:
                                          type: string
                                          minLength: 1
                                          maxLength: 255
                                        operator:
                                          type: string
                                          enum:
                                            - date_on
                                            - date_before
                                            - date_after
                                        value:
                                          type: string
                                          format: date
                                          pattern: >-
                                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                      required:
                                        - fieldKey
                                        - operator
                                        - value
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        fieldKey:
                                          type: string
                                          minLength: 1
                                          maxLength: 255
                                        operator:
                                          type: string
                                          const: date_between
                                        from:
                                          type: string
                                          format: date
                                          pattern: >-
                                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                        to:
                                          type: string
                                          format: date
                                          pattern: >-
                                            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                                      required:
                                        - fieldKey
                                        - operator
                                        - from
                                        - to
                                      additionalProperties: false
                            required:
                              - conditions
                            additionalProperties: false
                      required:
                        - sets
                      additionalProperties: false
                    groupBy:
                      maxItems: 2
                      type: array
                      items:
                        type: object
                        properties:
                          fieldKey:
                            type: string
                            minLength: 1
                            maxLength: 255
                          direction:
                            type: string
                            enum:
                              - asc
                              - desc
                        required:
                          - fieldKey
                          - direction
                        additionalProperties: false
                    sort:
                      maxItems: 1
                      type: array
                      items:
                        type: object
                        properties:
                          fieldKey:
                            type: string
                            minLength: 1
                            maxLength: 255
                          direction:
                            type: string
                            enum:
                              - asc
                              - desc
                        required:
                          - fieldKey
                          - direction
                        additionalProperties: false
                    components:
                      type: object
                      properties:
                        parentSearch:
                          type: string
                          minLength: 1
                          maxLength: 255
                        parentCategoryId:
                          type: string
                        search:
                          type: string
                          minLength: 1
                          maxLength: 255
                        componentCategoryId:
                          type: string
                        columns:
                          anyOf:
                            - maxItems: 200
                              type: array
                              items:
                                type: string
                                minLength: 1
                                maxLength: 255
                            - type: 'null'
                      required:
                        - columns
                      additionalProperties: false
                  required:
                    - schemaVersion
                    - columns
                    - quickFilters
                    - advancedFilter
                    - groupBy
                    - sort
                  additionalProperties: false
                version:
                  type: integer
                  minimum: 1
                  maximum: 9007199254740991
                scope:
                  type: string
                  enum:
                    - workspace
                    - teams
                    - private
                ownerId:
                  anyOf:
                    - type: string
                    - type: 'null'
                teamIds:
                  type: array
                  items:
                    type: string
                isDefault:
                  type: boolean
                defaultPriority:
                  type: integer
                  minimum: 0
                  maximum: 1000
                canManage:
                  type: boolean
                createdAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                updatedAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              required:
                - id
                - name
                - surface
                - configuration
                - version
                - scope
                - ownerId
                - teamIds
                - isDefault
                - defaultPriority
                - canManage
                - createdAt
                - updatedAt
              additionalProperties: false
            - type: 'null'
        source:
          type: string
          enum:
            - last_used
            - team_default
            - workspace_default
            - builtin
        lastUsedViewId:
          anyOf:
            - type: string
            - type: 'null'
        hasLastUsed:
          type: boolean
      required:
        - view
        - source
        - lastUsedViewId
        - hasLastUsed
      additionalProperties: false

````