API Gateway Platform · View 11 of 21 · Data
The load-bearing key
- access_record.config_version makes every response attributable to the exact configuration that produced it. Without it, "what changed?" is answered by correlating timestamps.
- api_product outlives api_version: the product is the durable subject, versions are disposable. Ownership, plans and subscriptions attach to the product.
- limit_override carries expires_at and approver, so a quota exception ages visibly instead of becoming the permanent state.
Assumptions
- 800 route rows, ~500k credential rows, ~50k org rows — small enough that the configuration dataset fits comfortably in a globally replicated store.
- access_record is partitioned by day and tenant; it is the only high-volume table here.
Omitted
- credential → access_record and credential → audit_event are real foreign keys, left undrawn so the lower half of the page stays readable.