FacetFlux

pim.products.create

Create or upsert a single product by (sourceSystem, externalId). Re-running the same call returns the same productId and updates the existing record — never creates a duplicate. For ad-hoc creates with no upstream system, pass sourceSystem='mcp' (or another stable string the agent owns) so subsequent runs from the same agent stay idempotent. Response: { productId, sourceSystem, externalId, action: 'created'|'updated' }. Errors: { error: { code: 'not_found' | 'bad_input', ... } }.

Remote revuo:facetflux

Other tools also called pim.products.create? See providers with this name

Input Schema


            {
  "type": "object",
  "properties": {
    "schemaId": {
      "description": "Schema id (must belong to current tenant or be a Standard schema).",
      "type": "string"
    },
    "sourceSystem": {
      "description": "Source system identifier — namespaces the externalId. Use the upstream system's name ('wawi', 'sap', 'shopify', etc.) or 'mcp' for ad-hoc creates from this agent.",
      "type": "string"
    },
    "externalId": {
      "description": "External id within the source system. Combined with sourceSystem, forms the natural key.",
      "type": "string"
    },
    "traitIds": {
      "description": "Optional trait ids the product should carry.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "categoryIds": {
      "description": "Optional category ids.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "channelCodes": {
      "description": "Optional channel codes the product is published on.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "skuList": {
      "description": "Optional SKU list.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "productNumber": {
      "description": "Optional product number override (otherwise generated from the schema's template).",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "purpose": {
      "description": "Product purpose. Defaults to 'standard'.",
      "type": "string",
      "enum": [
        "Standard",
        "OnDemand",
        "Internal"
      ],
      "default": "Standard"
    }
  },
  "required": [
    "schemaId",
    "sourceSystem",
    "externalId"
  ]
}