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

# List Catalog Family Replacement Candidates



## OpenAPI

````yaml /openapi.json get /v1/workspaces/{workspaceId}/project-item-replacement-candidates
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}/project-item-replacement-candidates:
    get:
      tags:
        - Catalog Family Replacement Candidates
      summary: List Catalog Family Replacement Candidates
      operationId: CatalogFamilyReplacementCandidatesController_findAll_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            maximum: 100
            default: 20
            type: integer
        - name: cursor
          required: false
          in: query
          schema:
            type: string
        - name: sourceCatalogFamilyId
          required: true
          in: query
          schema:
            type: string
            pattern: ^[1-9]\d*$
        - name: filter
          required: false
          in: query
          schema:
            additionalProperties:
              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
            type: object
          style: deepObject
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CatalogFamilyReplacementCandidatesResponseDto
components:
  schemas:
    CatalogFamilyReplacementCandidatesResponseDto:
      type: object
      properties:
        sourceItemType:
          type: string
          enum:
            - default
            - material
        items:
          type: array
          items:
            $ref: '#/components/schemas/CatalogFamilyListItemDto'
        nextCursor:
          type: string
          nullable: true
        hasMore:
          type: boolean
      required:
        - sourceItemType
        - items
        - nextCursor
        - hasMore
    CatalogFamilyListItemDto:
      type: object
      properties:
        finishesCount:
          type: number
        productsCount:
          type: number
        id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
            - draft
            - new_from_project
            - new_from_collection
            - ready_to_use
        itemType:
          type: string
          enum:
            - default
            - material
            - template
        position:
          type: number
          nullable: true
        categoryId:
          type: string
        productTypeId:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        categoryName:
          type: string
        primaryImageUrl:
          type: string
          nullable: true
        columnsAttributes:
          type: object
          additionalProperties: true
        primaryItemId:
          type: string
          nullable: true
        primaryItemName:
          type: string
          nullable: true
        primaryItemVersion:
          type: number
          nullable: true
        primaryItemColumnsAttributes:
          type: object
          additionalProperties: true
        primaryFamilySourceId:
          type: string
          nullable: true
        primarySourceContactCompany:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ContactCompanyResponseDto'
        primarySourceContactOffice:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ContactOfficeResponseDto'
        primaryFamilySourceVersion:
          type: number
          nullable: true
        primarySourceColumnsAttributes:
          type: object
          additionalProperties: true
        primaryItemSourceId:
          type: string
          nullable: true
        primaryItemSourceVersion:
          type: number
          nullable: true
        primaryItemSourceColumnsAttributes:
          type: object
          additionalProperties: true
        metadata:
          type: object
          additionalProperties:
            type: string
        partsCount:
          type: number
        materialsCount:
          type: number
        usedAsParts:
          type: boolean
        catalogAlternativeCount:
          type: number
        similarItemsCount:
          type: number
        coreChangePolicy:
          type: object
        version:
          type: number
        createdAt:
          type: string
        updatedAt:
          type: string
      required:
        - id
        - name
        - status
        - itemType
        - position
        - categoryId
        - productTypeId
        - code
        - categoryName
        - primaryImageUrl
        - columnsAttributes
        - primaryItemId
        - primaryItemName
        - primaryItemVersion
        - primaryItemColumnsAttributes
        - primaryFamilySourceId
        - primarySourceContactCompany
        - primarySourceContactOffice
        - primaryFamilySourceVersion
        - primarySourceColumnsAttributes
        - primaryItemSourceId
        - primaryItemSourceVersion
        - primaryItemSourceColumnsAttributes
        - metadata
        - partsCount
        - materialsCount
        - usedAsParts
        - catalogAlternativeCount
        - similarItemsCount
        - coreChangePolicy
        - version
        - createdAt
        - updatedAt
    ContactCompanyResponseDto:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/CompanyIdentityResponseDto'
        id:
          type: string
        name:
          type: string
        domain:
          type: string
          nullable: true
        available:
          type: boolean
      required:
        - id
        - name
        - domain
        - available
    ContactOfficeResponseDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        address:
          type: string
          nullable: true
        currency:
          nullable: true
          enum:
            - USD
            - CAD
            - GBP
            - EUR
            - CNY
            - JPY
            - MXN
            - AFN
            - ALL
            - DZD
            - AOA
            - ARS
            - AMD
            - AWG
            - AUD
            - AZN
            - BSD
            - BHD
            - BDT
            - BYN
            - BZD
            - BMD
            - BTN
            - BOB
            - BAM
            - BWP
            - BRL
            - BND
            - BGN
            - MMK
            - BIF
            - KHR
            - CVE
            - KYD
            - XAF
            - XPF
            - CLP
            - COP
            - KMF
            - CDF
            - CRC
            - HRK
            - CUP
            - CZK
            - DKK
            - DJF
            - DOP
            - XCD
            - EGP
            - ERN
            - ETB
            - FKP
            - FJD
            - GMD
            - GEL
            - GHS
            - GIP
            - GTQ
            - GNF
            - GYD
            - HTG
            - HNL
            - HKD
            - HUF
            - ISK
            - INR
            - IDR
            - IRR
            - IQD
            - ILS
            - JMD
            - JOD
            - KZT
            - KES
            - KWD
            - KGS
            - LAK
            - LBP
            - LSL
            - LRD
            - LYD
            - MOP
            - MGA
            - MWK
            - MYR
            - MVR
            - MRU
            - MUR
            - MDL
            - MNT
            - MAD
            - MZN
            - NAD
            - NPR
            - ANG
            - TWD
            - NZD
            - NIO
            - NGN
            - MKD
            - NOK
            - OMR
            - PKR
            - PAB
            - PGK
            - PYG
            - PEN
            - PHP
            - PLN
            - QAR
            - RON
            - RUB
            - RWF
            - SHP
            - WST
            - SAR
            - RSD
            - SCR
            - SLE
            - SGD
            - SBD
            - SOS
            - ZAR
            - KRW
            - SSP
            - LKR
            - SDG
            - SRD
            - SZL
            - SEK
            - CHF
            - SYP
            - STN
            - TJS
            - TZS
            - THB
            - TOP
            - TTD
            - TND
            - TRY
            - TMT
            - UGX
            - UAH
            - AED
            - UYU
            - UZS
            - VUV
            - VES
            - VND
            - XOF
            - YER
            - ZMW
          type: string
        available:
          type: boolean
      required:
        - id
        - name
        - address
        - currency
        - available
    CompanyIdentityResponseDto:
      type: object
      properties:
        globalCompany:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/GlobalCompanyResponseDto'
        version:
          type: number
          nullable: true
        suggestion:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/CompanyIdentitySuggestionDto'
      required:
        - globalCompany
        - version
    GlobalCompanyResponseDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        primaryType:
          enum:
            - brand
            - rep
            - dealer
            - distributor
          type: string
        legalName:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        aliases:
          type: array
          items:
            type: string
        domains:
          type: array
          items:
            type: string
        retiredAt:
          type: string
          nullable: true
      required:
        - id
        - name
        - primaryType
        - legalName
        - country
        - aliases
        - domains
        - retiredAt
    CompanyIdentitySuggestionDto:
      type: object
      properties:
        candidates:
          type: array
          items:
            $ref: '#/components/schemas/CompanyIdentityCandidateResponseDto'
        expectedVersion:
          type: number
          nullable: true
        evidenceFingerprint:
          type: string
      required:
        - candidates
        - expectedVersion
        - evidenceFingerprint
    CompanyIdentityCandidateResponseDto:
      type: object
      properties:
        company:
          $ref: '#/components/schemas/GlobalCompanyResponseDto'
        nameMatch:
          type: boolean
        matchingHosts:
          type: array
          items:
            type: string
        typeMatch:
          type: boolean
      required:
        - company
        - nameMatch
        - matchingHosts
        - typeMatch

````