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

# Create As Alternative



## OpenAPI

````yaml /openapi.json post /v1/workspaces/{workspaceId}/catalog-families/{id}/core-changes/create-as-alternative
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}/catalog-families/{id}/core-changes/create-as-alternative:
    post:
      tags:
        - Catalog Core Change Alternatives
      summary: Create As Alternative
      operationId: CatalogCoreChangeAlternativesController_createAsAlternative_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCatalogAlternativeDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogCreateAlternativeResponseDto'
components:
  schemas:
    CreateCatalogAlternativeDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
        catalogFamilyVersion:
          type: integer
          minimum: 1
          maximum: 9007199254740991
        catalogItemId:
          type: string
          pattern: ^\d+$
        catalogItemVersion:
          type: integer
          minimum: 1
          maximum: 9007199254740991
        sku:
          type: string
          description: >-
            Manual SKU. Required when autoGenerateSku is omitted or false; omit
            when autoGenerateSku is true.
        autoGenerateSku:
          default: false
          description: When true, the server generates the SKU and sku must be omitted.
          type: boolean
        intendedChanges:
          minItems: 1
          maxItems: 100
          type: array
          items:
            type: object
            properties:
              columnId:
                type: string
                pattern: ^\d+$
              value: {}
            required:
              - columnId
              - value
            additionalProperties: false
      required:
        - name
        - catalogFamilyVersion
        - catalogItemId
        - catalogItemVersion
        - intendedChanges
      description: >-
        Choose exactly one SKU mode: provide sku for manual mode, or set
        autoGenerateSku=true and omit sku.
      additionalProperties: false
    CatalogCreateAlternativeResponseDto:
      type: object
      properties:
        sourceCatalogFamilyId:
          type: string
        catalogFamily:
          $ref: '#/components/schemas/CreatedAlternativeCatalogFamilyDto'
      required:
        - sourceCatalogFamilyId
        - catalogFamily
    CreatedAlternativeCatalogFamilyDto:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - ready_to_use
        id:
          type: string
        name:
          type: string
        version:
          type: number
        primaryCatalogItemId:
          type: string
        primaryCatalogItemVersion:
          type: number
        sku:
          type: string
      required:
        - status
        - id
        - name
        - version
        - primaryCatalogItemId
        - primaryCatalogItemVersion
        - sku

````