> ## Documentation Index
> Fetch the complete documentation index at: https://docs.member.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# List Permission Catalogue

> Every permission a role can hold, with how far each one is rolled out.

Static product data for a role editor: label, description, group, whether the
permission is grantable to a custom role, whether it already works today (`live`),
and how much of its REST and MCP surface is bound. Ordered by group, then key.
Any signed-in user session can read it; API keys and contact tokens cannot.



## OpenAPI

````yaml /openapi/mio-openapi.json get /api/v1/permission-catalogue
openapi: 3.1.0
info:
  description: >-
    Production API reference for Membership.io. Use the authored guides for
    workflows and the generated endpoint pages for exact parameters and schemas.
  title: Membership.io API
  version: 0.1.0
servers:
  - description: Production
    url: https://api.member.dev
security:
  - bearerAuth: []
paths:
  /api/v1/permission-catalogue:
    get:
      tags:
        - permission-catalogue
      summary: List Permission Catalogue
      description: >-
        Every permission a role can hold, with how far each one is rolled out.


        Static product data for a role editor: label, description, group,
        whether the

        permission is grantable to a custom role, whether it already works today
        (`live`),

        and how much of its REST and MCP surface is bound. Ordered by group,
        then key.

        Any signed-in user session can read it; API keys and contact tokens
        cannot.
      operationId: permission_catalogue.get_permission_catalogue_get_permission_catalogue
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: >-
                  #/components/schemas/JsonApiListResponse_PermissionCatalogueAttributes_
          description: Successful Response
      security:
        - HTTPBearer: []
components:
  schemas:
    JsonApiListResponse_PermissionCatalogueAttributes_:
      properties:
        data:
          items:
            $ref: >-
              #/components/schemas/JsonApiResource_PermissionCatalogueAttributes_
          title: Data
          type: array
        included:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Included
        links:
          anyOf:
            - $ref: '#/components/schemas/JsonApiPaginationLinks'
            - type: 'null'
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      required:
        - data
      title: JsonApiListResponse[PermissionCatalogueAttributes]
      type: object
    JsonApiResource_PermissionCatalogueAttributes_:
      properties:
        attributes:
          $ref: '#/components/schemas/PermissionCatalogueAttributes'
        id:
          title: Id
          type: string
        links:
          anyOf:
            - $ref: '#/components/schemas/JsonApiLinks'
            - type: 'null'
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
        relationships:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Relationships
        type:
          title: Type
          type: string
      required:
        - id
        - type
        - attributes
      title: JsonApiResource[PermissionCatalogueAttributes]
      type: object
    JsonApiPaginationLinks:
      properties:
        next:
          anyOf:
            - type: string
            - type: 'null'
          title: Next
        self:
          anyOf:
            - type: string
            - type: 'null'
          title: Self
      title: JsonApiPaginationLinks
      type: object
    PermissionCatalogueAttributes:
      additionalProperties: false
      properties:
        description:
          description: What holding this permission lets someone do.
          title: Description
          type: string
        disposition:
          description: >-
            Whether it can go on a custom role: grantable, baseline (every
            member has it), deferred (not yet) or never.
          title: Disposition
          type: string
        group:
          description: >-
            The section this permission sits in: team, hubs, content, media,
            community, crm, messaging, money or reporting.
          title: Group
          type: string
        in_admin_bundle:
          description: True when the built-in Admin role holds it.
          title: In Admin Bundle
          type: boolean
        in_member_bundle:
          description: True when every team member holds it.
          title: In Member Bundle
          type: boolean
        label:
          description: The name shown for this permission in a role editor.
          title: Label
          type: string
        live:
          description: >-
            True when the permission already works today, whatever its rollout
            flags.
          title: Live
          type: boolean
        mcp_active:
          description: True when MCP tools honour it for custom roles.
          title: Mcp Active
          type: boolean
        mcp_coverage:
          description: >-
            How much of this permission's MCP surface is bound: none, partial or
            full.
          title: Mcp Coverage
          type: string
        mcp_operation_count:
          description: How many MCP tools this permission governs.
          title: Mcp Operation Count
          type: integer
        mcp_registered:
          description: How many of those MCP tools are bound.
          title: Mcp Registered
          type: integer
        reason:
          anyOf:
            - type: string
            - type: 'null'
          description: Why a deferred or never permission is withheld; null otherwise.
          title: Reason
        rest_active:
          description: True when REST requests honour it for custom roles.
          title: Rest Active
          type: boolean
        rest_coverage:
          description: >-
            How much of this permission's REST surface is bound: none, partial
            or full.
          title: Rest Coverage
          type: string
        rest_operation_count:
          description: How many REST operations this permission governs.
          title: Rest Operation Count
          type: integer
        rest_registered:
          description: How many of those REST operations are bound.
          title: Rest Registered
          type: integer
      required:
        - label
        - description
        - group
        - disposition
        - reason
        - live
        - rest_active
        - mcp_active
        - rest_coverage
        - mcp_coverage
        - rest_operation_count
        - mcp_operation_count
        - rest_registered
        - mcp_registered
        - in_admin_bundle
        - in_member_bundle
      title: PermissionCatalogueAttributes
      type: object
    JsonApiLinks:
      properties:
        self:
          anyOf:
            - type: string
            - type: 'null'
          title: Self
      title: JsonApiLinks
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT or mio_sk API key
      description: >-
        Send platform JWTs, contact JWTs, or team API keys as `Authorization:
        Bearer <token>`.
      scheme: bearer
      type: http
    HTTPBearer:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.