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

# Create company product price override

> Set a company-specific price for one product. Identify the product by `product_id`, `sku`,
or both (when both are sent they must refer to the same product).

Returns a 422 if the company already has an active override for the product — update it with
`POST /companies/{companyId}/product-price-overrides/{overrideId}` or use the bulk upsert
instead. A previously deleted override for the same product is restored with the new price.




## OpenAPI

````yaml /api-reference/build.yaml post /companies/{companyId}/product-price-overrides
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: Freight
    description: >-
      Freightview LTL freight — quotes, booking and documents for fulfillment
      orders
  - name: Fulfillment Priority Lists
    description: Configure fulfillment routing priority lists
  - name: Purchase Orders
    description: Get and modify purchase orders
  - name: Supplier Portal
    description: >-
      Read a supplier's response to a purchase order and control the one-click
      portal link
  - 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 Warehouse
    description: >-
      Warehouse-floor lookups for PickFlow — barcode resolution, bin and product
      stock, bin search, and receivables
  - 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: Drive
    description: >
      Browse, upload, tag and manage files in your Luminous Drive. An API token
      sees the shared

      drive only, never My Files or restricted folders and files. Every write
      and download made

      through the API is recorded in the file's activity log (`GET
      /file-cabinet/files/{id}/activity`)

      with `actor_kind: api_token`.
  - name: Integration Mappings
    description: Manage integration mappings for external systems
  - name: Integration Field Mappings
    description: Manage field-level mappings between Luminous and external systems
  - name: Automations
    description: Create, test, and inspect automation rules and their runs
paths:
  /companies/{companyId}/product-price-overrides:
    post:
      tags:
        - Companies
        - Pricing
      summary: Create company product price override
      description: >
        Set a company-specific price for one product. Identify the product by
        `product_id`, `sku`,

        or both (when both are sent they must refer to the same product).


        Returns a 422 if the company already has an active override for the
        product — update it with

        `POST /companies/{companyId}/product-price-overrides/{overrideId}` or
        use the bulk upsert

        instead. A previously deleted override for the same product is restored
        with the new price.
      operationId: createCompanyProductPriceOverride
      parameters:
        - name: companyId
          in: path
          required: true
          schema:
            type: integer
          description: The unique identifier of the company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - price
              properties:
                product_id:
                  type: integer
                  description: Product ID. Required when `sku` is not sent.
                  example: 567890
                sku:
                  type: string
                  description: >-
                    Product SKU. Required when `product_id` is not sent. Must
                    match exactly one active product.
                  example: TEE-BLK-M
                price:
                  type: number
                  minimum: 0
                  description: The company's price for this product
                  example: 18.5
      responses:
        '201':
          description: Price override created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                        description: Unique identifier for the price override
                        example: 123
                      created_at:
                        type: string
                        format: date-time
                        description: When the price override was created
                        example: '2023-03-15T14:30:00Z'
                      updated_at:
                        type: string
                        format: date-time
                        description: When the price override was last updated
                        example: '2023-03-15T14:30:00Z'
                      status:
                        type: string
                        description: Status of the price override record
                        enum:
                          - active
                          - inactive
                          - deleted
                        example: active
                      company_id:
                        type: number
                        description: ID of the company this price override applies to
                        example: 5567
                      product_id:
                        type: number
                        description: ID of the product being overridden
                        example: 567890
                      price:
                        type: number
                        format: float
                        description: >-
                          The override price for this product when sold to this
                          company
                        example: 42.5
                      product:
                        type: object
                        nullable: true
                        description: >-
                          Product information (included when the product
                          relation is loaded)
                        properties:
                          id:
                            type: number
                            description: Unique identifier for the product
                            example: 567890
                          sku:
                            type: string
                            description: Internal SKU/code of the product
                            example: WIDGET-123
                          name:
                            type: string
                            description: Name of the product
                            example: Deluxe Widget
                          retail_price:
                            type: number
                            format: float
                            description: Standard retail price of the product
                            example: 59.99
                          wholesale_price:
                            type: number
                            format: float
                            description: Standard wholesale price of the product
                            example: 49.99
                          variant_parent_id:
                            type: integer
                            nullable: true
                            description: ID of the parent product if this is a variant
                            example: null
                          is_variant:
                            type: boolean
                            description: >-
                              Whether this product is a variant of another
                              product
                            example: false
        '401':
          description: Authentication credentials were missing or invalid
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Unauthorized
                  message:
                    type: string
                    example: Authentication credentials are missing or invalid
                  status_code:
                    type: integer
                    example: 401
        '403':
          description: You do not have permission to perform this action
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Forbidden
                  message:
                    type: string
                    example: You do not have permission to access this resource
                  status_code:
                    type: integer
                    example: 403
        '404':
          description: The requested resource was not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Not Found
                  message:
                    type: string
                    example: The requested resource could not be found
                  status_code:
                    type: integer
                    example: 404
        '422':
          description: >-
            Validation error (product not found, SKU matches no or several
            products, or an override already exists for the product)
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errors:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.