> ## 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 post /v1/workspaces/{workspaceId}/standard-rollouts/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}/standard-rollouts/preview:
    post:
      tags:
        - Standard Rollouts
      summary: Preview
      operationId: StandardRolloutsController_preview_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewStandardRolloutDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardRolloutPreviewResponseDto'
      security:
        - bearer: []
components:
  schemas:
    PreviewStandardRolloutDto:
      type: object
      properties:
        schemaVersion:
          type: number
          const: 1
        source:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  const: catalog
                scope:
                  type: object
                  properties:
                    surface:
                      type: string
                      enum:
                        - catalog_products
                        - catalog_materials
                    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
                      required:
                        - schemaVersion
                        - columns
                        - quickFilters
                        - advancedFilter
                        - groupBy
                        - sort
                      additionalProperties: false
                    search:
                      type: string
                      minLength: 1
                      maxLength: 255
                    mode:
                      type: string
                      const: table_query
                    selection:
                      type: object
                      properties:
                        schemaVersion:
                          type: number
                          const: 1
                        defaultSelected:
                          type: boolean
                        groupOverrides:
                          maxItems: 500
                          type: array
                          items:
                            type: object
                            properties:
                              path:
                                minItems: 1
                                maxItems: 2
                                type: array
                                items:
                                  type: object
                                  properties:
                                    fieldKey:
                                      type: string
                                      minLength: 1
                                      maxLength: 255
                                    valueKey:
                                      anyOf:
                                        - type: string
                                          minLength: 1
                                          maxLength: 1000
                                        - type: 'null'
                                  required:
                                    - fieldKey
                                    - valueKey
                                  additionalProperties: false
                              selected:
                                type: boolean
                            required:
                              - path
                              - selected
                            additionalProperties: false
                        familyOverrides:
                          maxItems: 500
                          type: array
                          items:
                            type: object
                            properties:
                              familyId:
                                type: string
                              selected:
                                type: boolean
                            required:
                              - familyId
                              - selected
                            additionalProperties: false
                      required:
                        - schemaVersion
                        - defaultSelected
                        - groupOverrides
                        - familyOverrides
                      additionalProperties: false
                  required:
                    - surface
                    - configuration
                    - mode
                    - selection
                  additionalProperties: false
              required:
                - kind
                - scope
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  const: fabrication_template
                scope:
                  type: object
                  properties:
                    mode:
                      type: string
                      const: query
                    query:
                      type: object
                      properties:
                        categoryId:
                          type: string
                        search:
                          type: string
                          minLength: 1
                          maxLength: 255
                        sortBy:
                          default: createdAt
                          type: string
                          enum:
                            - createdAt
                            - refNumber
                            - position
                        sortOrder:
                          default: desc
                          type: string
                          enum:
                            - asc
                            - desc
                        status:
                          type: string
                          enum:
                            - draft
                            - new_from_project
                            - new_from_collection
                            - ready_to_use
                        filter:
                          type: object
                          propertyNames:
                            type: string
                            minLength: 1
                            maxLength: 255
                          additionalProperties:
                            $ref: >-
                              #/components/schemas/PreviewStandardRolloutDtoColumnFilterValueSchema
                      additionalProperties: false
                    selection:
                      type: object
                      properties:
                        schemaVersion:
                          type: number
                          const: 1
                        defaultSelected:
                          type: boolean
                        brandStandardOverrides:
                          maxItems: 500
                          type: array
                          items:
                            type: object
                            properties:
                              brandStandardId:
                                type: string
                              selected:
                                type: boolean
                            required:
                              - brandStandardId
                              - selected
                            additionalProperties: false
                      required:
                        - schemaVersion
                        - defaultSelected
                        - brandStandardOverrides
                      additionalProperties: false
                  required:
                    - mode
                    - query
                    - selection
                  additionalProperties: false
              required:
                - kind
                - scope
              additionalProperties: false
        targets:
          oneOf:
            - type: object
              properties:
                mode:
                  type: string
                  const: explicit
                projectIds:
                  minItems: 1
                  maxItems: 100
                  type: array
                  items:
                    type: string
              required:
                - mode
                - projectIds
              additionalProperties: false
            - type: object
              properties:
                mode:
                  type: string
                  const: query
                regions:
                  maxItems: 20
                  type: array
                  items:
                    enum:
                      - north_america
                      - east_coast
                      - west_coast
                      - europe
                      - middle_east
                      - latin_america
                      - apac
                    type: string
              required:
                - mode
              additionalProperties: false
      required:
        - schemaVersion
        - source
        - targets
      additionalProperties: false
    StandardRolloutPreviewResponseDto:
      type: object
      properties:
        sourceKind:
          type: string
          enum:
            - catalog
            - fabrication_template
        sourceCount:
          type: number
        targetCount:
          type: number
        totalPairs:
          type: number
        counts:
          $ref: '#/components/schemas/StandardRolloutPreviewCountsDto'
      required:
        - sourceKind
        - sourceCount
        - targetCount
        - totalPairs
        - counts
    PreviewStandardRolloutDtoColumnFilterValueSchema:
      type: object
      properties:
        value:
          anyOf:
            - type: string
            - type: number
            - type: boolean
        values:
          type: array
          items:
            type: string
        min:
          type: number
        max:
          type: number
        from:
          type: string
        to:
          type: string
        mode:
          type: string
          enum:
            - contains
            - equals
      additionalProperties: false
    StandardRolloutPreviewCountsDto:
      type: object
      properties:
        willAdd:
          type: number
        alreadyPresent:
          type: number
        previouslyRemoved:
          type: number
      required:
        - willAdd
        - alreadyPresent
        - previouslyRemoved
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````