> ## 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.

# Preview



## OpenAPI

````yaml /openapi.json get /v1/workspaces/{workspaceId}/projects/{projectId}/collection-applications/preview
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}/projects/{projectId}/collection-applications/preview:
    get:
      tags:
        - Collection Applications
      summary: Preview
      operationId: CollectionApplicationsController_preview_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
            pattern: ^[1-9]\d*$
        - name: projectId
          required: true
          in: path
          schema:
            type: string
            pattern: ^[1-9]\d*$
        - name: collectionId
          required: true
          in: query
          schema:
            type: string
            pattern: ^[1-9]\d*$
        - name: collectionGeneration
          required: true
          in: query
          schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 9007199254740991
        - name: collectionVersion
          required: true
          in: query
          schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 9007199254740991
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionApplicationPreviewResponseDto'
      security:
        - bearer: []
components:
  schemas:
    CollectionApplicationPreviewResponseDto:
      type: object
      properties:
        preview:
          $ref: '#/components/schemas/CollectionApplicationPreviewDto'
      required:
        - preview
    CollectionApplicationPreviewDto:
      type: object
      properties:
        collection:
          $ref: '#/components/schemas/CollectionApplicationCollectionSnapshotDto'
        state:
          $ref: '#/components/schemas/CollectionApplicationStateDto'
        counts:
          $ref: '#/components/schemas/CollectionApplicationCountsDto'
        groups:
          type: array
          items:
            $ref: '#/components/schemas/CollectionApplicationGroupDto'
      required:
        - collection
        - state
        - counts
        - groups
    CollectionApplicationCollectionSnapshotDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        brand:
          type: string
        region:
          type: string
        areaTypeLabel:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        currencyCode:
          type: string
        generation:
          type: number
        version:
          type: number
        entriesCount:
          type: number
      required:
        - id
        - name
        - brand
        - region
        - areaTypeLabel
        - description
        - currencyCode
        - generation
        - version
        - entriesCount
    CollectionApplicationStateDto:
      type: object
      properties:
        status:
          type: string
      required:
        - status
    CollectionApplicationCountsDto:
      type: object
      properties:
        entries:
          type: number
        mandatoryEntries:
          type: number
        optionalEntries:
          type: number
        initiallySelectedEntries:
          type: number
        expandedNodes:
          type: number
      required:
        - entries
        - mandatoryEntries
        - optionalEntries
        - initiallySelectedEntries
        - expandedNodes
    CollectionApplicationGroupDto:
      type: object
      properties:
        lines:
          maxItems: 100
          type: array
          items:
            $ref: '#/components/schemas/CollectionApplicationLineDto'
        categoryId:
          type: string
        categoryLabel:
          type: string
      required:
        - lines
        - categoryId
        - categoryLabel
    CollectionApplicationLineDto:
      type: object
      properties:
        referenceItems:
          maxItems: 10
          type: array
          items:
            $ref: '#/components/schemas/CollectionApplicationReferenceItemDto'
        entryId:
          type: string
        position:
          type: number
        productTypeId:
          type: string
        productTypeLabel:
          type: string
        quantity:
          type: string
        mandatoryItem:
          type: boolean
        designReviewRequired:
          type: boolean
        selectedReferenceItemId:
          type: string
          nullable: true
      required:
        - referenceItems
        - entryId
        - position
        - productTypeId
        - productTypeLabel
        - quantity
        - mandatoryItem
        - designReviewRequired
        - selectedReferenceItemId
    CollectionApplicationReferenceItemDto:
      type: object
      properties:
        unavailableReason:
          nullable: true
          enum:
            - family_archived
            - family_not_ready
            - spec_template_archived
          type: string
        sourceNavigation:
          type: object
          additionalProperties: false
          nullable: true
          example: null
          description: >-
            Reserved navigation metadata; always null at the Collection preview
            permission boundary.
        id:
          type: string
        referenceCode:
          type: string
          nullable: true
        kind:
          type: string
          enum:
            - catalog_item
            - spec_template
        name:
          type: string
        vendorName:
          type: string
          nullable: true
        sourceLabel:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
        selected:
          type: boolean
        available:
          type: boolean
      required:
        - unavailableReason
        - sourceNavigation
        - id
        - referenceCode
        - kind
        - name
        - vendorName
        - sourceLabel
        - imageUrl
        - selected
        - available
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````