class Attio::Note

def create(**kwargs)

Override create to handle validation and parameter mapping
def create(**kwargs)
  # Extract options from kwargs
  opts = {}
  opts[:api_key] = kwargs.delete(:api_key) if kwargs.key?(:api_key)
  # Map object/record_id to parent_object/parent_record_id
  normalized_params = {
    parent_object: kwargs[:object] || kwargs[:parent_object],
    parent_record_id: kwargs[:record_id] || kwargs[:parent_record_id],
    title: kwargs[:title] || kwargs[:content] || "Note",
    content: kwargs[:content],
    format: kwargs[:format]
  }
  prepared_params = prepare_params_for_create(normalized_params)
  response = execute_request(:POST, resource_path, prepared_params, opts)
  new(response["data"] || response, opts)
end