I would create an abstract class (or Interface) which represents the "base type" for objects that can be included as a responseDetail: derive all the types you need (or your API user needs) from that, and allow them as your type:
public abstract class ResponseDetail {}
public class ResponseMessage {
public string responseStatus { get; set; }
public string responseMessage { get; set; }
public ResponseDetail responseDetail { get; set; }
}
public class ResponseDetailList : ResponseDetail
{
public List<string> Texts = new List<string>
}
That way, it's expandandable, but still typesafe.