Endpoint security and rate limits

Infra > Endpoint security, Infra > Endpoint rate limits and Infra > Endpoint audit are three entries onto one inventory: the operations the gateway reads from a route's OpenAPI spec. Security asks who may call this, rate limits ask how much, audit asks which calls to record (Enterprise, see auditing a route's operations). This page covers the first two.

Before you start

The screen only lists routes that expose an OpenAPI spec. If none does, it says so and points you at Routes: declare the spec on the route's Target section, either published by the service or deposited as a file, then come back.

What you do here

  1. Pick the route in the selector at the top. Its title, format and version appear beside it. Arriving from a route's editor preselects it.
  2. Find the operation. The table lists method, path, tags and description. The method and tag column headers are filters; the path column sorts. The footer counts what is covered: N operations, M secured (or M bounded).
  3. Click the row. The operation opens in a drawer, with its operation id and the section this page is about.
  4. Write the rule. There is no Save button: the footer says Saving... then All changes saved.

On the security page

The drawer carries one switch, Override the route config.

Level What it requires
Delegated Nothing. Everyone through, signed in or not; the service decides
Signed in Any account, including one that belongs to no organisation yet
In an organisation An organisation must be active on the session
In one of these organisations The active organisation must be one of those named
Nobody Refused before the service is called

The same access editor, on a route's Security section: a level, a list of roles, and an exception for named users

The same editor, here on the Orders API route: the level, the roles (any one grants access, held in the active organisation), and the exception for named users. An operation's drawer shows exactly this once the override is on.

Named users are an exception, not a level: whoever is listed passes whatever the level requires. That is how a service account or a support login gets through a rule written for everyone else.

Whatever you choose, the service still applies its own rules. This screen adds conditions, it never removes any - which is why the open end is called delegated and not public.

On the rate limits page

The rate limits page: the bounds an operation carries, in the first column

The drawer holds the operation's own bounds, on top of the route's, which still apply. A bound is a counter, and you choose what it is keyed on:

Key One budget per
The whole operation everything it carries, whoever is calling
Each user signed-in account (anonymous callers are not covered)
Each API token token, so an integration is bounded without bounding its owner
Each organisation organisation - a quota sold to a customer
Each address client address, the only key an anonymous caller has

The second half of a rule says to whom it applies, and it is the same access shape as above: a role becomes a pricing tier without a new concept. Several bounds are true at once, and the first one exceeded answers 429.

Write these for the few operations that need one. A bound on every operation of a large inventory is a counter per operation and per caller.

Traps

See also Routes for the route-wide rule, and Roles for the catalogue these rules name.