Skip to main content

createProduct

Create a new product with sustainability data.
mutation {
  createProduct(input: {
    name: "Bio-based Window Frame"
    sku: "BWF-001"
    sectorTag: HIGHTECH_MANUFACTURING
    materialComposition: [
      { name: "Bio-based composite", percentage: 65, isBioBased: true, recycledContent: 20 },
      { name: "Aluminum", percentage: 30, isBioBased: false, recycledContent: 80, origin: "NL" },
      { name: "Rubber seals", percentage: 5, isBioBased: false, recycledContent: 0 }
    ]
    certifications: ["ISO14001", "BREEAM"]
    sectorMetadata: {
      rareEarthMetals: [],
      energyClass: "A+",
      repairabilityScore: 8
    }
  }) {
    id
    name
    sectorTag
    impactScore {
      co2Equivalent
      mkiScore
    }
    createdAt
  }
}
Input:
FieldTypeRequiredDescription
nameString!YesProduct name
skuStringNoSKU identifier
sectorTagSectorTag!YesSector classification
materialComposition[MaterialInput!]!YesMaterial breakdown
certifications[String!]NoEnvironmental certifications
sectorMetadataJSONNoSector-specific data

updateProduct

Update an existing product.
mutation {
  updateProduct(
    id: "prod_abc123"
    input: {
      name: "Bio-based Window Frame v2"
      materialComposition: [
        { name: "Bio-based composite", percentage: 75, isBioBased: true, recycledContent: 30 },
        { name: "Recycled aluminum", percentage: 22, isBioBased: false, recycledContent: 95, origin: "NL" },
        { name: "Natural rubber", percentage: 3, isBioBased: true, recycledContent: 0 }
      ]
    }
  ) {
    id
    name
    impactScore {
      co2Equivalent
      mkiScore
    }
    updatedAt
  }
}

deleteProduct

Delete a product and its associated data.
mutation {
  deleteProduct(id: "prod_abc123") {
    success
    deletedAt
  }
}
Deleting a product also removes its DPP, EPD data, and supply chain records. This action cannot be undone.

importProducts

Batch import products from a CSV or JSON source.
mutation {
  importProducts(input: {
    source: URL
    sourceUrl: "https://example.com/products.csv"
    format: CSV
    sectorTag: FOOD
    mapping: {
      name: "product_name"
      sku: "sku_code"
      co2: "carbon_footprint_kg"
    }
  }) {
    jobId
    status
    totalProducts
    imported
    failed
    errors { row message }
  }
}