Map of the platform: web and mobile apps, partners, AI agents and browsers call Flexway, on your infrastructure; every request follows the UDC: contract, identity, quotas, policies, relay. Flexway, the API, AI and agent gateway, is the single point of passage: every line enters by one port and leaves by one. Kafka producers go through the native Kafka proxy, a separate lane that does not pass these five stations. Flexway gathers eight domains: API, Security, Traffic, Transformations, AI, Agents, Asynchronous, Operations. It serves your REST and gRPC services, your existing systems, your federated MCP servers, your internal models and your Kafka, AMQP, MQTT and NATS brokers; outside your infrastructure, the AI providers and the partners' webhooks. Every possibility is drawn: web and mobile apps reach your services, your existing systems, your brokers, the partners' webhooks, your internal models and the AI providers; partners, your services, your existing systems, your internal models and the AI providers; browsers, your services, your existing systems and your brokers, over SSE or WebSocket; AI agents, tools projected onto your services, tools of your MCP servers, your brokers through a tool that publishes, your internal models and the AI providers through the OpenAI-compatible surface. Six scenarios read one path step by step. The GitOps control plane, in its own frame, drives the gateway and receives its telemetry: contract in Git, OIDC provider, a console that proposes as pull requests, OpenTelemetry, secrets. A partner over its quota gets a 429 and the service is never called. Coming: MQTT devices, through the devices' MQTT listener.
- Web and mobile apps
- Your web and mobile apps: they call your APIs over REST, gRPC or gRPC-Web, and every call goes through Flexway's decision.
- Partners
- The partner companies that consume your APIs: identified by a client certificate or an API key, under a quota per tenant.
- AI agents
- AI agents: they call MCP tools and models through Flexway, under the same identity, quota and audit as an API.
- Browsers
- Browsers: REST calls and real-time streams (SSE, WebSocket), relayed by Flexway without buffering.
- Kafka producers
- Your Kafka producers and consumers: they plug into Flexway's native Kafka proxy, without changing library.
- MQTT devices
- Planned in 1.7: Devices that publish over MQTT: Flexway will take them in through its MQTT listener, with an identity and a quota per device.
- Contract
- Flexway serves only what your OpenAPI, AsyncAPI or Protobuf contract declares; anything else gets a 404 without reaching your services.
- Identity
- Flexway checks who is calling (OIDC token, API key or client certificate) and reads the tenant from the identity; no valid identity: 401.
- Quotas
- Flexway limits each caller's rate, then the tenant's daily and monthly quota; beyond them: 429, with Retry-After.
- Policies
- The route's policies: contract schema, transformations, cache isolated per tenant, a call to a decision service that may refuse.
- Relay
- Flexway relays to the upstream without buffering, under a bounded deadline and a circuit breaker; each decision leaves an OpenTelemetry trace.
- API
- The contract is the configuration: one OpenAPI 3.1 is enough to serve, validate and relay.
- Security
- Tokens from several issuers, scopes and roles from the contract, API keys, client certificates.
- Traffic
- Rate per caller, quotas per tenant, load shedding, timeouts, retries and circuit breakers: the gateway refuses cleanly rather than falling over.
- Transformations
- Headers, path, body and status codes reshaped, cache, external call and CEL policies, without touching the upstream.
- AI
- An OpenAI-compatible surface in front of your models: token and euro budgets per tenant, ordered fallback.
- Agents: MCP and A2A
- Marked operations become MCP tools under the same decision as REST; federated MCP servers.
- Asynchronous
- Publish to Kafka, AMQP or MQTT from HTTP, through the same doors; signed, replayable webhooks.
- Operations
- OpenTelemetry logs, metrics and traces, and a rich console that never touches production: a change becomes a pull request.
- Services
- Your REST and gRPC services: they receive only the requests Flexway let through, under deadline and circuit breaker.
- Existing systems
- Your existing systems: a gRPC service becomes callable over REST, without a rewrite, through the Protobuf descriptors.
- MCP servers
- Your existing MCP servers, federated behind Flexway: their tools come under the same authorization, quota and audit.
- Internal models
- Your internal models, called through the OpenAI-compatible surface; a sensitive request is pinned to them.
- Brokers
- Your Kafka, AMQP, MQTT and NATS brokers: Flexway publishes on them under an AsyncAPI contract, in a CloudEvents envelope.
- AI providers
- The AI providers outside your infrastructure: their keys stay in Flexway, each call counts against the tenant's budget.
- Partner webhooks
- Your partners' systems: they receive your events as signed, replayable webhooks.
- Contract in Git
- Your Git repository: the contract and flexway.yaml are versioned and validated offline there; it is the configuration's only source.
- OIDC provider
- Your OIDC identity provider: it issues the tokens, Flexway reads its keys and checks each token.
- Console
- Flexway's console: it observes traffic and proposes changes as pull requests, never writing to production.
- OpenTelemetry
- OpenTelemetry: traces and metrics of every decision, sent to your observability.
- Secrets
- Your secrets: references (file, variable) resolved at run time, never a clear value in the configuration.
- Native Kafka proxy
- The native Kafka proxy: Kafka clients plug into it over the Kafka protocol, outside the HTTP chain, with a virtual cluster per tenant.
- MQTT listener
- Planned in 1.7: The devices' MQTT listener, as a proxy in front of your broker, with identity and quota per device.