> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joinluminous.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Set base UOM for a unit class

> Mark a UOM as the base unit for its parent unit class. The previous base UOM (if any) is unset, and conversion
factors continue to be expressed relative to the new base.




## OpenAPI

````yaml /api-reference/build.yaml post /unit-classes/{unitClassId}/default-unit-of-measure/{unitOfMeasureId}
openapi: 3.0.0
info:
  title: Luminous API
  version: 1.0.0
  description: API documentation for Luminous
servers:
  - url: https://{companyName}.api.joinluminous.com/external/api/v1
    variables:
      companyName:
        default: companyName
        description: Your company-specific subdomain
security: []
tags:
  - name: Products
    description: Get and manage products
  - name: Pricing
    description: Manage price schedules, levels, and customizations
  - name: BOMs
    description: Manage Bills of Materials (BOMs)
  - name: Labels
    description: Label rendering via Labelary ZPL service
  - name: Companies
    description: Manage business accounts and their associated data
  - name: Contacts
    description: Manage contact information for individuals
  - name: Suppliers
    description: Manage suppliers (factories) — vendors used on purchase orders
  - name: Supplier SKUs
    description: Manage per-supplier SKU and unit-cost overrides for products
  - name: Locations
    description: Manage warehouses and locations
  - name: Inventory
    description: Get and adjust product stock levels
  - name: Lots
    description: Create, update, and delete product lots (batches)
  - name: Transfer Orders
    description: Manage transfer orders
  - name: Fulfillment Orders
    description: Manage fulfillment orders and picklists
  - name: Purchase Orders
    description: Get and modify purchase orders
  - name: Receiving Reports
    description: Manage receiving reports
  - name: Payment Obligations
    description: Manage payment obligations for purchase orders
  - name: Sales Orders
    description: Manage sales orders and sales order shipments
  - name: Purgatory
    description: >-
      Inspect and resolve non-posted sales orders in the purgatory staging
      workflow
  - name: PickFlow Shipping
    description: >-
      Provider-agnostic shipping rates, services, packages, and label purchase
      for PickFlow
  - name: Cycle Counts
    description: >-
      Create, drive, and post PickFlow cycle counts — batches, per-warehouse
      sessions, and CSV import/export
  - name: Print Stations
    description: List paired print stations and enqueue print jobs to them
  - name: Invoices
    description: Get and manage invoices
  - name: Work Orders
    description: >-
      Manage work orders — production lifecycle, steps, materials, links,
      shipments, and comments
  - name: Production Batches
    description: Group and manage work orders as production batches
  - name: Bills
    description: >-
      Accounts payable bill management, payments, attachments, allocations, and
      variance
  - name: Prepayments
    description: Manage vendor prepayments and applications
  - name: Vendor Credits
    description: Manage vendor credits and applications
  - name: Vendor Returns
    description: Manage vendor returns and credit generation
  - name: Customer Returns
    description: Manage customer returns (sales returns), receiving, and restock behavior
  - name: Stock Snapshot
    description: Point-in-time stock snapshots with export support
  - name: Consumption
    description: Consumption reports and exports
  - name: Inventory Aging
    description: Cost-layer-based inventory aging reports
  - name: Bills Reports
    description: Accounts payable bills aging reports
  - name: Forecast
    description: Materialized forecast data
  - name: Reports
    description: Close the books, inventory discrepancy, transaction COGS, and EDI reports
  - name: Tags
    description: Add/remove tags across various resources
  - name: Custom Fields
    description: Get and set custom fields across various resources
  - name: Currency
    description: Currency configuration, exchange rates, and conversion
  - name: Integration Mappings
    description: Manage integration mappings for external systems
  - name: Integration Field Mappings
    description: Manage field-level mappings between Luminous and external systems
paths:
  /unit-classes/{unitClassId}/default-unit-of-measure/{unitOfMeasureId}:
    post:
      tags:
        - Units of Measure
      summary: Set base UOM for a unit class
      description: >
        Mark a UOM as the base unit for its parent unit class. The previous base
        UOM (if any) is unset, and conversion

        factors continue to be expressed relative to the new base.
      operationId: setUnitClassDefaultUom
      parameters:
        - in: path
          name: unitClassId
          required: true
          schema:
            type: integer
          description: Unit class ID
        - in: path
          name: unitOfMeasureId
          required: true
          schema:
            type: integer
          description: ID of the UOM to mark as base
      responses:
        '200':
          description: Base UOM updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    description: >-
                      A grouping of related units of measure (e.g. "Length",
                      "Weight"). Each class may have a base unit and a list of
                      UOMs.
                    properties:
                      id:
                        type: integer
                      created_at:
                        type: string
                        format: date-time
                      updated_at:
                        type: string
                        format: date-time
                      status:
                        type: string
                        nullable: true
                      name:
                        type: string
                      base_class:
                        type: boolean
                        description: True for the system base class (read-only).
                      unit_of_measures:
                        type: array
                        description: Present when the relation is loaded.
                        items:
                          type: object
                          description: >-
                            A single unit of measure (e.g. "Pound", "Kilogram")
                            belonging to a unit class.
                          properties:
                            id:
                              type: integer
                            created_at:
                              type: string
                              format: date-time
                            updated_at:
                              type: string
                              format: date-time
                            status:
                              type: string
                              nullable: true
                            unit_class_id:
                              type: integer
                            unit_class:
                              type: object
                              description: Present when the relation is loaded.
                              nullable: true
                              properties:
                                id:
                                  type: integer
                                name:
                                  type: string
                                base_class:
                                  type: boolean
                            name:
                              type: string
                            description:
                              type: string
                              nullable: true
                            base_unit:
                              type: boolean
                              description: True if this UOM is the base unit for its class.
                            unit_conversion_rules:
                              type: array
                              description: Present when the relation is loaded.
                              items:
                                type: object
                                description: >
                                  A rule converting from one unit of measure to
                                  another. `type=SYSTEM` rules apply globally
                                  for a class (e.g.

                                  1 lb = 0.453592 kg). `type=SKU` rules override
                                  system rules for a specific product
                                  (`product_id`).
                                properties:
                                  id:
                                    type: integer
                                  created_at:
                                    type: string
                                    format: date-time
                                  updated_at:
                                    type: string
                                    format: date-time
                                  status:
                                    type: string
                                    nullable: true
                                  base_unit_of_measure_id:
                                    type: integer
                                  base_unit_of_measure:
                                    type: object
                                    description: Present when the relation is loaded.
                                    nullable: true
                                    properties:
                                      id:
                                        type: integer
                                      name:
                                        type: string
                                      unit_class_id:
                                        type: integer
                                      base_unit:
                                        type: boolean
                                  converted_unit_of_measure_id:
                                    type: integer
                                  converted_unit_of_measure:
                                    type: object
                                    description: Present when the relation is loaded.
                                    nullable: true
                                    properties:
                                      id:
                                        type: integer
                                      name:
                                        type: string
                                      unit_class_id:
                                        type: integer
                                      base_unit:
                                        type: boolean
                                  conversion_factor:
                                    type: number
                                    description: >-
                                      Multiply a quantity in
                                      `base_unit_of_measure` by this factor to
                                      get the quantity in
                                      `converted_unit_of_measure`.
                                  type:
                                    type: string
                                    enum:
                                      - SYSTEM
                                      - SKU
                                  product_id:
                                    type: integer
                                    nullable: true
                                    description: >-
                                      Required when `type=SKU`; null when
                                      `type=SYSTEM`.
                                  product:
                                    type: object
                                    nullable: true
                                    description: >-
                                      Present when the relation is loaded. Shape
                                      mirrors the standard product resource.
                                    additionalProperties: true
                                  product_alternate_skus:
                                    type: array
                                    description: Present when the relation is loaded.
                                    items:
                                      type: object
                                      additionalProperties: true
                      base_unit_of_measure:
                        description: Present when the relation is loaded.
                        nullable: true
                        allOf:
                          - type: object
                            description: >-
                              A single unit of measure (e.g. "Pound",
                              "Kilogram") belonging to a unit class.
                            properties:
                              id:
                                type: integer
                              created_at:
                                type: string
                                format: date-time
                              updated_at:
                                type: string
                                format: date-time
                              status:
                                type: string
                                nullable: true
                              unit_class_id:
                                type: integer
                              unit_class:
                                type: object
                                description: Present when the relation is loaded.
                                nullable: true
                                properties:
                                  id:
                                    type: integer
                                  name:
                                    type: string
                                  base_class:
                                    type: boolean
                              name:
                                type: string
                              description:
                                type: string
                                nullable: true
                              base_unit:
                                type: boolean
                                description: >-
                                  True if this UOM is the base unit for its
                                  class.
                              unit_conversion_rules:
                                type: array
                                description: Present when the relation is loaded.
                                items:
                                  type: object
                                  description: >
                                    A rule converting from one unit of measure
                                    to another. `type=SYSTEM` rules apply
                                    globally for a class (e.g.

                                    1 lb = 0.453592 kg). `type=SKU` rules
                                    override system rules for a specific product
                                    (`product_id`).
                                  properties:
                                    id:
                                      type: integer
                                    created_at:
                                      type: string
                                      format: date-time
                                    updated_at:
                                      type: string
                                      format: date-time
                                    status:
                                      type: string
                                      nullable: true
                                    base_unit_of_measure_id:
                                      type: integer
                                    base_unit_of_measure:
                                      type: object
                                      description: Present when the relation is loaded.
                                      nullable: true
                                      properties:
                                        id:
                                          type: integer
                                        name:
                                          type: string
                                        unit_class_id:
                                          type: integer
                                        base_unit:
                                          type: boolean
                                    converted_unit_of_measure_id:
                                      type: integer
                                    converted_unit_of_measure:
                                      type: object
                                      description: Present when the relation is loaded.
                                      nullable: true
                                      properties:
                                        id:
                                          type: integer
                                        name:
                                          type: string
                                        unit_class_id:
                                          type: integer
                                        base_unit:
                                          type: boolean
                                    conversion_factor:
                                      type: number
                                      description: >-
                                        Multiply a quantity in
                                        `base_unit_of_measure` by this factor to
                                        get the quantity in
                                        `converted_unit_of_measure`.
                                    type:
                                      type: string
                                      enum:
                                        - SYSTEM
                                        - SKU
                                    product_id:
                                      type: integer
                                      nullable: true
                                      description: >-
                                        Required when `type=SKU`; null when
                                        `type=SYSTEM`.
                                    product:
                                      type: object
                                      nullable: true
                                      description: >-
                                        Present when the relation is loaded.
                                        Shape mirrors the standard product
                                        resource.
                                      additionalProperties: true
                                    product_alternate_skus:
                                      type: array
                                      description: Present when the relation is loaded.
                                      items:
                                        type: object
                                        additionalProperties: true
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '404':
          description: Unit class or UOM not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '422':
          description: UOM does not belong to the specified class
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authenticate using a bearer token. To create a token, navigate to
        /settings/api-tokens and click Create API Token.

````