---
id: w1/m16/t004
title: Render parity — env-groups + secret-files across REST/GraphQL/MCP/UI vs render.com
worker: worker1
status: done
estimate: 20m
depends_on: [w1/m16/t002, w1/m16/t003]
---

## Objective

Standing Render-parity task for this milestone: confirm the new environment-group and secret-file surfaces are consistent across REST, GraphQL, MCP, and the dashboard UI, and behave the way render.com does — REST tracking Render's public shape, GraphQL the dashboard, MCP the official server. Record any deliberate divergences (the "safe superset" rule) in docs.

## Context

- Render exposes REST publicly, GraphQL for its dashboard, and an official MCP server; bex tracks all three (docs/ADR006-bex-api.md "One core, three adapters"). Verify group + secret-file endpoints against those references the way env-vars were (`render-public-api-1.json` for REST; a live dashboard capture for GraphQL; `render-oss/render-mcp-server` for MCP).
- `docs/ADR018-render-parity.md` carries the two ✖ rows this milestone closes ("Secret files", "Environment groups"); flip them once parity holds.
- The env-vars section already documents its deliberate divergences (immediate roll vs Render's separate deploy; omitted pagination/`generateValue`) — follow that pattern for groups/files.

## Steps

1. Cross-check REST group + secret-file shapes against Render's public API; note omitted-but-safe fields.
2. Cross-check GraphQL operations against a render.com dashboard capture; MCP tool names/args against the official server.
3. Confirm the dashboard UI covers create/edit/link for groups and add/edit for secret files.
4. Update `docs/ADR018-render-parity.md` (flip the two rows) and `docs/ADR006-bex-api.md` / `docs/ADR013-secrets.md` with the new surfaces + any deliberate divergences.

## Files

- `docs/ADR018-render-parity.md` — flip the "Secret files" + "Environment groups" rows.
- `docs/ADR006-bex-api.md`, `docs/ADR013-secrets.md` — document the new surfaces + divergences.

## Acceptance criteria

- [ ] REST group + secret-file shapes match Render's public API (or divergences are documented).
- [ ] GraphQL + MCP surfaces match Render's dashboard + official server references.
- [ ] Dashboard UI parity confirmed for both surfaces.
- [ ] `docs/ADR018-render-parity.md` rows flipped; divergences recorded in docs.

## Out of scope

- New feature work beyond closing parity gaps found here.
