Technical reference

Product Graph v1

Product Graph v1 defines the relationship layer around a Spyndl product record. It preserves the Product Core structure and adds connected products such as variants, compatible items, alternatives, replacements, and packs.

Purpose

This schema is the public contract for product relationship data returned by Spyndl graph endpoints. It is used when an integration needs product context beyond a single SKU.

Stability

The v1 identifier is intended to remain stable for existing integrations. Additive fields may appear over time. Breaking changes require a new schema identifier.

Fields

schema
Schema identifier and canonical reference URL for this relationship format.
provider
The system publishing the structured product graph.
generatedAt
ISO timestamp for the generated graph record.
product
The canonical Product Core v1 record for the current product. Attribute units are included in the value string.
graph
Connected products, including variants, compatible products, alternatives, replacements, replaced products, and containing packs when available.

Example

{
  "schema": {
    "id": "spyndl.product.graph.v1",
    "url": "https://spyndl.com/schemas/product-graph-v1"
  },
  "provider": {
    "name": "Spyndl",
    "url": "https://spyndl.com"
  },
  "generatedAt": "2026-05-10T08:20:02.123Z",
  "product": {
    "sku": "EX-1000",
    "commercialStatus": "available",
    "brand": {
      "name": "Example Brand"
    },
    "category": [
      "Example Category",
      "Example Subcategory"
    ],
    "description": {
      "model": "EX-1000",
      "short": "Example product description approved for publication."
    },
    "attributes": [
      {
        "label": "Example attribute",
        "value": "100 unit"
      }
    ]
  },
  "graph": {
    "variants": [
      {
        "sku": "EX-1000-L",
        "description": "Example product variant."
      }
    ],
    "compatibleProducts": [
      {
        "sku": "EX-2000",
        "description": "Example compatible product."
      }
    ],
    "alternativeProducts": [
      {
        "sku": "EX-3000",
        "description": "Example alternative product."
      }
    ],
    "containingPacks": [
      {
        "sku": "EX-PACK-10",
        "description": "Example pack containing this product."
      }
    ]
  }
}

Related Schema

Product Core v1 defines the product record embedded in this graph.

View Product Core v1