Light APIv1.0.0

API / Reference / Products

List products

GET https://api.light.inc/v1/products

Returns a list of products

Authorization

Send one of these on every request. See Authentication for how to get credentials.

  • API key

    Basic authentication header of the form Basic <api_key>, where <api_key> is your api key.

  • Bearer token

Query parameters

  • sort string

    Sort string in the format field:direction. To provide multiple sort fields, separate them with commas.

    Available directions: asc, desc.

    Available fields: name, createdAt, updatedAt.

  • filter string

    Filter string in the format field:operator:value. To provide multiple filters, separate them with commas.

    Available operators: eq, ne, in, not_in, gt, gte, lt, lte.

    • For in and not_in operators, provide multiple values separated by the pipe character (|).

    Available fields: id, name, pricingType, recurrence, state, invoiceReceivableId, updatedAt.

  • limit integer · int32

    Maximum number of items to return. Default is 50, maximum is 200.

  • offset integer · int64deprecated

    Number of items to skip before starting to collect the result set. Deprecated, use 'cursor' instead.

  • cursor string

    The cursor position to start returning results from. To opt-in into cursor-based pagination, provide 0 for the initial request. For subsequent requests, use nextCursor and prevCursor from the previous response to navigate. Cursor values are opaque and should not be constructed manually.

Response

  • records array of object

    List of records for the current page

    • id string · uuid

      Unique identifier for the object

    • companyId string · uuid

      ID of the company

    • name string

      Name of the product

    • pricingType string

      Pricing type of the product

      • FIXED - The product has a single price per unit
      • PACKAGE - The product is sold in packages with a fixed quantity

      ⚠️ This enum is not exhaustive; new values may be added in the future.

      One of FIXED PACKAGE

    • billingRecurrence string

      Billing frequency for the product. Used in contracts

      • ONE_TIME - The product is billed once
      • MONTHLY - The product is billed every month
      • QUARTERLY - The product is billed every three months
      • HALF_YEARLY - The product is billed every six months
      • YEARLY - The product is billed every year

      ⚠️ This enum is not exhaustive; new values may be added in the future.

      One of ONE_TIME MONTHLY QUARTERLY HALF_YEARLY YEARLY

    • pricings array of object

      List of product price per currency

      • currency string

      • amount integer · int64

        Price in cents

    • state string

      Product state

      • ACTIVE - The product is active and can be used in invoices and contracts
      • ARCHIVED - The product is archived and cannot be used in new invoices or contracts

      ⚠️ This enum is not exhaustive; new values may be added in the future.

      One of ACTIVE ARCHIVED

    • defaultTaxId string · uuid

      ID of the default tax code for this product. Will be assigned to invoice lines when creating a line with this product

    • defaultAvataxCode string

      Default Avalara tax code. Used when the invoice tax engine is AVATAX. Will be assigned to invoice lines when creating a line with this product

    • defaultLedgerAccountId string · uuid

      ID of the default ledger account for this product. Will be assigned to invoice lines when creating a line with this product

    • externalSource object

      The external system where this product was synced from

      • name string

        The name of the external source

        • CHARGEBEE - Data synced from Chargebee
        • HUBSPOT - Data synced from HubSpot
        • SALESFORCE - Data synced from Salesforce
        • STRIPE - Data synced from Stripe

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of CHARGEBEE HUBSPOT SALESFORCE STRIPE

      • externalId string

        The ID of the object in the external source system

    • createdAt string · date-time

      Timestamp when the product was created

    • updatedAt string · date-time

      Timestamp when the product was last updated

    • customProperties array of object

      List of custom properties associated with the product

      • groupId string · uuid

        ID of the custom property group

      • groupInternalName string

        Internal name of the custom property group

      • values array of object

        List of values. Note that this will be a single value unless the group input type supports multiple values

        • id string · uuid

          Unique identifier for the object

        • groupId string · uuid

          ID of the custom property group

        • groupInternalName string

          Internal name of the custom property group

        • companyId string · uuid

          ID of the company

        • internalName string

          Internal name of the custom property value

        • label string

          Label of the custom property value

        • context string

          Context/description of the custom property value

        • createdAt string · date-time

          Timestamp when the custom property value was created

        • updatedAt string · date-time

          Timestamp when the custom property value was last updated

  • hasMore boolean

    Boolean flag indicating if there are more records available

  • total integer · int64deprecated

    Total number of records (only for offset pagination). This field is not guaranteed to be returned and only available for offset pagination, please do not rely on it and migrate to cursor pagination.

  • nextCursor string

    Cursor for fetching the next page (only for cursor pagination)

  • prevCursor string

    Cursor for fetching the previous page (only for cursor pagination)