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

> ## Agent Instructions
> To search or read these docs, connect the Ringg docs MCP server at https://docs.ringg.ai/mcp (no key needed; tools search_ringg_ai and query_docs_filesystem_ringg_ai) instead of browsing pages one by one. Setup for each client: https://docs.ringg.ai/resources/mcp-server/docs-mcp-server/mcp-for-ai-assistants.md
> The dashboard labels agents "Assistants"; these docs say "agent". Both mean the same object, identified by agent_id.
> API base URL: https://prod-api.ringg.ai/ca/api/v0. Send the workspace API key in the X-API-KEY header, from server-side code only.
> Placing a call dials a real phone number and spends credits. Confirm the number with the user before calling.
> To act on a Ringg workspace (place calls, edit agents, read transcripts), use the separate Ringg workspace MCP server at https://mcp.ringg.ai/mcp: https://docs.ringg.ai/resources/mcp-server/workspace-mcp-server/overview.md

> List everyone with access to your Ringg Space family, whether they inherit access from the primary or were added to one Ringg Space, with permissions.

# List Family Members

export const RelatedTopics = ({items}) => <div className="not-prose mt-12">
    <div className="text-sm font-medium text-gray-500 dark:text-zinc-400 mb-3">Related topics</div>
    <div className="flex flex-col gap-2.5">
      {items.map(([title, href]) => <a key={href} href={href} className="flex items-center gap-2.5 text-sm text-gray-700 hover:text-gray-950 dark:text-zinc-300 dark:hover:text-white">
          <Icon icon="file-text" size={16} color="currentColor" />
          {title}
        </a>)}
    </div>
  </div>;

Members of the primary (`scope: "primary"`) inherit access to every current and future Ringg Space; people added directly to a Ringg Space (`scope: "sub"`) see only the Ringg Spaces in their `sub_workspace_ids`. Use it for access audits across client or team workspaces, or to show who can reach a Ringg Space in your own admin tool.

## Notes

* `permissions_by_workspace` already includes inherited rows, so render access from it rather than deriving it from `scope`.
* The endpoint only reads. Add or remove people in the dashboard ([Workspace members](/documentation/manage-account/members)).

## Errors

* `400`: `Sub-workspaces cannot have their own sub-workspaces.` — the key belongs to a Ringg Space that has Ringg Spaces enabled.
* `401`: Invalid or missing API key.
* `403`: `Sub-workspaces are not enabled for this workspace.` — Ringg Spaces are not enabled on the primary, or the key belongs to a Ringg Space.

<RelatedTopics items={[["Ringg Spaces API overview", "/documentation/manage-account/ringg-spaces/ringg-spaces-by-api#manage-the-family-by-api"]]} />


## OpenAPI

````yaml get /workspace/sub/members
openapi: 3.0.0
info:
  title: Ringg AI API Documentation
  description: >-
    The Ringg AI REST API. Base URL https://prod-api.ringg.ai/ca/api/v0; send
    your workspace API key in the X-API-KEY header from server-side code only.
    Requests and responses are JSON.
  version: 2.0.0
  contact:
    name: Ringg AI support
    email: admin@ringg.ai
    url: https://docs.ringg.ai
servers:
  - url: https://prod-api.ringg.ai/ca/api/v0
security: []
tags:
  - name: workspace
    description: Endpoints for managing your workspace.
  - name: agent
    description: Endpoints for managing agents.
  - name: calling
    description: Endpoints for making and managing calls.
  - name: campaign
    description: Endpoints for managing campaigns.
  - name: analytics
    description: Endpoints for accessing call analytics and performance metrics.
  - name: termination
    description: Endpoints for terminating active calls using different methods.
  - name: knowledgebase
    description: Endpoints for managing knowledge bases.
paths:
  /workspace/sub/members:
    get:
      tags:
        - workspace
      summary: List Family Members
      description: >-
        Lists every person with access anywhere in the family and where that
        access comes from: members of the primary (who inherit access to every
        Ringg Space) and people added directly to one or more Ringg Spaces.
      operationId: listFamilyMembers
      parameters:
        - name: X-API-KEY
          in: header
          description: >-
            (Required) The API key of the PRIMARY workspace. A Ringg Space's own
            key is refused (403, or 400 if Ringg Spaces are enabled on it).
          required: true
          schema:
            type: string
            example: rg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      responses:
        '200':
          description: 'Successful Response: The family member matrix.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  primary_workspace_id:
                    type: string
                    example: 00000000-0000-4000-8000-000000000107
                  members:
                    type: array
                    items:
                      type: object
                      properties:
                        user_id:
                          type: string
                          example: 00000000-0000-4000-8000-000000000106
                        email:
                          type: string
                          example: ops.head@acme-lending.example
                        username:
                          type: string
                          example: Ops Head
                        role:
                          type: string
                          enum:
                            - owner
                            - member
                          example: owner
                        scope:
                          type: string
                          enum:
                            - primary
                            - sub
                          description: >-
                            primary = member of the primary, inherits access to
                            every Ringg Space; sub = added directly to Ringg
                            Spaces only.
                          example: primary
                        sub_workspace_ids:
                          type: array
                          description: >-
                            Ringg Spaces the person was added to directly
                            (inherited access is not listed).
                          items:
                            type: string
                          example: []
                        permissions_by_workspace:
                          type: object
                          description: >-
                            Effective permissions per workspace id, inherited
                            rows included.
                          additionalProperties:
                            type: array
                            items:
                              type: string
                          example:
                            00000000-0000-4000-8000-000000000107:
                              - agents
                              - numbers
                              - api_keys
                            00000000-0000-4000-8000-000000000101:
                              - agents
                              - numbers
                              - api_keys
                        invite_status:
                          type: string
                          nullable: true
                          enum:
                            - success
                            - pending
                          example: success
              example:
                primary_workspace_id: 00000000-0000-4000-8000-000000000107
                members:
                  - user_id: 00000000-0000-4000-8000-000000000106
                    email: ops.head@acme-lending.example
                    username: Ops Head
                    role: owner
                    scope: primary
                    sub_workspace_ids: []
                    permissions_by_workspace:
                      00000000-0000-4000-8000-000000000107:
                        - agents
                        - numbers
                        - api_keys
                      00000000-0000-4000-8000-000000000101:
                        - agents
                        - numbers
                        - api_keys
                    invite_status: success
                  - user_id: 00000000-0000-4000-8000-00000000010c
                    email: mumbai.lead@acme-lending.example
                    username: mumbai.lead
                    role: member
                    scope: sub
                    sub_workspace_ids:
                      - 00000000-0000-4000-8000-000000000101
                    permissions_by_workspace:
                      00000000-0000-4000-8000-000000000101:
                        - agents
                    invite_status: pending
        '400':
          description: >-
            Bad Request - The API key belongs to a Ringg Space that has Ringg
            Spaces enabled.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sub-workspaces cannot have their own sub-workspaces.
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Invalid credentials
        '403':
          description: >-
            Forbidden - Ringg Spaces are not enabled for this workspace (also
            what a Ringg Space's own key gets), or the caller is not an active
            member of the primary.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Sub-workspaces are not enabled for this workspace.
        '500':
          description: Internal Server Error - Something went wrong on our end.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: An unexpected error occurred. Please try again later.

````

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