Skip to content

feat(api-reference): render filter grants and access entries of x-epilot-permissions - #158

Merged
anttiviljami merged 2 commits into
mainfrom
feat/api-reference-permissions-filter-access
Sep 25, 2026
Merged

anttiviljami merged 2 commits into
mainfrom
feat/api-reference-permissions-filter-access

Conversation

@anttiviljami

Copy link
Copy Markdown
Member

Summary

Follow-up to #157. Renders two additions to x-epilot-permissions in the API reference:

  • filter: true grants (list/search operations that filter results instead of denying), matching epilot-ci !198 (merged):
    operationId: searchRoles
    x-epilot-permissions:
      - action: role:view
        filter: true
    → Required permissions: not documented · results filtered by role:view
  • access entries for intentional non-grant access, matching epilot-ci !200: org, self, owner, internal, portal, also usable inside anyOf:
    x-epilot-permissions:
      - anyOf:
          - access: self
          - action: user:edit
    → Required permissions: own user or user:edit

A bare [] now renders as not documented. It used to render as "any authenticated caller". Under the new convention [] means no check is documented.

grant-actions.md explains access and filter.

Test plan

  • npm run build passes
  • eslint + tsc clean on changed files
  • Rendering checked for access (alone, in anyOf, combined with filter), filter-only, empty list, invalid access (ignored), and the existing grant/anyOf cases

🤖 Generated with Claude Code

https://claude.ai/code/session_01C2A97XBNr735zXYDgBMs45


Generated by Claude Code

{ access: org|self|owner|internal|portal } renders as e.g. 'any user in
the organization' or 'own user or `user:edit`'. An empty list now reads
'not documented'.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01C2A97XBNr735zXYDgBMs45
@anttiviljami
anttiviljami merged commit bd1c007 into main Sep 25, 2026
1 check passed
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