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

# List activity log entries for a subject

> Returns paginated activity-log entries for a single subject record — a
sales order, fulfillment order, or shipment. Each entry captures a change
(status update, field edit, system action, etc.) along with the actor that
caused it.

`subjectType` and `subjectId` are required and together identify the
record whose history you want. Sort defaults to newest-first
(`created_at desc`); override with `sortField` / `sortDirection` or the
shortcut `dateSort`.

Use `userType=user` to see only human-initiated entries, or
`userType=system` for automated changes. Use `includeLogName` to scope
to a single log channel (e.g. `automation`), or `excludeLogNames[]` to
hide noisy channels — `excludeLogNames` is ignored when `includeLogName`
is set.




## OpenAPI

````yaml /api-reference/build.yaml get /activity-logs
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:
  /activity-logs:
    get:
      tags:
        - Activity Logs
      summary: List activity log entries for a subject
      description: >
        Returns paginated activity-log entries for a single subject record — a

        sales order, fulfillment order, or shipment. Each entry captures a
        change

        (status update, field edit, system action, etc.) along with the actor
        that

        caused it.


        `subjectType` and `subjectId` are required and together identify the

        record whose history you want. Sort defaults to newest-first

        (`created_at desc`); override with `sortField` / `sortDirection` or the

        shortcut `dateSort`.


        Use `userType=user` to see only human-initiated entries, or

        `userType=system` for automated changes. Use `includeLogName` to scope

        to a single log channel (e.g. `automation`), or `excludeLogNames[]` to

        hide noisy channels — `excludeLogNames` is ignored when `includeLogName`

        is set.
      operationId: getActivityLogs
      parameters:
        - in: query
          name: subjectType
          required: true
          schema:
            type: string
            enum:
              - sales_order
              - fulfillment_order
              - shipment
          description: Type of subject record whose history is being requested
        - in: query
          name: subjectId
          required: true
          schema:
            type: integer
            minimum: 1
          description: ID of the subject record
        - in: query
          name: userType
          schema:
            type: string
            enum:
              - user
              - system
            nullable: true
          description: >-
            Filter by actor kind — `user` (human-initiated) or `system`
            (automated)
        - in: query
          name: dateSort
          schema:
            type: string
            enum:
              - asc
              - desc
            nullable: true
          description: >-
            Shortcut to override sort direction on `created_at`. When set, takes
            precedence over `sortField` / `sortDirection`.
        - in: query
          name: includeLogName
          schema:
            type: string
            nullable: true
          description: Return only entries with this `log_name` (e.g. `automation`)
        - in: query
          name: excludeLogNames
          schema:
            type: array
            items:
              type: string
            nullable: true
          description: >-
            Exclude entries whose `log_name` is in this list. Ignored when
            `includeLogName` is set.
        - in: query
          name: page
          schema:
            type: integer
            default: 1
            minimum: 1
          description: Page number
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
          description: Results per page (max 100)
        - in: query
          name: sortField
          schema:
            type: string
            default: created_at
            nullable: true
          description: >-
            Field to sort by (default `created_at`; overridden when `dateSort`
            is provided)
        - in: query
          name: sortDirection
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
            nullable: true
          description: Sort direction
      responses:
        '200':
          description: Paginated list of activity-log entries
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      description: >
                        A single activity-log entry recording a change to a
                        sales order, fulfillment

                        order, or shipment. Mirrors the Spatie ActivityLog
                        record shape with PII

                        redaction applied to free-text fields.
                      properties:
                        id:
                          type: integer
                          description: Activity log entry ID
                        logName:
                          type: string
                          nullable: true
                          description: >
                            Logical grouping for the entry (e.g. `automation`,
                            `default`). Use

                            `includeLogName` / `excludeLogNames` query params to
                            filter on this.
                        description:
                          type: string
                          description: >-
                            Human-readable description of the change
                            (PII-redacted)
                        subjectId:
                          type: integer
                          description: >-
                            ID of the subject record (sales order, fulfillment
                            order, or shipment)
                        subjectType:
                          type: string
                          description: >
                            Fully-qualified model class of the subject (e.g.

                            `App\Models\Inventory\SalesOrder`). For filtering,
                            use the short form

                            (`sales_order`, `fulfillment_order`, `shipment`) on
                            the request.
                        causerId:
                          type: integer
                          nullable: true
                          description: >-
                            ID of the user/system actor that caused the entry;
                            null when system-initiated without an attributable
                            actor
                        causerType:
                          type: string
                          nullable: true
                          description: >-
                            Fully-qualified model class of the causer (e.g. user
                            / admin model)
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                        properties:
                          type: object
                          description: >
                            Decoded structured payload attached to the entry —
                            typically `attributes`

                            (new values) and `old` (previous values) for update
                            entries. Shape varies

                            by entry type. PII fields are redacted.
                          additionalProperties: true
                        propertiesJson:
                          type: string
                          description: >
                            Pretty-printed JSON string of `properties`. Returned
                            alongside the

                            decoded object for clients that prefer to render the
                            raw payload.
                        causer:
                          type: object
                          nullable: true
                          description: >
                            Embedded causer (admin user) record. Only present
                            when the relation is

                            eager-loaded by the server.
                          additionalProperties: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        description: The current page number
                        example: 1
                      from:
                        type: integer
                        description: The starting index of the paginated results
                        example: 1
                      last_page:
                        type: integer
                        description: The last page number
                        example: 5
                      per_page:
                        type: integer
                        description: Number of items per page
                        example: 10
                      to:
                        type: integer
                        description: The ending index of the paginated results
                        example: 10
                      total:
                        type: integer
                        description: Total number of items across all pages
                        example: 50
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '422':
          description: >-
            Validation error (invalid `subjectType`, missing `subjectId`, etc.)
            or service-level error
          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.

````