feat: make Access Grants the front door for granting access#1114
Merged
Conversation
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>
This was referenced Jun 5, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
acs_entrance_ids/space_ids—device_idsappeared zero times in the entire Access Grants guide directoryspace_idsexampleThis 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.
device_ids+code, capability checks, 7-language tabs)device_idsfirst in the "Where" table, simple-device path as the default narrative, ACS setup as the advanced tieraccess_grants/createnow leads with a devices-only example (new code sample definition; regenerated).gitbook.yamlredirects for all 10 moved pages (validate-redirects ✅)validate-linksnow accepts URLs covered by redirects (upstream@seamapi/typesdescriptions 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 generatediff limited toaccess_grants/create.md+_blueprint.jsonFollow-ups (not in this PR)
access-grant-using-entrances.pngfrom the page; card temporarily reusesaccess-grant-using-spaces.png)/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