Skip to content

Concepts

This page defines the key objects used throughout the API.

A partner integration represents your application credentials and access scope.

  • identified by partnerId (your client ID)
  • can be enabled or disabled
  • contains assigned company access in allowedCompanies

A company is a customer account you are allowed to access.

  • represented by companyId
  • associated with a provider and provider company ID
  • can contain one or more locations

A location is an optional child scope under a company.

  • represented by locationId
  • can be passed to variant lookups for location-scoped data
  • if locationId is omitted in batch lookups, responses are company-scoped

A variant is the product record returned by batch lookups and webhook payloads.

Variant data includes:

  • identity fields like barcode, name, brand, and manufacturer
  • product classification fields such as productType, variantType, and strainType
  • potency and terpene fields such as thc, cbd, and totalTerpene
  • optional lifestyle and merchandising fields such as aromas, effects, and tags

classification is deprecated and retained for backward compatibility.

Webhook settings are configured on your partner configuration.

  • webhook.url: destination URL
  • webhook.enabled: delivery toggle

Webhook payloads include partner scope, company scope, and an array of variant changes.

Company and location configuration can include allowedFields. These values indicate which optional feature fields are enabled for your integration.

Config, variant data, and assets all use a layered resolution: default -> company -> location. Location overrides company, company overrides defaults.

See Location Config & Overrides for the full details on how configs are merged and how variant fields are resolved.