Ceiling.ByOutlineTypeAndLevel

Revit does not seem to expose any ceiling creation methods to the api, so it looks like Ceilings are out of the question.

Roofs should be possible with the “NewFootPrintRoof” method. There’s an existing topic on that: