You’re half way there. This is one of those parts of c# that are not easily convertible to iron python. Try the below instead:
footprint = CurveArray()
for o in outline:
footprint.Append(o.ToRevitType(True) )
TransactionManager.Instance.EnsureInTransaction(doc)
roofCurves = StrongBox[ModelCurveArray](ModelCurveArray() )
footprintRoof = doc.Create.NewFootPrintRoof(footprint, level, roofType, roofCurves)
TransactionManager.Instance.TransactionTaskDone()
OUT = footprintRoof.ToDSType(False), roofCurves.Value