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

# Get shipping rules

> Return the tenant's saved shipping rules — one ordered list that decides which carriers and
services an order may ship with, and on which days. The same list is edited in the app under
**Operations → Operations Admin → Shipping Rules**.

At label time, every rule whose conditions all hold applies, from top to bottom:

- It narrows the quoted rates to its `services`, and to `maxTransitDays` if set.
- A `lock` rule refuses a label on any service outside its list.
- `shipDays` refuses a label on any other day, in the tenant operating timezone.
- A rule that would leave no rate at all is skipped, so an order is never left unshippable.

On Parcel Perform accounts the carrier is chosen by Parcel Perform's own rules, so only
`shipDays` takes effect there.

`warnings` lists configurations that are legal but probably unintended — a rule with no
conditions, two locked rules that can apply to the same order with disjoint services (between
them they refuse every label), or a state code that is not a US state or territory.

Available to every account. When per-user permissions are enabled, the token's owner needs the `fulfillmentSettings.read` permission (the same as the Operations Admin pages); otherwise `403`. When per-user
permissions are enabled, the token's owner needs `fulfillmentSettings.read`.




## OpenAPI

````yaml /api-reference/build.yaml get /shipping-rules
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:
  /shipping-rules:
    get:
      tags:
        - Shipping Rules
      summary: Get shipping rules
      description: >
        Return the tenant's saved shipping rules — one ordered list that decides
        which carriers and

        services an order may ship with, and on which days. The same list is
        edited in the app under

        **Operations → Operations Admin → Shipping Rules**.


        At label time, every rule whose conditions all hold applies, from top to
        bottom:


        - It narrows the quoted rates to its `services`, and to `maxTransitDays`
        if set.

        - A `lock` rule refuses a label on any service outside its list.

        - `shipDays` refuses a label on any other day, in the tenant operating
        timezone.

        - A rule that would leave no rate at all is skipped, so an order is
        never left unshippable.


        On Parcel Perform accounts the carrier is chosen by Parcel Perform's own
        rules, so only

        `shipDays` takes effect there.


        `warnings` lists configurations that are legal but probably unintended —
        a rule with no

        conditions, two locked rules that can apply to the same order with
        disjoint services (between

        them they refuse every label), or a state code that is not a US state or
        territory.


        Available to every account. When per-user permissions are enabled, the
        token's owner needs the `fulfillmentSettings.read` permission (the same
        as the Operations Admin pages); otherwise `403`. When per-user

        permissions are enabled, the token's owner needs
        `fulfillmentSettings.read`.
      operationId: listShippingRules
      responses:
        '200':
          description: The saved shipping rules, in apply order.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - name
                      properties:
                        name:
                          type: string
                          description: >-
                            Unique rule name. Shown in label refusals and on
                            rates.
                          example: Perishables West → FedEx 2Day
                        when:
                          type: object
                          description: >
                            Conditions. All conditions that are set must hold
                            for the rule to apply. Empty lists and

                            `null` mean "no condition"; a rule with no
                            conditions matches every order.
                          properties:
                            packingClasses:
                              type: array
                              items:
                                type: string
                                enum:
                                  - ambient
                                  - perishable_dry_ice
                                  - flour
                                  - fragile
                                  - bulk
                                  - liquid
                              description: >-
                                Any line on the order has one of these packing
                                classes.
                            states:
                              type: array
                              items:
                                type: string
                              description: >-
                                Ship-to state or province code (e.g. `CA`, `AK`,
                                `AA`).
                            countries:
                              type: array
                              items:
                                type: string
                              description: Ship-to country, two-letter ISO code.
                            poBox:
                              type: boolean
                              nullable: true
                              description: >-
                                `true`: the ship-to address is a PO box;
                                `false`: it is not; `null`/absent: either.
                            tagsAny:
                              type: array
                              items:
                                type: string
                              description: >-
                                The fulfillment order or its sales order carries
                                one of these tags (by name).
                            tiktokOrder:
                              type: boolean
                              nullable: true
                              description: >-
                                `true`: a TikTok Shop order; `false`: not;
                                `null`/absent: either.
                            channelIds:
                              type: array
                              items:
                                type: integer
                              description: The order came from one of these sales channels.
                        then:
                          type: object
                          description: Effects applied when the rule matches.
                          properties:
                            services:
                              type: array
                              items:
                                type: string
                              description: >-
                                Allowed services. A rate is kept when its
                                service code equals an entry or its service name
                                contains one.
                            maxTransitDays:
                              type: integer
                              minimum: 1
                              maximum: 30
                              nullable: true
                              description: >-
                                Keep only rates quoting this many transit days
                                or fewer.
                            shipDays:
                              type: array
                              items:
                                type: string
                                enum:
                                  - Mon
                                  - Tue
                                  - Wed
                                  - Thu
                                  - Fri
                                  - Sat
                                  - Sun
                              description: >-
                                Labels may only be bought on these days (tenant
                                operating timezone).
                            lock:
                              type: boolean
                              description: >-
                                Refuse a label on any service outside
                                `services`. Requires `services`.
                      example:
                        name: Perishables West → FedEx 2Day
                        when:
                          packingClasses:
                            - perishable_dry_ice
                          states:
                            - WA
                            - OR
                            - CA
                        then:
                          services:
                            - FEDEX_2_DAY
                            - FedEx 2Day
                          shipDays:
                            - Tue
                            - Wed
                          lock: true
                  warnings:
                    type: array
                    items:
                      type: object
                      properties:
                        rule:
                          type: integer
                          nullable: true
                          description: Zero-based index of the rule the warning is about.
                          example: 2
                        message:
                          type: string
                          example: >-
                            "Islands" has no conditions, so it applies to every
                            order.
        '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: >-
            The token's owner lacks the `fulfillmentSettings.read` permission
            (enforced when per-user permissions are enabled).
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: User does not have the right permissions.
      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.