Skip to content

feat: make Access Grants the front door for granting access#1114

Merged
sybohy merged 6 commits into
mainfrom
feat/access-grants-front-door
Jun 6, 2026
Merged

feat: make Access Grants the front door for granting access#1114
sybohy merged 6 commits into
mainfrom
feat/access-grants-front-door

Conversation

@sybohy
Copy link
Copy Markdown
Member

@sybohy sybohy commented Jun 5, 2026

Why

Access Grants went GA on 2026-05-15 and are now the default, recommended way to grant access to any physical space, irrespective of the locking hardware. But the docs still framed Access Grants as ACS-only:

  • The capability guide's "Where" table listed only acs_entrance_ids/space_idsdevice_ids appeared zero times in the entire Access Grants guide directory
  • The API-reference create page led with a space_ids example
  • Access Grants sat 4th in the nav, behind Smart Locks/ACS/Mobile Access
  • The landing page and quickstart never mentioned them

This is why the Seam MCP confidently told a user that "Access Grants are designed exclusively for ACS-connected devices (entrances), not standalone smart locks" (Slack thread). The MCP reflected our docs faithfully — the docs were the bug.

What

New "Use Cases" nav section (very top), with a "Granting Access" decision page answering "which API should I use?" — and the Access Grants guides moved under it. Teaching order everywhere follows the ladder: one device → multiple devices/spaces → ACS entrances.

  • ✨ New page: Creating an Access Grant Using Devices (device_ids + code, capability checks, 7-language tabs)
  • ✏️ Access Grants overview rewritten: universal framing, device_ids first in the "Where" table, simple-device path as the default narrative, ACS setup as the advanced tier
  • ✏️ Quick Start step 3 now creates an Access Grant + reads back the PIN (was: lock/unlock; lock/unlock moved to next steps)
  • ✏️ API reference access_grants/create now leads with a devices-only example (new code sample definition; regenerated)
  • ✨ "Grant Access" card first on the landing page
  • 🔀 .gitbook.yaml redirects for all 10 moved pages (validate-redirects ✅)
  • 🛠 validate-links now accepts URLs covered by redirects (upstream @seamapi/types descriptions still link the old URLs; they resolve via redirect until we update them upstream — fast-follow PR planned in seam-connect)

Validation

  • npm run validate-paths / validate-links / validate-orphan-pages / validate-redirects — all ✅
  • npm run typecheck, npm run lint, npm run format — ✅
  • npm run generate diff limited to access_grants/create.md + _blueprint.json

Follow-ups (not in this PR)

  • Design assets: proper 16:9 "Grant Access" card cover + a hero diagram for the Access Grants overview that isn't entrances-only (dropped access-grant-using-entrances.png from the page; card temporarily reuses access-grant-using-spaces.png)
  • PR 2 (seam-mcp): routing hint in server instructions
  • PR 3 (docs): relegate legacy granting recipes to a bottom "Low-Level APIs" nav section with deprecation-direction banners (messaging sign-off pending)
  • PR 4: API-reference nav grouping + seam-connect endpoint prose
  • After merge: confirm the auto-triggered MCP embeddings rebuild fires, then re-run Forrest's exact question against the MCP

⚠️ Reviewer note: this moves published URLs from /capability-guides/access-grants/* to /use-cases/granting-access/access-grants/* (redirects in place). Please double-check the GitBook preview build renders the new Use Cases section correctly before merging.

🤖 Generated with Claude Code

Access Grants are GA and are now the default, recommended way to grant
access to any physical space, irrespective of locking hardware. The docs
previously framed Access Grants as ACS-only (entrances/spaces), which
led developers and AI assistants (including the Seam MCP) to wrongly
steer standalone-smart-lock users to the legacy Access Codes API.

- Add new top-level "Use Cases" nav section with a "Granting Access"
  decision page (which API to use, with the recommended ladder:
  one device -> multiple devices/spaces -> ACS entrances)
- Move Access Grants guides under use-cases/granting-access/ with
  .gitbook.yaml redirects for all old URLs
- Rewrite Access Grants overview: universal framing, device_ids first
  in the "Where" table, devices-first teaching order
- Add "Creating an Access Grant Using Devices" guide (device_ids +
  code access method, capability checks)
- Rewrite Quick Start step 3 around access_grants.create with a code
  access method instead of lock/unlock
- Lead the access_grants/create API reference with a devices-only
  code sample (new sample in code-sample-definitions)
- Add "Grant Access" card first on the docs landing page
- Teach validate-links to accept URLs covered by .gitbook.yaml
  redirects (upstream @seamapi/types still links old URLs; resolved
  via redirects until the upstream descriptions are updated)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sybohy sybohy requested review from a team as code owners June 5, 2026 23:05
sybohy and others added 4 commits June 5, 2026 18:32
Per review: the use-cases/granting-access decision page and the
access-grants overview were repetitive. Merge them into a single
Granting Access page (framing + ladder + characteristics + process +
which-API table) and move the ten guide pages up one level to
use-cases/granting-access/. Redirect targets updated; the
access-grants/ URLs were never published, so no extra redirects are
needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per review: expand the opening JavaScript-only access_grants.create
snippet into the full tab set (JavaScript, cURL, Python, Ruby, PHP,
Seam CLI, C#), with syntax matching the generated API reference
samples.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Spaces are no longer in Alpha. Remove the three Alpha/early-access
notices from the Granting Access page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sybohy sybohy merged commit 65b927e into main Jun 6, 2026
12 of 14 checks passed
@sybohy sybohy deleted the feat/access-grants-front-door branch June 6, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants