{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hireeli-io/json-schema/hireeli-io-company-intelligence-update-request-schema.json",
  "title": "CompanyIntelligenceUpdateRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hireeli-io-openapi.json#/components/schemas/CompanyIntelligenceUpdateRequest",
  "type": "object",
  "required": [
    "tenantId",
    "expectedVersion",
    "facts"
  ],
  "properties": {
    "tenantId": {
      "type": "string",
      "format": "uuid"
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "facts": {
      "type": "object",
      "minProperties": 1,
      "maxProperties": 14,
      "additionalProperties": false,
      "properties": {
        "companyName": {
          "type": "string",
          "minLength": 2,
          "maxLength": 160,
          "description": "The name buyers know the company by. Replaced, never cleared. Also stored on the workspace."
        },
        "primaryConversion": {
          "type": "string",
          "minLength": 2,
          "maxLength": 80,
          "description": "The label of the one action that counts as the conversion, such as Book a demo. Replaced, never cleared. Not an address."
        },
        "idealCustomerProfile": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 10,
          "maxLength": 2000
        },
        "primaryOffer": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 10,
          "maxLength": 2000
        },
        "buyerRoles": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "customerPains": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "buyingTriggers": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "desiredOutcomes": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "purchaseCriteria": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "objections": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "differentiation": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "proof": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "claimConstraints": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        },
        "exclusions": {
          "type": [
            "array",
            "null"
          ],
          "maxItems": 50,
          "items": {
            "type": "string",
            "minLength": 2,
            "maxLength": 500
          }
        }
      }
    }
  },
  "additionalProperties": false
}