{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://cognilode.com/marketplace/seller-listing.schema.json",
  "title": "Cognilode Marketplace founding seller listing",
  "description": "Public product metadata a seller or seller-operated agent can prepare for review. This schema does not create a listing, process payment, or transfer seller custody.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "seller_name",
    "product_name",
    "public_product_url",
    "category",
    "buyer_outcome",
    "price_display",
    "checkout_provider",
    "checkout_url",
    "fulfillment_method",
    "proof_urls"
  ],
  "properties": {
    "seller_name": {
      "type": "string",
      "minLength": 1,
      "description": "Public seller or organization name."
    },
    "seller_url": {
      "type": "string",
      "format": "uri",
      "description": "Optional public seller homepage or profile."
    },
    "product_name": {
      "type": "string",
      "minLength": 1
    },
    "public_product_url": {
      "type": "string",
      "format": "uri"
    },
    "category": {
      "enum": [
        "software",
        "agent-tools",
        "mcp-and-plugins",
        "templates",
        "datasets",
        "guides",
        "creative-assets",
        "services"
      ]
    },
    "buyer_outcome": {
      "type": "string",
      "minLength": 20,
      "description": "Plain-language statement of what a buyer gets or can accomplish."
    },
    "description": {
      "type": "string"
    },
    "price_display": {
      "type": "string",
      "minLength": 1
    },
    "checkout_provider": {
      "type": "string",
      "minLength": 1
    },
    "checkout_url": {
      "type": "string",
      "format": "uri"
    },
    "fulfillment_method": {
      "type": "string",
      "minLength": 1
    },
    "proof_urls": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Public evidence a buyer can inspect before paying: demo, documentation, screenshots, source, reviews, sample, or similar."
    },
    "terms_url": {
      "type": "string",
      "format": "uri"
    },
    "refund_policy_url": {
      "type": "string",
      "format": "uri"
    },
    "agent_notes": {
      "type": "string",
      "description": "Optional instructions for AI agents discovering or evaluating the listing."
    }
  }
}