Integration Patterns · API Governance Rules
Integration Patterns API Rules
Spectral linting rules defining API design standards and conventions for Integration Patterns.
0 Rules
Spectral Ruleset
x-aid: integration-patterns:rules
x-name: Integration Patterns Usage Rules
description: >-
Operational rules and guardrails for applying Enterprise Integration
Patterns (EIP) to real systems. These rules cover when to use messaging
versus request/response, channel and endpoint design, routing and
transformation, error handling, and the operational concerns of system
management patterns in modern microservice and event-driven environments.
x-modified: '2026-04-28'
rules:
- id: name-the-pattern
category: Vocabulary
statement: >-
Use canonical EIP names (e.g., Content-Based Router, Message Filter,
Aggregator, Wire Tap) in design documents and code reviews so that
teams share a precise, technology-independent vocabulary.
- id: messaging-vs-rpc
category: Style
statement: >-
Reach for asynchronous messaging when components must be loosely
coupled, survive partial failure, or scale independently; reach for
synchronous request/response when a caller genuinely needs an
immediate answer.
- id: channel-per-purpose
category: Messaging Channels
statement: >-
Define one channel per message type or business intent rather than a
single firehose channel; this makes Datatype Channel and
Publish-Subscribe semantics explicit.
- id: durable-channels
category: Messaging Channels
statement: >-
Use Guaranteed Delivery (durable, persistent) channels for any
message whose loss would damage the business; reserve volatile
channels for telemetry-class data.
- id: command-vs-event
category: Message Construction
statement: >-
Distinguish Command Messages (do this) from Event Messages
(this happened) in both naming and routing; never overload a single
message type to mean both.
- id: correlation-ids
category: Message Construction
statement: >-
Stamp every message with a correlation ID so that Request-Reply,
Aggregator, and Saga-style flows can be traced end to end.
- id: idempotent-consumers
category: Endpoints
statement: >-
Make every message endpoint idempotent so that duplicate delivery
(which is normal in at-least-once messaging) does not corrupt state.
- id: poison-message-handling
category: Reliability
statement: >-
Route un-processable messages to a Dead Letter Channel after a
bounded number of redelivery attempts rather than letting them block
a queue or loop forever.
- id: content-based-routing
category: Routing
statement: >-
Use a Content-Based Router or Message Filter when only a subset of
consumers should see a message; do not push routing logic into every
consumer.
- id: transformer-isolation
category: Transformation
statement: >-
Implement Message Translator and Content Enricher as dedicated
components so that schema differences between systems are visible
and testable, not buried inside business logic.
- id: orchestration-vs-choreography
category: Process
statement: >-
Use Process Manager / orchestration when a single business process
needs central control, audit, and timeouts; use choreography
(event-driven, no central coordinator) when independence and
autonomy of services matter more than central oversight.
- id: wire-tap-for-observability
category: System Management
statement: >-
Use Wire Tap and Message History patterns to add observability to
live channels without altering production message flow.
- id: control-bus
category: System Management
statement: >-
Manage configuration, feature flags, and operational commands for
messaging components through a Control Bus, not by ad hoc redeploys
or direct database writes.
- id: schema-evolution
category: Governance
statement: >-
Version message schemas explicitly and make changes additive when
possible; coordinate breaking changes via Message Translator and a
planned consumer migration rather than in-place schema mutation.
- id: pattern-not-product
category: Strategy
statement: >-
Choose a pattern first and a product (broker, iPaaS, agent
framework) second; do not let a vendor's primitives dictate which
EIP patterns are available to your architecture.
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for spectral rules
4 MCP tools reach this
find_rulesBrowse and filter every ruleset in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This ruleset
curl "https://apis.io/api/v1/rules/integration-patterns-rules"
All spectral rules
curl "https://apis.io/api/v1/rules?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.