{
  "mode": "contract-only; no running external service",
  "create": {
    "method": "POST",
    "path": "/test/crm/records",
    "body_fields": [
      "external_key",
      "request_id",
      "topic",
      "category"
    ],
    "unique_key": "external_key",
    "success": {
      "status": 201,
      "body": {
        "record_id": "crm-001",
        "external_key": "event-001"
      }
    }
  },
  "lookup": {
    "method": "GET",
    "path": "/test/crm/records/by-key/{external_key}",
    "found_status": 200,
    "missing_status": 404
  },
  "validation": {
    "topic": "non-empty string",
    "category": [
      "analytics",
      "automation",
      "rag"
    ]
  },
  "faults": {
    "event-003": "Первый create сохраняет crm-003 и затем теряет ответ. Повтор сначала делает lookup и использует сохранённый record_id."
  },
  "security": "Пути условные; реализуйте локальную заглушку. Внешних URL и токенов в наборе нет."
}
