---
id: w1/m13/t001
title: REST parity — bex /v1/* vs Render's OpenAPI, endpoint-by-endpoint
worker: worker1
status: done
estimate: 30m
depends_on: []
---

## Objective

Walk Render's public OpenAPI spec (`render-public-api-1.json`) endpoint-by-endpoint and record bex's status for each: implemented (which handler), partial (which fields/params omitted — the documented "safe superset" omissions count as ◐ with rationale), or missing. Cover services, deploys, custom domains, env vars, scaling, postgres, logs, metrics, api-keys — and note Render nouns bex has no counterpart for (env groups, disks, cron jobs, preview environments, blueprints…).

## Context

- bex REST fragments: `lego/backend/internal/{apps,logs,metrics,apikeys,postgres,secrets}/rest.go`.
- Prior verified-parity notes live in docs/ADR006-bex-api.md (env-vars: all 5 endpoints; services envelope; verb status codes) — reuse, don't re-derive.

## Steps

1. Enumerate the spec's paths; map each to a bex handler or a gap.
2. Note param-level divergences (accepted-but-ignored, omitted, bex extras).
3. Emit the REST column of the matrix as structured notes for t004.

## Files

- working notes only (feeds `docs/ADR018-render-parity.md` in t004)

## Acceptance criteria

- [ ] Every path in Render's spec has a recorded status + evidence pointer; no "probably".

## Out of scope

- Building anything found missing (file notes in t004 instead).
