> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usezentra.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reviewed Public Surface

> Exact HTTP namespaces and tenant-gated product keys that are currently reviewed in the live Zentra gateway

This page is the exact external HTTP contract that is currently reviewed against the live `zentra_api_gateway`.

<Warning>
  If another page, SDK snippet, or generated spec suggests a broader contract, prefer this page, the current changelog, and the gateway source until that broader surface is promoted.
</Warning>

<Note>
  A machine-readable route manifest for this reviewed surface lives in `docs/current/api-specs/reviewed-public-route-manifest.yaml`.
</Note>

<Note>
  A schema-light reviewed public OpenAPI bundle also lives at `docs/current/api-specs/reviewed-public/openapi.yaml`.
</Note>

<Note>
  The reviewed public gateway paths in the repo are rooted at `/api/v1/*`. The Mintlify workspace has been reconciled to that route family, but the reviewed route manifest and reviewed OpenAPI bundle are still the stronger authority whenever a generated helper or older integration example drifts.
</Note>

## Reviewed Public HTTP Namespaces

The reviewed public HTTP surface today is:

* `GET /api/v1/banks`
* `/api/v1/transfers/*`
* `/api/v1/payments/*`
* `/api/v1/identity/*`
* `/api/v1/virtual-accounts/*`
* `/api/v1/cards/*`
* `/api/v1/bills/*`
* `/api/v1/webhooks/*`

`/api/v1/telemetry/*` also exists as a tenant-scoped control-plane surface, but it is not a money rail or customer-facing product namespace.

## Tenant-Gated Product Keys

The live reviewed product keys in the gateway are:

| Product key        | HTTP namespace                                              |
| ------------------ | ----------------------------------------------------------- |
| `transfers`        | `/api/v1/transfers`, `/api/v1/banks`                        |
| `payments`         | `/api/v1/payments`                                          |
| `identity`         | `/api/v1/identity`                                          |
| `cards`            | `/api/v1/cards` and authenticated card webhook admin routes |
| `virtual_accounts` | `/api/v1/virtual-accounts`                                  |
| `billpay`          | `/api/v1/bills`                                             |

## Core Primitives That Are Not Yet Part Of The Reviewed Public HTTP Contract

These are real platform primitives or client-facing add-ons, but they are not yet part of the reviewed public gateway surface:

* `zentra_auth`
* `zentra_fees`
* `zentra_routing_engine`

Those services currently operate through internal contracts or tenant-specific/private surfaces unless promoted later.

## Draft Or Reference External Namespaces

The following namespaces remain draft, tenant-specific, or reference material:

* `/api/v1/customers/*`
* `/api/v1/wallets/*`
* `/api/v1/analytics/*`
* `/api/v1/plans/*`
* `/api/v1/subscriptions/*`

Current Phase 1 boundary decision:

* `zentra_identity` is now part of the reviewed public gateway as a tenant-gated client-facing identity surface
* `zentra_billpay` is now part of the reviewed public gateway as a tenant-gated optional bill-payment rail
* `zentra_notifications` is treated as a valid public optional add-on when exposed for a tenant, even though it is not part of the reviewed default gateway
* `zentra_billing` remains internal/private today with a future client-facing billing surface planned
* plans and subscriptions remain draft/reference overlays, not default primitive public API surfaces

## Optional Rail Add-ons vs Primitive Core

Primitive-first does not mean "only one service." It means the live default contract should stay narrow.

* Primitive reviewed public core:
  * transfers
  * webhook delivery
  * authenticated edge controls
* Optional reviewed public rails:
  * payments
  * identity
  * virtual accounts
  * cards
  * billpay
* Reference accelerators:
  * subscriptions
  * cashback/rewards
  * budgeting
  * split bills
  * QR payments
  * savings

## Promotion Rule

Before any draft namespace becomes part of the reviewed public surface, it must have:

* gateway routing in the live repo
* explicit tenant enablement or explicit always-on policy
* current docs and changelog coverage
* deterministic tests for auth, rate limiting, idempotency, and audit behavior
