This project is not covered by Drupal’s security advisory policy.

Built by a human using an AI assistant: 🤖 ➕ 🧠

Note that extensive parts of this module was generating via AI coding agents under human supervision.

What It Does

Turn Drupal into a management dashboard for external APIs—without writing code.

Import any API's OpenAPI/Swagger schema, and this module automatically creates fieldable Drupal entities for each endpoint, admin forms to manage API data, ECA-driven workflows on API events, and automatic provider failover.

Example: Import the GitLab API, and you get Drupal admin pages to create issues, manage repositories, and trigger automated workflows—no custom code required.

Who It's For

  • Site builders who want to connect external services without custom code
  • Agencies managing multiple client APIs from one Drupal dashboard
  • DevOps teams needing API failover, monitoring, and request transformation
  • AI/ML users running multiple AI providers with automatic fallback via the
    AI module

Architecture

Built on proven Drupal contrib—no reinventing the wheel:

  • ECK — 7 fieldable entity types:
    api_endpoint, api_key, openapi_schema,
    import_draft, gateway_route, tenant,
    api_normalization_rule
  • AI module — Tool plugin integration
    for schema import, gateway routing, and response processing
  • ECA — Event-driven workflows on
    API events
  • Feeds — Data import/export
    workflows with Tamper transforms
  • Key — Secure API key storage
  • HTTP Client Manager
    — HTTP service definitions via YAML
  • OpenAPI — Schema validation via
    league/openapi-psr7-validator

Features

OpenAPI Import

  • Import OpenAPI 3.0/3.1 schemas by URL, file upload, or paste
  • Generates Drupal entities from API endpoints via ECK
  • Schema validation with league/openapi-psr7-validator
  • Import drafts allow staged review before entity creation

Multi-Provider AI Services

Works with any provider supported by the
AI module—OpenAI, Anthropic, Ollama, HuggingFace, and others. One interface, multiple providers, automatic failover.

Deep Drupal Integration

  • JSON:API and REST endpoints for all imported API entities
  • Views integration for API data
  • ECA workflow triggers on API events
  • Token support for templates
  • Advanced Queue for background API processing

Submodules

  • api_normalization_gateway — API gateway for request transformation
    and routing
  • api_normalization_tamper — Transform AI provider responses to
    OpenAI-compatible format via Tamper plugins
  • api_normalization_flowdrop — Visual workflow nodes for schema.org
    mapping, entity classification, and OpenAPI spec generation via
    FlowDrop
  • api_normalization_orchestration — Exposes capabilities to external
    automation platforms (N8N, Zapier) via the Orchestration module
  • api_normalization_audit — Audit logging, metrics collection, and
    performance monitoring
  • api_normalization_modeler — Visual API routing flow design via the
    Modeler API

Quick Start

composer require 'drupal/api_normalization:^1.0@alpha'
  drush en api_normalization
  drush cr
  
  1. Go to Configuration → Web Services → API Normalization
  2. Click Import OpenAPI Schema
  3. Enter an API documentation URL or upload a file
  4. Select which endpoints to import
  5. Done—you now have Drupal admin pages for that API

Requirements

Note: This module is currently in alpha. The API and entity structure
may change between releases.

Supporting organizations: 
Collective Support in Collaborative Development

Project information

Releases