Glossary
Flexway's terms - contract, operation, upstream, tenant, policy, quota, virtual cluster, MCP surface... - each with the page that explains it.
ReferenceAll audiencesSince version 0.1.0
On this page
- Admin port
- API key
- Asynchronous plane
- Bucket
- Catalogue
- Circuit breaker
- Closed by default
- Configuration digest
- Contract
- Effective configuration
- Enforced policy
- Extension
- Host
- Issuer
- MCP federation
- MCP surface
- Operation
- operationId
- Policy
- Policy fragment
- Policy chain
- Proposal
- Quota
- Rate class
- Reload
- Replica
- Shared cache
- Shedding
- SLO
- Tenant
- Timeout budget
- Token exchange
- Upstream
- Virtual cluster
Flexway's terms, in alphabetical order, each with the page that explains it. Configuration keys and extension names are written as they are typed.
Admin port
The separate listener (:9090 by default) of the probes, /config, the simulation, the journals and the
metrics; never routable from outside. -> Admin API
API key
A secret given to a caller without a token, bound to a tenant and to named operations; the gateway keeps only its SHA-256 digest. -> API keys
Asynchronous plane
Publishing and consuming messages on a broker (Kafka, AMQP, MQTT, NATS) under an AsyncAPI contract, with the same identity and tenant as HTTP. -> Publishing and consuming on a broker
Bucket
A caller's token bucket in a rate-limit policy: it fills at a rate and loses one token per request;
empty, 429 rate_limited. -> Setting quotas
Catalogue
The list of served operations, with their upstream, security, owner and withdrawal date, published by
/config and shown by the console. -> Reading with the console
Circuit breaker
The per-upstream state that stops calling a failing upstream for a while, then tests it again
(upstreams.<name>.circuit_breaker). -> Setting quotas
Closed by default
What is not declared does not pass: operation, header, parameter, origin. The whitelist is the normal mode. -> Security posture
Configuration digest
config_digest: the semantic digest of the configuration served, printed by flexway validate and
published by /config, which tells whether two replicas serve the same thing. -> Changing the configuration without a restart
Contract
The document that describes an API - OpenAPI 3.1, AsyncAPI 3, gRPC service or A2A agent card. The contract is the configuration: the gateway serves exactly the operations it declares, and nothing else. -> API gateway
Effective configuration
What a replica serves at this moment: every key of flexway.yaml as loaded, secrets masked, plus the
catalogue and the chains, read on GET /config. -> Admin API
Enforced policy
A policy a fragment places at the head of every chain of the gateway that imports it (HTTP listener):
no local line removes, replaces or undoes it (since 1.7.0). -> Shared policy fragments
Extension
An x-flexway-* key written in the contract for what belongs to an operation (upstream, timeout, cache,
MCP tool...). The list is closed: an unknown extension is refused at load.
-> Configuration reference
Host
A host name served with its own contracts and default upstream (hosts), to serve several APIs from one
gateway. -> Changing the configuration without a restart
Issuer
An OIDC identity provider declared under auth.issuers, whose tokens the gateway verifies.
-> Wiring your identity provider
MCP federation
Existing MCP servers placed behind the gateway's MCP surface, their tools offered under their names, under the same decision as the contract's tools. -> Agents and MCP
MCP surface
The gateway's Model Context Protocol entry point: the operations marked x-flexway-tool are offered there
as tools to agents, under the same decision as REST. -> Agents and MCP
Operation
A method on a path of a contract (or a gRPC method), the unit the gateway routes, authorizes, counts and logs. -> Serving your first API
operationId
The unique name of an operation in the contract. Required: quotas, keys, audit and metrics name operations by it. -> Serving your first API
Policy
A named, phased and conditional (CEL) treatment - CORS, rate, quota, cache, transformation, external
call... - declared under policies and attached by a chain. -> Enriching a flow
Policy fragment
A kind: PolicyFragment file of policy definitions written once, imported by several gateways that
each pin it by its sha256 digest; its definitions are named <import>/<name> there (since
1.7.0). -> Shared policy fragments
Policy chain
The order in which policies apply to an operation: global -> host -> routes -> operation, the most
specific wins, a removal is written !name. -> Enriching a flow
Proposal
A change of flexway.yaml prepared in the console, reviewed, then opened as a pull request on the
repository that holds the configuration; the console never merges. -> Proposing a change from the console
Quota
A ceiling of requests per tenant per day or month (a quota policy), counted in the shared cache;
past it, 429 quota_exceeded. -> Setting quotas
Rate class
The group of operations that shares a caller's bucket in a rate-limit policy (read, write or a
declared class); an operation changes class with x-flexway-rate-class. -> Setting quotas
Reload
Reading the configuration and the contracts again without a restart; a refused configuration never replaces the one serving. -> Changing the configuration without a restart
Replica
One instance of the gateway's process. Each replica has its own memory (cache, journals); only the counters are shared, through the shared cache. -> Choosing a deployment
Shared cache
The Redis-compatible shared cache - Redis, Dragonfly or Valkey (server.counters) - where the replicas
reconcile buckets and quotas, off the request path; optional, but required by tenant quotas. Its
counters are disposable: lost, the gateway goes on with local counters. -> Setting quotas
Shedding
The immediate refusal (503 overloaded) of lower-priority requests when the gateway saturates
(server.shedding, x-flexway-priority). -> Setting quotas
SLO
An availability or latency objective, on an operation or a group of operations, followed by the console with its error budget. -> SLO objectives on groups of operations
Tenant
The isolated customer a request belongs to, read from a signed claim, an API key or a certificate - never from a value the caller writes. -> Multi-tenant isolation
Timeout budget
The three timeouts of an exchange - connect, read (the silence tolerated, which alone bounds a stream)
and total (retries included) -, from the most general (server.timeouts) to the most specific
(x-flexway-timeout on the operation). -> Serving your first API
Token exchange
Obtaining, from the caller's identity provider, a token issued for one specific upstream (RFC 8693): the upstream never receives the original token. -> Agents and MCP
Upstream
The service the gateway relays an operation to, declared under upstreams in flexway.yaml and named by
the operation (x-flexway-upstream) or by default (default). An operation without an upstream makes the
start fail. -> Serving your first API
Virtual cluster
The Kafka cluster a native client sees through the gateway: declared in the AsyncAPI contract, each tenant reads and writes there under its own names. -> Native Kafka clients