{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/feedback1-ai/json-schema/feedback1-ai-contact-create-schema.json",
  "title": "ContactCreate",
  "description": "Create contact request - consistent with internal CRM API\n\nSupports both email and non-email contacts (Twitter handles, Reddit usernames, etc.)\nEither provide email OR (identifier + identifier_type)",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/feedback1-ai-openapi.json#/components/schemas/ContactCreate",
  "properties": {
    "email": {
      "anyOf": [
        {
          "type": "string",
          "format": "email"
        },
        {
          "type": "null"
        }
      ],
      "title": "Email",
      "description": "Email address (use this OR identifier+identifier_type)"
    },
    "identifier": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ],
      "title": "Identifier",
      "description": "Contact identifier (email, @handle, u/username)"
    },
    "identifier_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Identifier Type",
      "description": "Type: 'email', 'twitter_handle', 'reddit_username'"
    },
    "first_name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ],
      "title": "First Name"
    },
    "last_name": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ],
      "title": "Last Name"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 50
        },
        {
          "type": "null"
        }
      ],
      "title": "Phone"
    },
    "job_title": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ],
      "title": "Job Title"
    },
    "linkedin_url": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 255
        },
        {
          "type": "null"
        }
      ],
      "title": "Linkedin Url"
    },
    "crm_account_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Crm Account Id",
      "description": "Account ID to associate with"
    },
    "source": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 50
        },
        {
          "type": "null"
        }
      ],
      "title": "Source",
      "description": "Source: 'api', 'portal', 'import', etc."
    }
  },
  "type": "object"
}