Light APIv1.0.0

API / Reference / Products

Update product

PATCH https://api.light.inc/v1/products/{productId}

Updates an existing product

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

Path parameters

  • productId string · uuidrequired

Headers

  • X-Idempotency-Key string

Request body

application/json;charset=UTF-8

  • name string

  • pricingType string

    • 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

    • 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

    • currency string

    • amount integer · int64

      Price in cents

  • customProperties array of object

    • groupId string · uuid

      ID of the custom property group.

    • valueIds array of string · uuid

      IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.

    • inlineValues array of string

      Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.

  • defaultAvataxCode string

  • defaultTaxId string · uuid

  • defaultLedgerAccountId string · uuid

Response

  • 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