openapi: 3.2.0 info: title: Mesh Policy Engine App Group API version: 6.0.0 x-provenance: method: harvested authored_by: Cisco Security Cloud Control harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true note: Published by Cisco. Retrieved unmodified except for this x-provenance block. provider_published: true x-evidence: - type: source url: https://github.com/CiscoDevNet/scc-public-api-docs/blob/main/specs/mesh-policy.yaml - type: raw url: https://raw.githubusercontent.com/CiscoDevNet/scc-public-api-docs/main/specs/mesh-policy.yaml servers: - url: https://api.security.cisco.com/pinacl/api security: - BearerJWT: [] tags: - name: App Group paths: /pcm/appgroups/{appGroupId}: get: description: 'Roles allowed: support,pcm-rw,pcm-ro' operationId: getAppGroup1 parameters: - in: path name: appGroupId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppGroupApi' description: Ok '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error summary: Get app group by id tags: - App Group post: description: 'Roles allowed: support,pcm-rw' operationId: createAppGroup parameters: - in: path name: appGroupId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AppGroupUserApi' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/TopologyRequestResponse' description: Accepted '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error summary: Create app group tags: - App Group /pcm/appgroups/{appGroupId}/references: get: description: 'Roles allowed: support,pcm-rw,pcm-ro' operationId: getAppGroupReferences parameters: - in: path name: appGroupId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/GroupReferences' description: Ok '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error summary: Get all the direct references (Policy/Rules & App Groups) of app group by id tags: - App Group /pcm/appgroups/{appGroupId}/{version}: delete: description: 'Deleting an app group can cause a rule to become invalid when the rule has no other applications defined. Such rules will be removed along with the app group. Roles allowed: support,pcm-rw' operationId: deleteAppGroup parameters: - in: path name: appGroupId required: true schema: type: string - in: path name: version required: true schema: format: int32 minimum: 1 type: integer responses: '202': content: application/json: schema: $ref: '#/components/schemas/TopologyRequestResponse' description: Accepted '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error summary: Delete app group by id tags: - App Group put: description: 'Roles allowed: support,pcm-rw' operationId: updateAppGroup parameters: - in: path name: appGroupId required: true schema: type: string - in: path name: version required: true schema: format: int32 minimum: 1 type: integer requestBody: content: application/json: schema: $ref: '#/components/schemas/AppGroupUserApi' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/TopologyRequestResponse' description: Accepted '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error summary: Update app group tags: - App Group components: schemas: AppGroupApi: properties: description: type: string id: example: id1 format: 'Id should match this regex: ^[A-Za-z-_0-9~.]+$' type: string memberApps: example: - 6_ignore_80_80_null format: MemberApps should be a valid list of service strings items: example: '["6_ignore_80_80_null"]' format: MemberApps should be a valid list of service strings type: string type: array memberGroups: example: - memberGroup1 format: 'MemberGroups should match this regex: ^[A-Za-z-_0-9~.]+$' items: example: '["memberGroup1"]' format: 'MemberGroups should match this regex: ^[A-Za-z-_0-9~.]+$' type: string type: array revision: format: int32 type: integer type: object AppGroupUserApi: properties: description: type: string memberApps: example: - 6_ignore_80_80_null format: MemberApps should be a valid list of service strings items: example: '["6_ignore_80_80_null"]' format: MemberApps should be a valid list of service strings type: string type: array memberGroups: example: - memberGroup1 format: 'MemberGroups should match this regex: ^[A-Za-z-_0-9~.]+$' items: example: '["memberGroup1"]' format: 'MemberGroups should match this regex: ^[A-Za-z-_0-9~.]+$' type: string type: array type: object ReqIdAndReqSystem: properties: id: example: 03502bc3-c140-4951-b467-bd17312a9b0b type: string requestingSystem: enum: - PCM - SDI - MPM - RED - SEEDING - TOPOLOGY - PCM_TOPOLOGY_CHANGE - SDI_TOPOLOGY_CHANGE - MPM_SECURITY_TOPOLOGY_CHANGE - MPM_POLICY_IMPORT - ZONE_PATH_TOPOLOGY_CHANGE - MPM_MULTI_POLICY_PUSH - GOVERNANCE_POLICY_DYNAMIC_GROUP_CHANGE type: string type: object PolicyReference: properties: id: type: string ruleIds: items: type: string type: array uniqueItems: true type: object GroupReferences: properties: groupIds: items: type: string type: array uniqueItems: true policies: items: $ref: '#/components/schemas/PolicyReference' type: array type: object TopologyRequestResponse: properties: request: $ref: '#/components/schemas/ReqIdAndReqSystem' type: object securitySchemes: BearerJWT: bearerFormat: jwt scheme: bearer type: http