Não sabe exatamente o que você quer dizer com "criar" visualizações.
Primeiro, se você possui tabelas / dados personalizados, pode usar hook_views_data () e plug-ins e manipuladores personalizados para informar às visualizações como acessar essas tabelas. Alguns tutoriais / exemplos: http://treehouseagency.com/blog/neil-hastings/2010/01/19/views-handler-easy-way (Drupal 6) e http://larsolesen.dk/node/273 (Drupal 7) Mas, novamente, você só precisa disso se quiser expor suas próprias tabelas a visualizações.
Depois, há vários ganchos de pré-renderização e alteração, que permitem alterar algumas coisas que você não pode fazer na interface do usuário. Lista de vistas ganchos no Drupal 6 .
Dito isto, não há "API" para criar visualizações reais (que eu saiba). Acho que todo mundo usa a interface do usuário do Views para isso (afinal, é uma ótima interface do usuário agora no Drupal 7). O que você pode fazer é exportar as visualizações criadas na interface do usuário para distribuí-las com o seu módulo ou como um novo módulo. Isso também é útil para os módulos contribuídos / padrão, não apenas expor suas tabelas a visualizações, mas também fornecer exemplos de visualizações, que podem ser personalizadas / estendidas para um site específico.
Em vez de exportá-los manualmente, você também pode usar o módulo Recursos , que permite exportar todos os tipos de configuração (visualizações, tipos de conteúdo, campos, permissões, ...) para os chamados recursos (que é basicamente um módulo gerado automaticamente) . Isso é especialmente útil ao mover configurações como visualizações de um desenvolvimento para uma instalação de produção ou reutilizar as mesmas visualizações / configurações em vários sites.