Guarantees
The promises every API on the platform keeps, each enforced by code and checked by a test.
Every API on the platform keeps the promises below, because the code that serves it enforces each one.
| Promise | Concept | How it holds |
|---|---|---|
| Interfaces cannot disagree | Definition | Every Interface reads the one Definition, and a contract test runs each example through each Interface. |
| The posted rate is the rate every call states | Price | The cost header and the usage Event of a call carry the rate the pricing document, OpenAPI and the docs post. |
| An unpriced operation is never served free | Price | When the Offer posts no rate for an operation, the whole API answers 503 until it does. |
| A miss costs nothing | Price | A miss, an error and every generated Interface answer with a price of 0. |
| A retry is counted once | Meter | The usage token is the Idempotency-Key, or else the Key, operation, input and hour of the call. |
| A Limit is never skipped | Limit | When the Limits cannot be checked, the call answers 503 and nothing runs. |
| Every call is kept | Call record | Each call is a record that never expires, holding a digest of the Key and never the Key. |
| A test call never touches live books | Test twin | A test or dev Key keeps its calls and usage in a separate namespace whose books never post. |
| Every link is on the API's host | Host | Every generated link is built from the origin the request reached. |
| A Definition is checked when it is written and when it is read | Definition | A Definition with any problem is refused on write and on read back, so a bad one never serves. |