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

# Get all group memberships for the app

> Get all group memberships for the app

## OpenAPI

````json GET /sys/v1/apps/{app_id}/groups
{
  "openapi": "3.0.0",
  "info": {
    "title": "Fortanix DSM REST API",
    "description": "This is a set of REST APIs for accessing the Fortanix Data Security Manager. This includes APIs for managing accounts, and for performing cryptographic and key management operations. \n\n **Note:** \n- All binary input should be base64-encoded. These fields are marked with `format: byte`. \n- For forward compatibility, any API client is expected to ignore any fields in the response not explicitly mentioned in the documentation. We reserve the right to add new fields at any time to provide new functionality without affecting existing API clients.",
    "termsOfService": "https://www.fortanix.com/legal/terms/",
    "contact": {
      "name": "Fortanix Support",
      "url": "https://support.fortanix.com/",
      "email": "support@fortanix.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "0.1.0-20260526"
  },
  "servers": [
    {
      "url": "https://amer.smartkey.io"
    }
  ],
  "paths": {
    "/sys/v1/apps/{app_id}/groups": {
      "get": {
        "operationId": "GetAllGroupMemberships",
        "tags": [
          "Apps"
        ],
        "security": [
          {
            "bearerToken": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "summary": "Get all group memberships for the app",
        "description": "Get all group memberships for the app",
        "parameters": [
          {
            "name": "app_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "$ref": "#/components/parameters/GetGroupsParams"
          }
        ],
        "responses": {
          "2XX": {
            "description": "Success result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAppGroupMemberships"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "GetGroupsParams": {
        "in": "query",
        "name": "GetGroupsParams",
        "schema": {
          "$ref": "#/components/schemas/GetGroupsParams"
        },
        "explode": true
      }
    },
    "schemas": {
      "GetAppGroupMemberships": {
        "allOf": [
          {
            "type": "object",
            "description": "The response for the GetAllGroupMembership endpoint",
            "properties": {
              "metadata": {
                "$ref": "#/components/schemas/GroupMetaData"
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AppGroupMembership"
                },
                "description": "The collection of group memberships the entity is a member in"
              }
            },
            "required": [
              "metadata",
              "items"
            ]
          }
        ]
      },
      "GetGroupsParams": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer"
              },
              "filter": {
                "type": "string",
                "description": "If specified, only groups matching this `filter` are returned.\n\nThe following fields can be referenced in the filter:\n- `name`\n- `created_at`\n- `description`\n- `wrapping_key_name`"
              },
              "offset": {
                "type": "integer",
                "description": "Number of groups to skip"
              },
              "continuation_token": {
                "type": "string",
                "description": "Continuation token to continue getting results. It must be the same\ntoken returned from the backend from a previous call, or empty.\n\nExistence of this query parameter controls the response (and the backend behavior):\n- If specified (including an empty value), the backend returns metadata alongside\nthe collection of groups. The metadata will potentially contain a fresh `continuation_token`.\n\nNote: If there is a `limit` specified in the request and DSM returns `limit`-many items in the\nresponse, it will still include a fresh continuation token if there are more items in the collection.\nAdditionally, unlike other query parameters, `limit` is not required to remain unchanged in a chain of\nrequests with `coninutation_token`s.\n- If omitted, the backend returns just a collection of groups with no metadata."
              }
            }
          },
          {
            "$ref": "#/components/schemas/GroupSort"
          }
        ]
      },
      "GroupMetaData": {
        "allOf": [
          {
            "type": "object",
            "description": "Additional information or context regarding the groups the entity\nholds membership in",
            "properties": {
              "all_groups": {
                "type": "boolean",
                "description": "Whether the entity has been assigned an exclusive \"all groups role\""
              }
            },
            "required": [
              "all_groups"
            ]
          }
        ]
      },
      "AppGroupMembership": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "group_id": {
                "type": "string",
                "format": "uuid"
              },
              "roles": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                  "$ref": "#/components/schemas/AppGroupRoleDescriptor"
                }
              }
            },
            "required": [
              "group_id",
              "roles"
            ]
          }
        ]
      },
      "GroupSort": {
        "oneOf": [
          {
            "title": "GroupSortVariantByGroupId",
            "type": "object",
            "properties": {
              "sort_by": {
                "type": "string",
                "pattern": "^group_id:(?:asc|desc)$",
                "example": "group_id:asc"
              },
              "previous_id": {
                "type": "string",
                "format": "uuid"
              }
            },
            "required": [
              "previous_id"
            ]
          },
          {
            "title": "GroupSortVariantByGroupName",
            "type": "object",
            "properties": {
              "sort_by": {
                "type": "string",
                "pattern": "^group_name:(?:asc|desc)$",
                "example": "group_name:asc"
              },
              "previous_sort_value": {
                "type": "string",
                "maxLength": 4096,
                "pattern": "^[^\\n]*[^\\s\\n][^\\n]*$"
              }
            },
            "required": [
              "previous_sort_value"
            ]
          }
        ]
      },
      "AppGroupRoleDescriptor": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AppGroupRoleDescriptorVariantSystemDefined"
          },
          {
            "$ref": "#/components/schemas/AppGroupRoleDescriptorVariantCustom"
          }
        ],
        "discriminator": {
          "propertyName": "$type",
          "mapping": {
            "SystemDefined": "AppGroupRoleDescriptorVariantSystemDefined",
            "Custom": "AppGroupRoleDescriptorVariantCustom"
          }
        }
      },
      "AppGroupRoleDescriptorVariantSystemDefined": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "$type": {
                "type": "string",
                "enum": [
                  "SystemDefined"
                ]
              },
              "value": {
                "$ref": "#/components/schemas/AppGroupRole"
              }
            },
            "required": [
              "$type",
              "value"
            ]
          }
        ]
      },
      "AppGroupRoleDescriptorVariantCustom": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "$type": {
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              "value": {
                "type": "string",
                "format": "uuid"
              }
            },
            "required": [
              "$type",
              "value"
            ]
          }
        ]
      },
      "AppGroupRole": {
        "type": "string",
        "enum": [
          "GroupAuditor",
          "GroupAdministrator"
        ]
      }
    }
  }
}
````

