Skip to content
Let’s Talk(888) 666-8625 DocumentationDocsBlogContact
Solutions · API Management

Every API. One gateway. Every policy enforced.

Art2link ESB is an API management runtime built into the integration platform - one gateway for REST, GraphQL, gRPC, and webhooks. JWT and OAuth 2.1 authentication, per-client rate limiting, OpenAPI 3.1 validation, request and response transformation, circuit breaking, and OpenTelemetry-compatible traces, configured per route. No second product. No per-message pricing.

What we usually find

The conditions that turn an API portfolio into a liability.

Different teams, different conventions, different auth, different SLA assumptions. One per-team-API-platform inventory question usually reveals four shared problems.

Condition 01
API sprawl, no inventory

Each team shipped their own API. Nobody can answer how many APIs the company has, who owns them, or which are deprecated. Auditors notice.

Condition 02
Auth inconsistency

Team A uses API keys, B uses bearer tokens, C uses mTLS, D never finished implementing auth at all. The least-secure API sets the company's risk profile.

Condition 03
Version chaos

v1 and v2 of the same API run in parallel forever because no one has the courage to deprecate v1. Backend code carries every version's branching logic.

Condition 04
Observability gap

When an API consumer reports a problem, the team can't answer "did the request even reach us?" without three engineers correlating logs across five systems.

Live gateway trace

One request, end-to-end. Every policy, every millisecond.

A representative production request flowing through the Art2link gateway. Hover any stage to expand its policy detail underneath. Status, timing, and the request payload at every stop - the same view your operators see when investigating a real incident.

GET /v3/customers/12345/orders?status=open Mobile app · iOS 17.4 · client_id mob-prod-001
01
Receive
TLS 1.3
0.4ms
02
JWT validate
OK
2.1ms
03
Authorize
scope OK
0.8ms
04
Rate limit
83% of cap
0.3ms
05
Schema validate
OK
1.2ms
06
Cache check
miss
0.5ms
07
Route
orders-svc
28.6ms
08
Transform
strip PII
1.1ms
09
Cache store
TTL 60s
0.6ms
10
Respond
200 OK
0.4ms
Stage detail
Receive · TLS 1.3 handshake validated Inbound TLS 1.3 only. Front Door terminates TLS; downstream tunnel uses mTLS with rotating certs. cipher=TLS_AES_256_GCM_SHA384, ALPN h2.
JWT validate · Entra ID issuer Signature verified against the Entra ID JWKS endpoint. iss, aud, exp, nbf checked. Token cached 5 minutes by kid.
Authorize · scope & tenant check Required scope customer.read present in token. Tenant in tid matches API's allow-list. Role claims evaluated against the route's RBAC policy.
Rate limit · sliding-window quota Client mob-prod-001 tier=premium · 60,000 req/min cap, 49,830 in the current window (83%). Soft-throttle headers attached to response: X-RateLimit-Remaining: 10170.
Schema validate · OpenAPI 3.1 Path matched against operation getCustomerOrders. Query parameters validated against schema; status must be one of open|closed|pending. Body schema not required for GET.
Cache check · Redis Cache key v3:customer:12345:orders:open - miss. Backend call proceeds. Hit rate for this route last hour: 74.2%.
Route · orders-service Routed to upstream orders-svc.internal:8443. Circuit breaker state: CLOSED. Backend p99 last 5 min: 22ms. Network round-trip included in stage timing.
Transform · response shaping XSLT 3.0 transform strips internal fields (internal_status_code, cost_basis) before client return. Fields preserved in cache untouched for warm-path consumers.
Cache store · 60s TTL Response cached under the request key with vary on Authorization. TTL 60s per route policy. Stale-while-revalidate enabled.
Respond · 200 OK · 1.4 KB Response sent over HTTP/2 with rate-limit headers attached. Full trace persisted to Application Insights with correlation ID 5f3a-201c.
Total round-trip 36.0 ms Gateway overhead 7.4 ms Backend 28.6 ms Correlation ID 5f3a-201c
Policy catalog

Every policy you can attach to a route, configured per route.

Policies compose in sequence. Reorder them per API. Hover any policy to see a representative configuration snippet.

JWT validate
Entra ID · custom JWKS · 5 min cache
Signature, iss, aud, exp, nbf, kid rotation. Audience claim binding to the route's API ID.
OAuth 2.1 + PKCE
Authorization code · refresh token rotation
PKCE required by default. Refresh-token rotation with reuse detection. response_type=code, code_challenge_method=S256.
API key
Per-client · rotated quarterly
For partners not on OAuth. Keys hashed at rest, rotated quarterly with overlap window. Header X-API-Key or query parameter.
mTLS
B2B · cert pinning · Key Vault
Mutual TLS for B2B endpoints. Client cert pinning. Cert chain validated against Key Vault-managed trust store. Auto-rotation supported.
Rate limit
Sliding window · per-client · per-tier
Tiered quotas (free/basic/premium/enterprise). Sliding-window or token-bucket. X-RateLimit-* response headers. Soft and hard throttle.
Schema validate
OpenAPI 3.1 · JSON Schema 2020-12
Request and response validation against OpenAPI 3.1. JSON Schema 2020-12 for body validation. Reject or sanitize on failure per route policy.
Cache
Redis · TTL · vary headers · SWR
Cache key by URL + selected headers (vary). TTL per route. Stale-while-revalidate. Cache invalidation via tag-based purge API.
Circuit breaker
Open · half-open · closed · auto-recover
Fail-fast when backend error rate exceeds threshold. Half-open probes restore traffic gradually. open_threshold, cool_off_seconds per route.
Request transform
Header inject · body rewrite · XSLT 3.0
Inject headers, rewrite path, transform body via XSLT 3.0 or JSONPath. Useful for backend protocol adaptation (e.g., gRPC backend behind REST front).
Response transform
Strip fields · reshape · GZIP
Strip internal-only fields, redact PII, reshape arrays, set GZIP compression. Multiple transforms can chain per route.
Telemetry
App Insights · OTLP · structured logs
OpenTelemetry traces, App Insights metrics, structured JSON logs with correlation IDs. Custom attributes per route (e.g., business thread).
Mock response
Spec-driven · scenario library
Spec-driven mock responses for consumer-driven testing. Multiple scenarios per endpoint. No backend required during early integration cycles.
Version lifecycle

Multiple API versions in production. Without forking the codebase.

Real APIs run several versions at once. Art2link runs every active version simultaneously behind one gateway, with per-version policy chains, deprecation headers, and sunset scheduling - so v1 consumers keep working while v3 launches and v4 gets prototyped.

/customer-api versions · 4 versions tracked · 1 sunset · 2 active · 1 planned
Active Deprecated Sunset / planned
2022 2023 2024 2025 2026
v1sunset
2022 Q1 → 2024 Q1 · sunset
v2deprecated
2023 Q1 → 2025 Q1 · deprecated 2025
v3active
2024 Q1 → current · recommended
v4planned
Planned 2026 Q4 · gRPC-first
Deprecation hygiene built in. Deprecated versions automatically attach Deprecation and Sunset response headers. Per-version traffic dashboards surface adoption curves. Deprecation policies trigger when consumer traffic drops below a configurable threshold.
In production

API portfolios on Art2link, in production.

A retail bank consolidated 134 internal APIs across 18 teams onto a single Art2link gateway - standardizing OAuth 2.1, mTLS for partner connections, and per-tier rate limiting. p99 gateway overhead under 8ms across the portfolio.

Financial services · 12B+ requests/month · public + partner APIs

A digital-health platform shipped three API versions in parallel through Art2link - v1 sunset, v2 deprecated, v3 recommended - with zero breaking changes for clinical consumers during a two-year evolution.

Healthcare · FHIR R4 · partner ecosystem · PHI workload
Free API portfolio audit

We’ll audit your top 20 APIs. Written report in one week.

What you get

A written audit of your API portfolio posture.

An Art2link senior API architect reviews up to 20 of your APIs and returns a written audit covering: authentication consistency, rate-limit hygiene, OpenAPI spec coverage, version-deprecation exposure, and the routes most at risk of compliance or SLA penalties. Deliverable is yours regardless of next steps.

  • Written audit within 5 business days of intake
  • Reviewed by a senior API architect - not a generalist
  • No cost, no obligation. NDA on file before any spec or traffic review.
  • Result is yours to share with security, finance, or partner teams
We reply within one business day to confirm intake.
Frequently asked

What API platform leaders ask before signing.

How is this different from Azure API Management, Apigee, or Kong?

The other gateways are good products. Three real differences for an enterprise: pricing scales with infrastructure rather than message count (Apigee/MuleSoft become punitive past 100M req/month); the gateway is co-resident with the integration runtime (no extra hop, no extra product to govern); and there’s no separate "developer portal" SKU - it’s included. If you’re happy on your current platform, the migration story is a parallel-run with a wave-based cutover.

Can you manage gRPC and GraphQL alongside REST?

Yes. The gateway speaks REST (OpenAPI 3.1), GraphQL (producer and consumer), and gRPC (with HTTP/2). The same policy chain applies regardless of protocol - auth, rate limit, validation, transform - with protocol-specific extensions for GraphQL query complexity limiting and gRPC streaming flow control.

What about WebSockets and webhook callbacks?

WebSocket connections terminate at the gateway with auth and per-connection rate limiting. Webhook callbacks register against named subscribers with HMAC signing, retry-on-failure, and dead-letter when subscribers are persistently down. Both flows show up in the same operator UI as REST traffic.

How are API products and developer portals handled?

API products are bundles of APIs published under a name (e.g., "Partner Orders Suite") with tier-based access. The developer portal is included - spec-driven docs, interactive try-it console, key provisioning, and analytics. Branded subdomain supported. No separate SKU.

Can we run the gateway hybrid (on-prem data plane + cloud control plane)?

Yes for regulated environments. The control plane (config, analytics, portal) runs in Azure. The data plane (the actual gateway processing requests) can be deployed to a customer VPC or on-premises via container, with the control plane managing it remotely. Config syncs over a control channel; traffic stays local.

Not ready for an audit?

Run the Starter Plan in your subscription, free.

Install the free Starter Plan from Azure Marketplace and front one of your existing APIs through the Art2link gateway. Compare overhead, policies, and observability against your current platform before scoping a move.