api_normalization
What It Does
Turn Drupal into a management dashboard for external APIs—without writing code.
Import any API's documentation (OpenAPI/Swagger file), and this module automatically creates:
- Fieldable entities for each API endpoint (via ECK—using Field UI)
- Admin forms to manage API data
- Automated workflows when API events happen
- Backup providers if your main API goes down
Example: Import the GitLab API, and you get Drupal admin pages to create issues, manage repositories, and trigger actions—all without touching code.
Who It's For
- Site builders who want to connect external services without custom code
- Agencies managing multiple client APIs from one dashboard
- DevOps teams needing reliable API failover and monitoring
- AI/ML users running multiple AI providers with automatic fallback via the AI module
Architecture
Built on proven Drupal contrib instead of custom code:
- ECK — 7 fieldable entity types, fully customizable via Field UI
- AI module — 29 Tool plugins for schema import, gateway routing, webhook processing, field mapping, and more
- Key — Secure API key and secret storage
- HTTP Client Manager — HTTP service definitions via YAML
Technical Features
OpenAPI Import Wizard
- Upload any OpenAPI 3.0/3.1 or Swagger file
- Automatically generates Drupal entities from API endpoints
- Point-and-click: URL, file upload, or paste schema
Enterprise Reliability
- Circuit breaker pattern: Stops calling broken APIs automatically
- Provider failover: Switches to backup providers when primary fails
- Rate limiting & caching: Prevents API quota burnout
- Monitoring dashboard: Real-time API health and performance
Multi-Provider AI Services
Works with any provider supported by the AI module:
- OpenAI (GPT-4, etc.)
- Anthropic (Claude)
- Ollama (local models)
- HuggingFace, and others via AI module provider plugins
One interface, multiple providers, automatic failover.
Deep Drupal Integration
- JSON:API endpoints for all imported APIs
- Views integration for API data
- ECA workflow triggers for API events
- GraphQL support (with GraphQL module)
- Token support for templates
Optional Submodules
- api_normalization_gateway — API gateway with route management and request proxying
- api_normalization_agents — AI agent integration for automated API workflows
- api_normalization_orchestration — Multi-step API orchestration pipelines
- api_normalization_tamper — Response transformation and field tamper rules
- api_normalization_failover — Provider failover and circuit breaker patterns
- api_normalization_audit — API usage auditing and analytics
Use Cases
- API Aggregator: Manage GitLab + GitHub + Jira from one Drupal site
- Headless CMS: Consume multiple APIs with normalized data structure
- AI Service Manager: Run multiple AI providers with smart failover
- Enterprise Gateway: Monitor, transform, and secure external API calls
What Makes This Different
Unlike other API modules, API Normalization:
- Creates entities from external APIs (others just document Drupal's APIs)
- Normalizes different API formats into consistent Drupal data
- Provides enterprise features: failover, circuit breakers, monitoring
- Zero code required for basic setup (advanced users can extend via Tool plugins)
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 API documentation URL (or upload file)
- Select which endpoints to import
- Done! You now have admin forms for that API.
Requirements
- Drupal 10.3+ or Drupal 11
- PHP 8.1+
- AI, ECK, Key, HTTP Client Manager (installed automatically via Composer)
Optional:
Similar Projects
How API Normalization compares to other Drupal API modules:
- OpenAPI: Generates OpenAPI specs from Drupal. API Normalization imports OpenAPI specs and creates entities.
- REST UI: Configures Drupal REST endpoints. API Normalization creates endpoints from external API schemas.
- JSON:API (core): Exposes Drupal entities. API Normalization normalizes external APIs to work with Drupal.
- GraphQL: GraphQL for Drupal entities. API Normalization integrates with GraphQL and can generate schemas from external APIs.
Unique Value: API Normalization is the only module that we know of that imports OpenAPI schemas and automatically generates Drupal entities with full integration support (GraphQL, JSON:API, Views, ECA).