api_normalization
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
- Go to Configuration → Web Services → API Normalization
- Click Import OpenAPI Schema
- Enter an API documentation URL or upload a file
- Select which endpoints to import
- Done—you now have Drupal admin pages for that API
Requirements
- Drupal 10.3, 11, or 12
- PHP 8.3+
- Installed automatically via Composer:
AI,
ECA,
ECK,
Key,
HTTP Client Manager,
Feeds,
OpenAPI,
Tamper,
Advanced Queue,
Project Browser,
Tool
Note: This module is currently in alpha. The API and entity structure
may change between releases.