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

# Get Catalog Families



## OpenAPI

````yaml /openapi.json get /v1/workspaces/{workspaceId}/catalog-families/{id}
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}:
    get:
      tags:
        - Catalog Families
      summary: Get Catalog Families
      operationId: CatalogFamiliesController_findById_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogFamilyDetailDto'
components:
  schemas:
    CatalogFamilyDetailDto:
      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
        manufacturerCompany:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/CatalogManufacturerResponseDto'
        restored:
          type: boolean
        deletedAt:
          type: string
          nullable: true
        images:
          type: array
          items:
            $ref: '#/components/schemas/CatalogFamilyImageDto'
        items:
          type: array
          items:
            $ref: '#/components/schemas/CatalogItemDto'
        enrichedParts:
          type: array
          items:
            $ref: '#/components/schemas/EnrichedPartDto'
        affectedParentFamilyIds:
          type: array
          items:
            type: string
        affectedProjectIds:
          type: array
          items:
            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
        - manufacturerCompany
        - restored
        - deletedAt
        - images
        - items
        - enrichedParts
        - affectedParentFamilyIds
        - affectedProjectIds
    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
    CatalogManufacturerResponseDto:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/CompanyIdentityResponseDto'
        id:
          type: string
        name:
          type: string
        available:
          type: boolean
      required:
        - id
        - name
        - available
    CatalogFamilyImageDto:
      type: object
      properties:
        id:
          type: string
        familyId:
          type: string
        url:
          type: string
        filename:
          type: string
        isPrimary:
          type: boolean
        version:
          type: number
        createdAt:
          type: string
        updatedAt:
          type: string
        affectedParentFamilyIds:
          type: array
          items:
            type: string
        affectedProjectIds:
          type: array
          items:
            type: string
      required:
        - id
        - familyId
        - url
        - filename
        - isPrimary
        - version
        - createdAt
        - updatedAt
        - affectedParentFamilyIds
        - affectedProjectIds
    CatalogItemDto:
      type: object
      properties:
        id:
          type: string
        familyId:
          type: string
        name:
          type: string
        isPrimary:
          type: boolean
        columnsAttributes:
          type: object
          additionalProperties: true
        version:
          type: number
        createdAt:
          type: string
        updatedAt:
          type: string
        affectedParentFamilyIds:
          type: array
          items:
            type: string
        affectedProjectIds:
          type: array
          items:
            type: string
      required:
        - id
        - familyId
        - name
        - isPrimary
        - columnsAttributes
        - version
        - createdAt
        - updatedAt
        - affectedParentFamilyIds
        - affectedProjectIds
    EnrichedPartDto:
      type: object
      properties:
        id:
          type: string
        itemId:
          type: string
        partItemId:
          type: string
        partItemName:
          type: string
        partItemColumnsAttributes:
          type: object
          additionalProperties: true
        partItemVersion:
          type: number
        quantity:
          type: string
        createdAt:
          type: string
        partFamily:
          $ref: '#/components/schemas/PartFamilySummaryDto'
        primaryItemSourceId:
          type: string
          nullable: true
        sources:
          type: array
          items:
            $ref: '#/components/schemas/CatalogItemSourceResponseDto'
      required:
        - id
        - itemId
        - partItemId
        - partItemName
        - partItemColumnsAttributes
        - partItemVersion
        - quantity
        - createdAt
        - partFamily
        - primaryItemSourceId
        - sources
    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
    PartFamilySummaryDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
        itemType:
          type: string
        categoryId:
          type: string
        categoryName:
          type: string
        primaryImageUrl:
          type: string
          nullable: true
        partsCount:
          type: number
        materialsCount:
          type: number
        version:
          type: number
      required:
        - id
        - name
        - status
        - itemType
        - categoryId
        - categoryName
        - primaryImageUrl
        - partsCount
        - materialsCount
        - version
    CatalogItemSourceResponseDto:
      type: object
      properties:
        id:
          type: string
        itemId:
          type: string
        familySourceId:
          type: string
        columnsAttributes:
          type: object
          additionalProperties: true
        version:
          type: number
        createdAt:
          type: string
        updatedAt:
          type: string
        affectedParentFamilyIds:
          type: array
          items:
            type: string
        affectedProjectIds:
          type: array
          items:
            type: string
      required:
        - id
        - itemId
        - familySourceId
        - columnsAttributes
        - version
        - createdAt
        - updatedAt
        - affectedParentFamilyIds
        - affectedProjectIds
    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

````