{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/curlec/json-schema/curlec-xcontact-schema.json",
  "title": "XContact",
  "description": "RazorpayX payout recipient. Created before sending payouts.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/curlec-x-contacts-api-openapi.yml#/components/schemas/XContact",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Contact ID (cont_*)"
    },
    "entity": {
      "type": "string",
      "enum": [
        "contact"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 3,
      "maxLength": 50
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "contact": {
      "type": "string",
      "description": "Phone number"
    },
    "type": {
      "type": "string",
      "enum": [
        "vendor",
        "customer",
        "employee",
        "self"
      ],
      "description": "Built-in types only via API; custom types must be created on Dashboard first"
    },
    "reference_id": {
      "type": "string",
      "maxLength": 40,
      "description": "External reference (must be unique per merchant)"
    },
    "batch_id": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "notes": {
      "type": "object"
    },
    "created_at": {
      "type": "integer",
      "description": "Unix timestamp"
    }
  }
}