{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/conversion/json-schema/conversion-contact-schema.json",
  "title": "Contact",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/conversion-openapi.json#/components/schemas/Contact",
  "type": "object",
  "required": [
    "cnvContactId",
    "fields",
    "createdAt",
    "updatedAt"
  ],
  "properties": {
    "cnvContactId": {
      "type": "string",
      "format": "uuid",
      "description": "The Conversion contact ID."
    },
    "email": {
      "type": [
        "string",
        "null"
      ],
      "format": "email",
      "description": "The contact's email address, or `null` when not set."
    },
    "userId": {
      "type": [
        "string",
        "null"
      ],
      "description": "An external user identifier for the contact, or `null` when not set."
    },
    "subscriptionStatus": {
      "$ref": "#/$defs/SubscriptionStatus"
    },
    "fields": {
      "$ref": "#/$defs/ContactFields"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the contact was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the contact was last updated."
    }
  },
  "$defs": {
    "ContactFields": {
      "type": "object",
      "additionalProperties": {},
      "description": "A map of contact field keys to values. Keys must match existing field definitions in your Conversion account."
    },
    "SubscriptionStatus": {
      "type": "string",
      "enum": [
        "SUBSCRIBED",
        "UNSUBSCRIBED",
        "NO_STATUS"
      ],
      "description": "The contact's email subscription status. System-managed statuses (`BOUNCED`, `COMPLAINED`, etc.) cannot be set through the API."
    }
  }
}