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

# Add Reference Item



## OpenAPI

````yaml /openapi.json post /v1/workspaces/{workspaceId}/collections/{id}/entries/{entryId}/reference-items
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}/collections/{id}/entries/{entryId}/reference-items:
    post:
      tags:
        - Collections
      summary: Add Reference Item
      operationId: CollectionsController_addReferenceItem_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: entryId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCollectionReferenceItemDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CollectionReferenceItemMutationResponseDto
      security:
        - bearer: []
components:
  schemas:
    AddCollectionReferenceItemDto:
      type: object
      properties:
        source:
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  const: catalog_item
                catalogItemId:
                  type: string
                catalogFamilySourceId:
                  anyOf:
                    - type: string
                    - type: 'null'
              required:
                - kind
                - catalogItemId
                - catalogFamilySourceId
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  const: spec_template
                brandStandardId:
                  type: string
              required:
                - kind
                - brandStandardId
              additionalProperties: false
        entryVersion:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        collectionVersion:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
      required:
        - source
        - entryVersion
        - collectionVersion
      additionalProperties: false
    CollectionReferenceItemMutationResponseDto:
      type: object
      properties:
        item:
          oneOf:
            - $ref: '#/components/schemas/CollectionCatalogReferenceItemDto'
            - $ref: '#/components/schemas/CollectionSpecTemplateReferenceItemDto'
          discriminator:
            propertyName: kind
        created:
          type: boolean
        entryVersion:
          type: number
        collectionVersion:
          type: number
      required:
        - item
        - created
        - entryVersion
        - collectionVersion
    CollectionCatalogReferenceItemDto:
      type: object
      properties:
        kind:
          type: string
          enum:
            - catalog_item
        catalogItemId:
          type: string
        catalogFamilySourceId:
          type: string
          nullable: true
        catalogAttributes:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/CollectionCatalogReferenceAttributesDto'
        catalogFamilyVersion:
          type: number
          nullable: true
        catalogItemVersion:
          type: number
          nullable: true
        catalogItemSourceVersion:
          type: number
          nullable: true
        id:
          type: string
        referenceCode:
          type: string
          nullable: true
        name:
          type: string
        vendorName:
          type: string
          nullable: true
        sourceLabel:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
        available:
          type: boolean
        status:
          type: string
          enum:
            - draft
            - pending
            - discontinued
            - approved
        position:
          type: number
        version:
          type: number
        dimensions:
          type: string
          nullable: true
        finish:
          type: string
          nullable: true
        quantity:
          type: string
          nullable: true
        price:
          type: string
          nullable: true
        writableValueFields:
          type: array
          items:
            type: string
            enum:
              - finish
              - dimensions
              - price
        materialsCount:
          type: number
        partsCount:
          type: number
        componentsCount:
          type: number
      required:
        - kind
        - catalogItemId
        - catalogFamilySourceId
        - catalogAttributes
        - catalogFamilyVersion
        - catalogItemVersion
        - catalogItemSourceVersion
        - id
        - referenceCode
        - name
        - vendorName
        - sourceLabel
        - imageUrl
        - available
        - status
        - position
        - version
        - dimensions
        - finish
        - quantity
        - price
        - writableValueFields
        - materialsCount
        - partsCount
        - componentsCount
    CollectionSpecTemplateReferenceItemDto:
      type: object
      properties:
        kind:
          type: string
          enum:
            - spec_template
        brandStandardId:
          type: string
        brandStandardVersion:
          type: number
          nullable: true
        id:
          type: string
        referenceCode:
          type: string
          nullable: true
        name:
          type: string
        vendorName:
          type: string
          nullable: true
        sourceLabel:
          type: string
          nullable: true
        imageUrl:
          type: string
          nullable: true
        available:
          type: boolean
        status:
          type: string
          enum:
            - draft
            - pending
            - discontinued
            - approved
        position:
          type: number
        version:
          type: number
        dimensions:
          type: string
          nullable: true
        finish:
          type: string
          nullable: true
        quantity:
          type: string
          nullable: true
        price:
          type: string
          nullable: true
        writableValueFields:
          type: array
          items:
            type: string
            enum:
              - finish
              - dimensions
              - price
        materialsCount:
          type: number
        partsCount:
          type: number
        componentsCount:
          type: number
      required:
        - kind
        - brandStandardId
        - brandStandardVersion
        - id
        - referenceCode
        - name
        - vendorName
        - sourceLabel
        - imageUrl
        - available
        - status
        - position
        - version
        - dimensions
        - finish
        - quantity
        - price
        - writableValueFields
        - materialsCount
        - partsCount
        - componentsCount
    CollectionCatalogReferenceAttributesDto:
      type: object
      properties:
        family:
          type: object
          additionalProperties: true
        item:
          type: object
          additionalProperties: true
        familySource:
          type: object
          nullable: true
          additionalProperties: true
        itemSource:
          type: object
          nullable: true
          additionalProperties: true
      required:
        - family
        - item
        - familySource
        - itemSource
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````