openapi: 3.2.0 info: title: Palo Alto Networks Application Groups API version: '1.0' description: 'Operations tagged Application Groups across 2 of this provider''s published API definitions: palo-alto-access-browser-mgmt-prismaaccess-browser-management-latest-openapi.yaml, palo-alto-scm-config-cloudngfw-objects-objects-june-openapi.yaml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.strata.paloaltonetworks.com/config/objects/v1 description: Current - url: https://api.sase.paloaltonetworks.com/sse/config/v1 description: Legacy tags: - name: Application Groups paths: /seb-api/v1/application-groups: get: summary: List all application groups description: Fetches all application groups with support for name-based filtering and sorting. operationId: GetSeb-apiV1Application-groups responses: '200': description: A list of application group objects content: application/json: schema: properties: data: type: array items: $ref: '#/components/schemas/ApplicationGroup' metadata: $ref: '#/components/schemas/ResponseMetadata' pageInfo: $ref: '#/components/schemas/PageInfo' '400': description: Bad request content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden '500': description: Internal server error parameters: - name: configurationVersion in: query description: Configuration version to retrieve (draft, active, or version number) required: false schema: type: string default: draft pattern: ^([dD]raft|[aA]ctive|[1-9][0-9]{0,9}|0CV[0-9A-Z]{26})$ - in: query name: name schema: type: string description: Optional name string to search in application groups required: false - in: query name: cursor description: An optional opaque string that defines from where to start listing required: false schema: type: string - in: query name: limit description: Number of application groups to return required: false schema: type: integer format: int32 - in: query name: sort description: The field to sort by required: false schema: type: string enum: - application_group.id - application_group.name - application_group.create_time - application_group.update_time - in: query name: order description: The sort order required: false schema: $ref: '#/components/schemas/Order' tags: - Application Groups security: - BearerAuth: [] post: summary: Create an application group description: Defines a new group and associates it with a list of application IDs. operationId: PostSeb-apiV1Application-groups responses: '201': description: Created successfully content: application/json: schema: type: object properties: id: type: string description: The ID of the newly created resource required: - id '400': description: Bad request content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden '409': description: Conflict - resource already exists content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error parameters: [] tags: - Application Groups requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateOrReplaceAppGroupInput' security: - BearerAuth: [] /seb-api/v1/application-groups/{id}: get: summary: Get an application group by ID description: Fetches a single application group by its unique ID. operationId: GetSeb-apiV1Application-groupsbyid responses: '200': description: An Application Group content: application/json: schema: $ref: '#/components/schemas/ApplicationGroup' '400': description: Bad request content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden '404': description: Application Group Not found '500': description: Internal server error parameters: - name: id in: path required: true schema: type: string pattern: ^0AG[0-9A-HJKMNP-TV-Z]{26}$ description: Application Group ID. - name: configurationVersion in: query description: Configuration version to retrieve (draft, active, or version number) required: false schema: type: string default: draft pattern: ^([dD]raft|[aA]ctive|[1-9][0-9]{0,9}|0CV[0-9A-Z]{26})$ tags: - Application Groups security: - BearerAuth: [] patch: summary: Update an application group description: Partially updates an application group - provided attributes are set as specified, others remain unchanged. operationId: PatchSeb-apiV1Application-groupsbyid responses: '200': description: Updated successfully content: application/json: schema: type: object properties: id: type: string description: The ID of the updated resource required: - id '400': description: Bad request content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden '404': description: Resource Not found '409': description: Conflict - resource already exists content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal server error parameters: - name: id in: path required: true schema: type: string pattern: ^0AG[0-9A-HJKMNP-TV-Z]{26}$ description: Application Group ID. tags: - Application Groups requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchAppGroupInput' security: - BearerAuth: [] delete: summary: Delete an application group description: Permanently removes an application group identified by its ID. operationId: DeleteSeb-apiV1Application-groupsbyid responses: '204': description: Deleted successfully '400': description: Bad request content: application/json: schema: type: object properties: errorResponse: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden '404': description: Resource Not found '500': description: Internal server error parameters: - name: id in: path required: true schema: type: string pattern: ^0AG[0-9A-HJKMNP-TV-Z]{26}$ description: Application Group ID. tags: - Application Groups security: - BearerAuth: [] /application-groups: get: tags: - Application Groups summary: List application groups description: 'Retrieve a list of application groups. ' operationId: ListApplicationGroups parameters: - $ref: '#/components/parameters/name' - $ref: '#/components/parameters/folder' - $ref: '#/components/parameters/snippet' - $ref: '#/components/parameters/device' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/application-groups' limit: type: integer default: 200 offset: type: integer default: 0 total: type: integer '400': $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' '404': $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' security: - scmToken: [] post: tags: - Application Groups summary: Create an application group description: 'Create a new application group. ' operationId: CreateApplicationGroups requestBody: description: Created content: application/json: schema: $ref: '#/components/schemas/application-groups' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/application-groups' '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' '409': $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' security: - scmToken: [] servers: - url: https://api.strata.paloaltonetworks.com/config/objects/v1 description: Current - url: https://api.sase.paloaltonetworks.com/sse/config/v1 description: Legacy /application-groups/{id}: get: tags: - Application Groups summary: Get an application group description: 'Get an existing application group. ' operationId: GetApplicationGroupsByID parameters: - $ref: '#/components/parameters/uuid' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/application-groups' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' '404': $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' security: - scmToken: [] put: tags: - Application Groups summary: Update an application group description: 'Update an existing application group. ' operationId: UpdateApplicationGroupsByID parameters: - $ref: '#/components/parameters/uuid' requestBody: description: OK content: application/json: schema: $ref: '#/components/schemas/application-groups' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/application-groups' '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' security: - scmToken: [] delete: tags: - Application Groups summary: Delete an application group description: 'Delete an application group. ' operationId: DeleteApplicationGroupsByID parameters: - $ref: '#/components/parameters/uuid' responses: '200': $ref: '#/components/responses/http_ok' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' '404': $ref: '#/components/responses/not_found' '409': $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' security: - scmToken: [] servers: - url: https://api.strata.paloaltonetworks.com/config/objects/v1 description: Current - url: https://api.sase.paloaltonetworks.com/sse/config/v1 description: Legacy components: schemas: metadata: type: object properties: createdTime: type: string format: date-time description: Creation time lastUpdatedTime: type: string format: date-time description: Last update time createdBy: type: string description: Created by user lastUpdatedBy: type: string description: Updated by user configurationVersion: $ref: '#/components/schemas/MetadataConfigurationVersion' required: - createdTime - lastUpdatedTime MetadataConfigurationVersion: type: - object - 'null' description: Configuration version information required: - id - status - number properties: id: type: string description: Configuration version identifier minLength: 29 maxLength: 29 pattern: ^0[A-Z]{2}[0-9A-Z]{26}$ status: type: string enum: - active - inactive - draft description: Configuration version status number: type: integer format: int32 description: Configuration version number AddRemoveApps: type: object properties: add: type: array items: type: string pattern: ^0AP[0-9A-HJKMNP-TV-Z]{26}$ maxItems: 2000 remove: type: array items: type: string pattern: ^0AP[0-9A-HJKMNP-TV-Z]{26}$ maxItems: 2000 ApplicationGroup: type: object properties: id: type: string format: string description: Unique identifier name: type: string format: string description: Name of the application group description: type: string format: string description: Description of the application group applications: type: array items: type: object properties: id: type: string format: string description: Unique identifier name: type: string format: string description: Name of the application type: type: string description: The type of the application enum: - catalog - custom - private - non-web - user-non-web - pra - desktop required: - id - name - type description: IDs of the group members metadata: $ref: '#/components/schemas/metadata' required: - id - createTime - lastUpdatedTime - name - metadata ErrorResponse: type: object required: - message properties: error: type: string message: type: string missingDeviceIds: type: array items: type: string description: List of device IDs that were not found (only present for device not found errors) missingUserIds: type: array items: type: string description: List of user IDs that were not found (only present for user not found errors) ResponseMetadata: type: object description: Response-level metadata properties: configurationVersion: $ref: '#/components/schemas/MetadataConfigurationVersion' ReplaceApps: type: array items: type: string pattern: ^0AP[0-9A-HJKMNP-TV-Z]{26}$ maxItems: 2000 PatchAppGroupInput: type: object properties: name: type: string format: string description: Name of the application group description: type: string format: string description: Description of the application group applications: oneOf: - $ref: '#/components/schemas/AddRemoveApps' - $ref: '#/components/schemas/ReplaceApps' PageInfo: type: object properties: hasNextPage: type: boolean description: When paginating forwards, are there more items? cursor: type: - string - 'null' description: When paginating forwards, the cursor to continue. required: - hasNextPage CreateOrReplaceAppGroupInput: type: object properties: name: type: string format: string description: Name of the application group description: type: string format: string description: Description of the application group applications: type: array items: type: string pattern: ^0AP[0-9A-HJKMNP-TV-Z]{26}$ minItems: 0 maxItems: 2000 description: List of member application IDs required: - name Order: type: string description: The sort order enum: - asc - desc application-groups: type: object required: - id - name - members properties: id: type: string description: UUID of the resource readOnly: true example: 123e4567-e89b-12d3-a456-426655440000 name: type: string description: Alphanumeric string [ 0-9a-zA-Z._-] maxLength: 31 members: type: array items: type: string maxLength: 63 x-panMemberOf: - location: shared schema: application subPath: name - location: shared schema: content-preview/application subPath: name - location: shared schema: application-group subPath: name - location: shared schema: application-filter subPath: name oneOf: - type: object title: folder properties: folder: type: string pattern: ^[a-zA-Z\d\-_\. ]+$ maxLength: 64 description: The folder in which the resource is defined example: My Folder required: - folder - type: object title: snippet properties: snippet: type: string pattern: ^[a-zA-Z\d\-_\. ]+$ maxLength: 64 description: The snippet in which the resource is defined example: My Snippet required: - snippet - type: object title: device properties: device: type: string pattern: ^[a-zA-Z\d\-_\. ]+$ maxLength: 64 description: The device in which the resource is defined example: My Device required: - device generic_error: type: object properties: _errors: $ref: '#/components/schemas/error_detail_cause_infos' _request_id: type: string x-examples: {} error_detail_cause_info: type: object title: Cause Info properties: code: type: string message: type: string details: oneOf: - type: string - type: object help: type: string error_detail_cause_infos: type: array items: $ref: '#/components/schemas/error_detail_cause_info' x-examples: {} examples: json_401_panui_auth_key_expired: summary: Key Expired value: _errors: - code: E016 message: Key Expired details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_501_panui_restapi_method_not_supported: summary: Method Not Supported value: _errors: - code: E012 message: Method Not Supported details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_restapi_input_format_mismatch: summary: Input Format Mismatch value: _errors: - code: E003 message: 'Input Format Mismatch: input-format=json' details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_501_panui_restapi_version_not_supported: summary: Version Not Supported value: _errors: - code: E012 message: Version Not Supported details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_409_panui_mgmt_name_not_unique: summary: Name Not Unique value: _errors: - code: E006 message: Name Not Unique details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_409_panui_mgmt_object_not_unique: summary: Object Not Unique value: _errors: - code: E016 message: Object Not Unique details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_404_panui_mgmt_object_not_present: summary: Object Not Present value: _errors: - code: E005 message: Object Not Present details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_restapi_missing_body: summary: Missing Body value: _errors: - code: E003 message: Missing Body details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_409_panui_mgmt_reference_not_zero: summary: Reference Not Zero value: _errors: - code: E009 message: Reference Not Zero details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_mgmt_invalid_command: summary: Invalid Command value: _errors: - code: E003 message: Invalid Command details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_restapi_output_format_mismatch: summary: Output Format Mismatch value: _errors: - code: E003 message: 'Output Format Mismatch: output-format=json Accept=xml' details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_401_panui_auth_not_authenticated: summary: Not Authenticated value: _errors: - code: E016 message: Not Authenticated details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_401_panui_auth_invalid_credential: summary: Invalid Credential value: _errors: - code: E016 message: Invalid Credential details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_403_panui_auth_unauthorized: summary: Unauthorized value: _errors: - code: E007 message: Unauthorized details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_restapi_missing_query_parameter: summary: Missing Query Parameter value: _errors: - code: E003 message: 'Missing Query Parameter: name' details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_405_panui_restapi_action_not_supported: summary: Action Not Supported value: _errors: - code: E012 message: 'Action Not Supported: move' details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_restapi_invalid_query_parameter: summary: Invalid Query Parameter value: _errors: - code: E003 message: 'Invalid Query Parameter: location=invalid' details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_401_panui_auth_key_too_long: summary: Key Too Long value: _errors: - code: E016 message: Key Too Long details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_mgmt_invalid_object: summary: Invalid Object value: _errors: - code: E003 message: Invalid Object details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_mgmt_malformed_command: summary: Malformed Command value: _errors: - code: E003 message: Malformed Command details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_504_panui_mgmt_session_timeout: summary: Session Timeout value: _errors: - code: '4' message: Session Timeout details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_401_panui_auth_need_password_change: summary: Need Password Change value: _errors: - code: E016 message: The password needs to be changed. details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 json_400_panui_mgmt_bad_xpath: summary: Bad XPath value: _errors: - code: E013 message: Bad XPath details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 parameters: uuid: name: id in: path description: The UUID of the configuration resource required: true schema: type: string format: uuid example: 123e4567-e89b-12d3-a456-426655440000 name: name: name in: query description: The name of the configuration resource required: false schema: type: string limit: name: limit in: query description: The maximum number of results per page required: false schema: type: integer default: 200 folder: name: folder in: query description: 'The folder in which the resource is defined ' required: false schema: type: string snippet: name: snippet in: query description: 'The snippet in which the resource is defined ' required: false schema: type: string offset: name: offset in: query description: The offset into the list of results returned required: false schema: type: integer default: 0 device: name: device in: query description: 'The device in which the resource is defined ' required: false schema: type: string responses: http_ok: description: OK not_found: description: Not Found content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: object_not_present: $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' default_errors: description: General Errors content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: version_not_supported: $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' method_not_allowed: $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' action_not_supported: $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' bad_xpath: $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' invalid_command: $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' malformed_command: $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' session_timeout: $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' bad_request_errors_basic_with_body: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: input_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' output_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' missing_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' invalid_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' missing_body: $ref: '#/components/examples/json_400_panui_restapi_missing_body' invalid_object: $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' bad_request_errors_basic: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: input_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' output_format_mismatch: $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' missing_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' invalid_query_parameter: $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' auth_errors: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: auth_not_authenticated: $ref: '#/components/examples/json_401_panui_auth_not_authenticated' invalid_credential: $ref: '#/components/examples/json_401_panui_auth_invalid_credential' key_too_long: $ref: '#/components/examples/json_401_panui_auth_key_too_long' key_expired: $ref: '#/components/examples/json_401_panui_auth_key_expired' need_password_change: $ref: '#/components/examples/json_401_panui_auth_need_password_change' conflict_errors: description: Conflict content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: object_not_unique: $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' name_not_unique: $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' reference_not_zero: $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' access_errors: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: auth_unauthorized: $ref: '#/components/examples/json_403_panui_auth_unauthorized' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: Enter your JWT Bearer token to authorize. scmOAuth: type: oauth2 description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" flows: clientCredentials: tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token scopes: {} scmToken: type: http description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" scheme: bearer bearerFormat: JWT x-refined-from: - palo-alto-access-browser-mgmt-prismaaccess-browser-management-latest-openapi.yaml - palo-alto-scm-config-cloudngfw-objects-objects-june-openapi.yaml