Palo Alto Networks Cloud Dynamic User Groups API

The Cloud Dynamic User Groups API from Palo Alto Networks — 4 operation(s) for cloud dynamic user groups.

OpenAPI Specification

palo-alto-networks-cloud-dynamic-user-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CIE - Cloud Dynamic User Group CRUD Operations APIs Mounted on Strata Cloud Manager Cloud Dynamic User Groups API
  version: 1.0.0
  description: 'Cloud Dynamic User Groups (CDUG) API for managing dynamic user groups in the Directory Sync Service.


    This API provides endpoints for creating, updating, retrieving, and deleting Cloud Dynamic User Groups,

    as well as fetching categories and user attribute values.


    **All endpoints require SCM JWT access token** and operate within the context of a tenant (TSG). This Open API spec file was created on April 15, 2026. © 2026 Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo Alto Networks. A list of our trademarks can be found at [https://www.paloaltonetworks.com/company/trademarks.html](https://www.paloaltonetworks.com/company/trademarks.html). All other marks mentioned herein may be trademarks of their respective companies.'
tags:
- name: Cloud Dynamic User Groups
paths:
  /directory-sync/v1/cloud-dug-definition/category:
    get:
      summary: Retrieve Dynamic Group Categories
      description: 'Fetches all available categories in a domain along with their context attributes.

        This is the **first Application Programming Interface** customers should call to understand what categories are available

        and what context attributes can be used to create dynamic user groups.


        The returned context attributes can then be used with the `/user-attr-values` endpoint

        to get valid values for each attribute.'
      operationId: GetDirectory-syncV1Cloud-dug-definitionCategory
      responses:
        '200':
          description: Successfully retrieved categories with their context attributes
          content:
            application/json:
              schema:
                type: object
                properties:
                  values:
                    type: array
                    items:
                      $ref: '#/components/schemas/CategoryWithAttributes'
              example:
                values:
                - category: Attribute Based
                  context attributes:
                  - UserAccountControl
                  - Department
                  - Location
                  - Country
                  - Title
                  - onPremisesSecurityIdentifier
                  - Manager
                  - Given Name
                  - Sur Name
                  - CompanyName
                  - EmployeeId
                  - FaxNumber
                  - IsResourceAccount
                  - MobilePhone
                  - OnPremisesSamAccountName
                  - OnPremisesDistinguishedName
                  - OnPremisesExtensionAttributes
                  - OnPremisesImmutableId
                  - OnPremisesProvisioningErrors
                  - OnPremisesSyncEnabled
                  - onPremisesUserPrincipalName
                  - OnPremisesDomainName
                  - PasswordProfile
                  - PostalCode
                  - PreferredLanguage
                  - State
                  - StreetAddress
                  - UsageLocation
                  - UserType
                  description: Grouping based on the common user attributes
                - category: On Demand Assignment
                  context attributes: []
                  description: Group members assigned manually
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '404':
          description: No categories found
          content:
            application/json:
              schema:
                type: object
              example: {}
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters:
      - name: domain
        in: query
        description: Domain name (similar to the Directory Name on the CIE UI e.g., uppercasedss.onmicrosoft.com, okta-directory)
        required: true
        schema:
          type: string
        example: uppercasedss.onmicrosoft.com
      tags:
      - Cloud Dynamic User Groups
  /directory-sync/v1/user-attr-values:
    get:
      summary: Retrieve User Attribute Values
      description: 'Fetches all unique values for a specific user attribute in a domain.


        **This is the second Application Programming Interface** customers should call after getting categories. Use the

        context attributes returned from `/cloud-dug-definition/category` to query this endpoint

        and get the valid values for each attribute. These values can then be used when creating

        dynamic user groups.'
      operationId: GetDirectory-syncV1User-attr-values
      responses:
        '200':
          description: Successfully retrieved attribute values
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates if the request was successful
                  result:
                    type: object
                    properties:
                      values:
                        type: array
                        items:
                          type: string
                        description: Array of unique values for the specified attribute
              examples:
                userAccountControlValues:
                  summary: UserAccountControl attribute values
                  value:
                    success: true
                    result:
                      values:
                      - '512'
                departmentValues:
                  summary: Department attribute values
                  value:
                    success: true
                    result:
                      values:
                      - Engineering
                      - Sales
                      - Marketing
                      - HR
                      - Finance
                locationValues:
                  summary: Location attribute values
                  value:
                    success: true
                    result:
                      values:
                      - New York
                      - San Francisco
                      - London
                      - Tokyo
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters:
      - name: domain
        in: query
        description: Domain name (same as used in category endpoint)
        required: true
        schema:
          type: string
        example: okta-directory
      - name: attrName
        in: query
        description: Attribute name to get values for (must be one of the context attributes returned from category endpoint)
        required: true
        schema:
          type: string
        example: UserAccountControl
      - name: riskSourceId
        in: query
        description: Risk source ID for filtering
        required: false
        schema:
          type: string
        example: rs-123
      tags:
      - Cloud Dynamic User Groups
  /directory-sync/v1/cloud-dug-definition:
    post:
      summary: Create Cloud Dynamic User Groups
      description: "Creates new dynamic user groups in a domain based on user attribute constraints.\n\n**This is the third Application Programming Interface** in the workflow after getting categories and attribute values.\n\n## Workflow Context\n1. First, call GET `/cloud-dug-definition/category?domain=<domain>` to get available categories and context attributes\n2. Then, call GET `/user-attr-values?domain=<domain>&attrName=<attribute>` for each context attribute to get valid values\n3. Finally, use this POST endpoint to create groups using the category name and attribute values from steps 1 and 2\n\n## Request Body Details\n- **domain**: The domain name (same as used in previous Application Programming Interface calls)\n- **useNormalizedAttrs**: Must be set to `\"true\"` for external Application Programming Interface calls (SCM integration)\n- **value.category**: Category name obtained from the GET category endpoint (e.g., \"Attribute Based\", \"On Demand Assignment\")\n- **value.groups**: Array of groups to create\n  - **Name**: The base name for the group (system will append \"_cdug\" suffix automatically)\n  - **description**: Optional description for the group\n  - **user_attribute_constrain**: Defines the criteria for dynamic group membership\n    - Use `$and` operator when ALL conditions must be met\n    - Use `$or` operator when ANY condition must be met\n    - Attribute names must be from the context attributes list\n    - Attribute values must be from the values returned by `/user-attr-values` endpoint\n\n**Note:** The system automatically appends \"_cdug\" suffix to the group."
      operationId: PostDirectory-syncV1Cloud-dug-definition
      responses:
        '200':
          description: Successfully created dynamic group(s)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupCreateResponse'
              example:
                success: true
                result:
                  category: Attribute Based
                  groups:
                  - Common-Name: test_123_cdug
                    Distinguished Name: CN=test_123_cdug,CN=Attribute Based,CN=CDUG,DC=okta-directory
                    Name: test_123_cdug
                    Object Class:
                    - group
                    WhenChanged: 20260323224204.0Z
                    cdug_status: created
                    created: 20260323224204.0Z
                    createdDateTime: 20260323224204.0Z
                    description: ''
                    ext_gtype: 20
                    ext_lastmod: 1774305724.180538
                    ext_type: 3
                    groupTypes: CloudDUG
                    name: test_123_cdug
                    objectGUID: 83a1cf1a-2709-11f1-b6ac-22edd0e18ff6
                    user_attribute_constrain:
                      $and:
                      - UserAccountControl: '512'
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters: []
      tags:
      - Cloud Dynamic User Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupCreateRequest'
            examples:
              createSingleGroup:
                summary: Create a single dynamic group with UserAccountControl constraint
                value:
                  domain: okta-directory
                  useNormalizedAttrs: 'true'
                  value:
                    category: Attribute Based
                    groups:
                    - Name: test_123
                      description: ''
                      user_attribute_constrain:
                        $and:
                        - UserAccountControl: '512'
              createMultipleConstraints:
                summary: Create group with multiple AND constraints
                value:
                  domain: uppercasedss.onmicrosoft.com
                  useNormalizedAttrs: 'true'
                  value:
                    category: Attribute Based
                    groups:
                    - Name: engineering_active_users
                      description: Active users in Engineering department
                      user_attribute_constrain:
                        $and:
                        - UserAccountControl: '512'
                        - Department: Engineering
              createWithOrConstraints:
                summary: Create group with OR constraints
                value:
                  domain: okta-directory
                  useNormalizedAttrs: 'true'
                  value:
                    category: Attribute Based
                    groups:
                    - Name: sales_or_marketing
                      description: Users in Sales or Marketing
                      user_attribute_constrain:
                        $or:
                        - Department: Sales
                        - Department: Marketing
  /directory-sync/v1/cloud-dug-definition/group:
    get:
      summary: Retrieve Cloud Dynamic User Groups
      description: 'Fetches dynamic user groups by domain or aggregationId with support for filtering and pagination.


        **Note:** Set `useNormalizedAttrs` to `"true"` for external Application Programming Interface calls (SCM integration).


        ## Usage Patterns


        ### 1. List all groups in a domain (with pagination)

        ```

        GET /cloud-dug-definition/group?domain=okta-directory&useNormalizedAttrs=true&pageNum=1&pageSz=10

        ```

        This returns all CDUG groups with pagination. From this response, you can extract:

        - `defID` - Category identifier for filtering groups by category

        - `objectGUID` - Unique group identifier for fetching/updating/deleting a specific group


        ### 2. Get a specific group by objectGUID

        After creating a group via POST, you receive an `objectGUID` in the response. Use it to fetch that specific group:

        ```

        GET /cloud-dug-definition/group?domain=okta-directory&objectGUID=83a1cf1a-2709-11f1-b6ac-22edd0e18ff6&useNormalizedAttrs=true

        ```


        ### 3. Get all groups in a specific category

        First, call GET groups to see all groups and their `defID` values. Then filter by category:

        ```

        GET /cloud-dug-definition/group?domain=okta-directory&defID=116c2d28-0cfb-11f1-a8d8-d2bbfe9d4496&useNormalizedAttrs=true

        ```

        This returns only groups belonging to that category (e.g., "Attribute Based").'
      operationId: GetDirectory-syncV1Cloud-dug-definitionGroup
      responses:
        '200':
          description: Successfully retrieved dynamic groups with pagination information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupListResponse'
              example:
                count: 10
                pageNum: 1
                pageSz: 10
                remains: 2
                value:
                - Common-Name: test_cdug
                  Distinguished Name: CN=test_cdug,CN=Attribute Based,CN=CDUG,DC=panwssfdev-preview,DC=oktapreview,DC=com
                  Name: test_cdug
                  Object Class:
                  - group
                  WhenChanged: 20260318211709.0Z
                  _id: 69bb1655a0708397b1188640
                  category: Attribute Based
                  cdug_status: deployed
                  created: 20260318211709.0Z
                  createdDateTime: 20260318211709.0Z
                  defID: 116c2d28-0cfb-11f1-a8d8-d2bbfe9d4496
                  description: ''
                  ext_gtype: 20
                  ext_lastmod: 1773868629.963407
                  ext_type: 3
                  groupTypes: CloudDUG
                  name: test_cdug
                  objectGUID: d32d355e-230f-11f1-841b-5a9eb7df464d
                  user_attribute_constrain:
                    $and:
                    - UserAccountControl: '512'
                - Common-Name: test2_cdug
                  Distinguished Name: CN=test2_cdug,CN=Attribute Based,CN=CDUG,DC=okta-directory
                  Name: test2_cdug
                  Object Class:
                  - group
                  WhenChanged: 20260318211754.0Z
                  _id: 69bb1682d5598d891455090f
                  category: Attribute Based
                  cdug_status: deployed
                  created: 20260318211754.0Z
                  createdDateTime: 20260318211754.0Z
                  defID: 116c2d28-0cfb-11f1-a8d8-d2bbfe9d4496
                  description: ''
                  ext_gtype: 20
                  ext_lastmod: 1773868674.6279
                  ext_type: 3
                  groupTypes: CloudDUG
                  name: test2_cdug
                  objectGUID: edcc7924-230f-11f1-a969-0ae740b4098b
                  user_attribute_constrain:
                    $and:
                    - Department:
                        $options: i
                        $regex: ^a
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '404':
          description: No groups found
          content:
            application/json:
              schema:
                type: object
              example: {}
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters:
      - name: domain
        in: query
        description: Domain name (required if aggregationId not provided)
        required: false
        schema:
          type: string
        example: okta-directory
      - name: aggregationId
        in: query
        description: Aggregation ID to fetch groups across risk sources (required if domain not provided)
        required: false
        schema:
          type: string
        example: agg-123
      - name: objectGUID
        in: query
        description: 'Group unique identifier to fetch a specific group.

          You receive this in the response when creating a group via POST /cloud-dug-definition.

          Use this to retrieve, update, or delete a specific group.

          '
        required: false
        schema:
          type: string
        example: 83a1cf1a-2709-11f1-b6ac-22edd0e18ff6
      - name: defID
        in: query
        description: 'Category identifier to fetch all groups in a specific category.

          To get the defID, first call this GET endpoint without filters to see all groups and their defID values.

          Then use the defID to filter groups by category (e.g., all "Attribute Based" groups).

          '
        required: false
        schema:
          type: string
        example: 116c2d28-0cfb-11f1-a8d8-d2bbfe9d4496
      - name: useNormalizedAttrs
        in: query
        description: Must be set to "true" for external API calls (SCM integration)
        required: true
        schema:
          type: string
          enum:
          - 'true'
        example: 'true'
      - name: pageNum
        in: query
        description: Page number (starts at 1). Use with pageSz for pagination.
        required: false
        schema:
          type: integer
          minimum: 1
        example: 1
      - name: pageSz
        in: query
        description: Number of items per page (max 1000)
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 1000
        example: 10
      tags:
      - Cloud Dynamic User Groups
    put:
      summary: Update Cloud Dynamic User Groups
      description: "Updates an existing Cloud Dynamic User Group. Use this endpoint to modify group attributes\nand constraints for an already created group.\n\n**This is used to edit an existing/created group.**\n\n## How it Works\n- The `objectGUID` in the request body identifies which group to update\n- The `objectGUID` is obtained from:\n  - POST `/cloud-dug-definition` response when creating a group\n  - GET `/cloud-dug-definition/group` response when listing groups\n- Only the fields you want to update need to be included in the request\n- Primary use case: updating `user_attribute_constrain` to modify group membership criteria\n\n## Important Behavior\n**The Application Programming Interface returns HTTP 200 even when the objectGUID is not found.**\nWhen the provided objectGUID doesn't exist, the response will be:\n```json\n{\n  \"success\": true,\n  \"result\": {\n    \"sync\": \"Not found cloud dug def group guid <objectGUID>\",\n    \"value\": \"\"\n  }\n}\n```\nAlways check the `result.sync` field for error messages when processing the response.\n\n**Note:** Set `useNormalizedAttrs` to `\"true\"` for external Application Programming Interface calls (SCM integration). Also, we do not allow the update of name related attributes (Name, Common-Name, Distinguished Name). This is also to match behavior of UI."
      operationId: PutDirectory-syncV1Cloud-dug-definitionGroup
      responses:
        '200':
          description: 'Response from update operation.


            **Note:** The API returns HTTP 200 even when the objectGUID is not found.

            Check the `result.sync` field for error messages like "Not found cloud dug def group guid".

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupUpdateResponse'
              examples:
                successfulUpdate:
                  summary: Successfully updated group
                  value:
                    success: true
                    result:
                      objectGUID: 72bbc29c-2703-11f1-b839-22edd0e18ff6
                      Mail: ''
                      WhenChanged: 20260325044739.0Z
                      cdug_status: updated
                      description: ''
                      ext_lastmod: 1774414059.086046
                      user_attribute_constrain:
                        $and:
                        - State: CA
                groupNotFound:
                  summary: ObjectGUID not found (still returns 200)
                  value:
                    success: true
                    result:
                      sync: Not found cloud dug def group guid 72bbc29c-2703-11f1-b839-22edd0e18ff61
                      value: ''
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters: []
      tags:
      - Cloud Dynamic User Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupUpdateRequest'
            examples:
              updateConstraints:
                summary: Update group attribute constraints
                value:
                  domain: okta-directory
                  useNormalizedAttrs: 'true'
                  value:
                    objectGUID: 72bbc29c-2703-11f1-b839-22edd0e18ff6
                    description: ''
                    user_attribute_constrain:
                      $and:
                      - State: CA
              updateWithMail:
                summary: Update group with additional fields
                value:
                  domain: okta-directory
                  useNormalizedAttrs: 'true'
                  value:
                    objectGUID: 72bbc29c-2703-11f1-b839-22edd0e18ff6
                    Name: updated_group_name
                    Mail: ''
                    description: Updated description for the group
                    user_attribute_constrain:
                      $and:
                      - UserAccountControl: '512'
                      - Department: Engineering
              updateMultipleConstraints:
                summary: Update with multiple OR constraints
                value:
                  domain: uppercasedss.onmicrosoft.com
                  useNormalizedAttrs: 'true'
                  value:
                    objectGUID: d32d355e-230f-11f1-841b-5a9eb7df464d
                    description: Sales or Marketing users
                    user_attribute_constrain:
                      $or:
                      - Department: Sales
                      - Department: Marketing
    delete:
      summary: Delete Cloud Dynamic User Groups
      description: 'Deletes a specific Cloud Dynamic User Group by objectGUID or all groups in a category by defID.


        ## How it Works

        - Use `objectGUID` to delete a specific group (obtained from POST create or GET list responses)

        - Use `defID` to delete all groups in a category (obtained from GET list response)

        - Provide either `objectGUID` or `defID`, but not both


        ## Important Behavior

        **The Application Programming Interface returns HTTP 200 even when deletion fails or is delayed.**


        ### Possible scenarios:

        1. **Sync in progress**: If a data sync is currently running for the tenant, the deletion request is saved but not immediately executed. You''ll need to retry later or wait for the next sync.

        2. **Successful deletion**: The group is deleted immediately and sync is scheduled.


        Always check the `result.sync` and `result.detail` fields to determine the actual outcome:

        - `"sync": "success"` - Deletion completed

        - `"sync": "Cloud Dynamic Group definition saved..."` + `"detail": "Data sync in-progress..."` - Deletion pending, retry later.'
      operationId: DeleteDirectory-syncV1Cloud-dug-definitionGroup
      responses:
        '200':
          description: 'Delete request processed (does not guarantee immediate deletion).


            **Important:** HTTP 200 does not mean the group was deleted. Check the response body:

            - If `result.sync` = "success", deletion completed

            - If `result.detail` contains "Data sync in-progress", deletion is pending and group was NOT deleted yet

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupDeleteResponse'
              examples:
                successfulDeletion:
                  summary: Group successfully deleted
                  value:
                    success: true
                    result:
                      sync: success
                      value: null
                syncInProgress:
                  summary: Sync in progress - deletion pending (group NOT deleted yet)
                  value:
                    success: true
                    result:
                      detail: Data sync in-progress for customer 4231344437556610560, Please reschedule later
                      sync: Cloud Dynamic Group definition saved. Unable to schedule sync. Try to sync changes manually or wait for the next automated sync
                      value: null
        '400':
          $ref: '#/components/responses/400_bad_request'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '500':
          $ref: '#/components/responses/500_internal_error'
      parameters:
      - name: domain
        in: query
        description: Domain name (same as used when creating the group)
        required: true
        schema:
          type: string
        example: okta-directory
      - name: objectGUID
        in: query
        description: 'Unique group identifier to delete a specific group.

          Obtained from POST /cloud-dug-definition response or GET /cloud-dug-definition/group response.

          Provide either objectGUID or defID, but not both.

          '
        required: false
        schema:
          type: string
        example: 72bbc29c-2703-11f1-b839-22edd0e18ff6
      - name: defID
        in: query
        description: 'Category identifier to delete all groups in a specific category.

          Obtained from GET /cloud-dug-definition/group response.

          Provide either objectGUID or defID, but not both.

          '
        required: false
        schema:
          type: string
        example: 116c2d28-0cfb-11f1-a8d8-d2bbfe9d4496
      tags:
      - Cloud Dynamic User Groups
components:
  schemas:
    CategoryWithAttributes:
      type: object
      description: Category definition with available context attributes
      properties:
        category:
          type: string
          description: Category name
          example: Attribute Based
        context attributes:
          type: array
          description: List of user attributes that can be used to create groups in this category
          items:
            type: string
          example:
          - UserAccountControl
          - Department
          - Location
          - Country
          - Title
        description:
          type: string
          description: Description of what this category is used for
          example: Grouping based on the common user attributes
    GroupCreateRequest:
      type: object
      required:
      - domain
      - value
      - useNormalizedAttrs
      properties:
        domain:
          type: string
          description: Domain name (e.g., okta-directory, uppercasedss.onmicrosoft.com)
          example: okta-directory
        useNormalizedAttrs:
          type: string
          enum:
          - 'true'
          description: Must be set to "true" for external API calls (SCM integration)
          example: 'true'
        value:
          type: object
          required:
          - category
          - groups
          properties:
            category:
              type: string
              description: Category name obtained from GET /cloud-dug-definition/category endpoint
              example: Attribute Based
            groups:
              type: array
              description: Array of groups to create (can create multiple groups in a single request)
              items:
                type: object
                required:
                - Name
                - user_attribute_constrain
                properties:
                  Name:
                    type: string
                    description: Base name for the group (system automatically appends "_cdug" suffix)
                    example: test_123
                  description:
                    type: string
                    description: Optional description for the group
                    example: Active users with standard account control
                  user_attribute_constrain:
                    type: object
                    description: 'Defines the criteria for dynamic group membership.

                      Use $and when ALL conditions must match, or $or when ANY condition must match.

                      Attribute names must be from the context attributes list from GET /category endpoint.

                      Attribute values must match values from GET /user-attr-values endpoint.

                      '
                    properties:
                      $and:
                        type: array
                        description: All conditions must be true for a user to be included in the group
                        items:
                          type: object
                          additionalProperties:
                            type: string
                      $or:
                        type: array
                        description: Any condition must be true for a user to be included in the group
                        items:
                          type: object
                          additionalProperties:
                            type: string
                    example:
                      $and:
                      - UserAccountControl: '512'
    GroupDeleteResponse:
      type: object
      description: 'Response from deleting Cloud Dynamic User Group(s).


        **Important:** HTTP 200 does not guarantee the group was deleted.

        Check the response fields to determine the actual outcome.

        '
      properties:
        success:
          type: boolean
          description: Indicates if the request was processed (does not mean deletion completed)
          example: true
        result:
          type: object
          description: 'Contains deletion status information.

            Check `sync` field to determine if deletion completed or is pending.

            '
          properties:
            sync:
              type: string
              description: 'Deletion status indicator:

                - "success" - Group was successfully deleted

                - "Cloud Dynamic Group definition saved. Unable to schedule sync..." - Deletion is pending due to sync in progress

                '
              enum:
              - success
              - Cloud Dynamic Group definition saved. Unable to schedule sync. Try to sync changes manually or wait for the next automated sync
              example: success
      

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/openapi/palo-alto-networks-cloud-dynamic-user-groups-api-openapi.yml