openapi: 3.0.1
info:
  title: Onewelcome Delegation
  version: v2023-01-26
servers:
  - url: 'https://{customerName}.onewelcome.io/'
    description: This application can also run under a customer domain
paths:
  '/delegation/api/v2/resources/{resourceId}':
    get:
      tags:
        - Resource API
      parameters:
        - name: resourceId
          description: Identifier of the resource
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: A resource was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getResource
      summary: Returns a resource
      description: Returns a resource with a specific identifier
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateResourceRequest'
        required: true
      tags:
        - Resource API
      parameters:
        - name: resourceId
          description: Identifier of the resource
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: A resource was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateResource
      summary: Updates resource
      description: Updates resource with a new name and/or externalId
    delete:
      tags:
        - Resource API
      parameters:
        - name: resourceId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: Resource has been deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteResource
      summary: Deletes the resource
  '/delegation/api/v2/resource-types/{resourceTypeId}':
    get:
      tags:
        - ResourceType API
      parameters:
        - name: resourceTypeId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: A resource type with a list of connected privileges
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getResourceType
      summary: Get a resource type with privileges
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateResourceTypeRequest'
        required: true
      tags:
        - ResourceType API
      parameters:
        - name: resourceTypeId
          description: Identifier of the resource type
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResourceTypeDto'
          description: The resource type was updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateResourceType
      summary: Updates a resource type
    delete:
      tags:
        - ResourceType API
      parameters:
        - name: resourceTypeId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: Resource type has been deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteResourceType
      summary: Deletes the resource type
  '/delegation/api/v2/policies/{policyId}':
    get:
      tags:
        - Policy API
      parameters:
        - name: policyId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PolicyDto'
          description: A policy was fetched successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getPolicy
      summary: Gets a single policy
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrUpdatePolicyRequest'
        required: true
      tags:
        - Policy API
      parameters:
        - name: policyId
          description: Identifier of the policy
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PolicyDto'
          description: A policy was updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updatePolicy
      summary: Updates a policy
      description: '''POLICY_MANAGE'' permission on the root group is required'
    delete:
      tags:
        - Policy API
      parameters:
        - name: policyId
          description: Identifier of the policy
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          description: A policy was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deletePolicy
      summary: Deletes a policy
      description: '''POLICY_MANAGE'' permission on the root group is required'
  '/delegation/api/v2/people/{referenceId}':
    get:
      tags:
        - Person API
      parameters:
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: A personal data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getPersonDetails
      summary: Get personal data
      description: >-
        'GROUP_MEMBER_MANAGE' permission on any group or anonymous token with
        proper read scope is required
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePersonStatusRequest'
        required: true
      tags:
        - Person API
      parameters:
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          description: Status updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateStatus
      summary: Update person status
      description: Update person status
    delete:
      tags:
        - Person API
      parameters:
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
        - name: deleteIdentity
          schema:
            default: false
            type: boolean
          in: query
          required: false
      responses:
        '204':
          description: Person deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deletePerson
      summary: Delete a person
      description: >-
        The endpoint requires that your OIDC token has the scope
        `dabp_manage_person`
  '/delegation/api/v2/identity-providers/{identityProviderId}':
    get:
      tags:
        - Idp configuration API
      parameters:
        - name: identityProviderId
          description: Identifier of the identity provider
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/IdentityProviderConfig'
          description: An idp config was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getConfig
      summary: Returns an idp config
      description: Admin's endpoint
    put:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/BasicIdentityProviderConfig'
                - $ref: '#/components/schemas/CimIdentityProviderConfig'
        required: true
      tags:
        - Idp configuration API
      parameters:
        - name: identityProviderId
          description: Identifier of the identity provider
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: An idp config was updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateConfig
      summary: Updates an idp config
      description: Admin's endpoint
    delete:
      tags:
        - Idp configuration API
      parameters:
        - name: identityProviderId
          description: Identifier of the identity provider
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: An idp config was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteConfig
      summary: Deletes an idp config
      description: Admin's endpoint
  '/delegation/api/v2/groups/{groupId}':
    get:
      tags:
        - Group API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GroupDto'
          description: A group was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getGroup
      summary: Get group by id
      description: Returns a group by identifier
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupRequest'
        required: true
      tags:
        - Group API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GroupDto'
          description: A group was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateGroup
      summary: Updates group
      description: >-
        Updates group with given id <br> 'GROUP_MANAGE' permission on the group
        is required<br> 'GROUP_POLICY_MANAGE' permission on the group is
        required if group policyIds is not empty
    delete:
      tags:
        - Group API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A group was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteGroup
      summary: Deletes a group
      description: >-
        Deletes a group with given id <br> 'GROUP_MANAGE' permission on the
        group is required
    patch:
      requestBody:
        description: Group patch
        content:
          application/json:
            schema:
              type: string
            examples:
              An example request removing a resource from group:
                description: An example request removing a resource from group
                value:
                  - op: remove
                    path: /resourceIds/1
              An example request adding a resource to a group:
                description: An example request adding a resource to a group
                value:
                  - op: add
                    path: /resourceIds/-
                    value: e3a5a6cc-21e7-4924-a00f-fad1a0cb9d9d
              An example request replacing a resource in a group:
                description: An example request replacing a resource in a group
                value:
                  - op: replace
                    path: /resourceIds/1
                    value: e3a5a6cc-21e7-4924-a00f-fad1a0cb9d9d
              An example request updating group name:
                description: An example request updating group name
                value:
                  - op: replace
                    path: /name
                    value: New Group
        required: true
      tags:
        - Group API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GroupDto'
          description: A group was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: patchGroup
      summary: Patch group. Patch operation based on rfc6902 specification.
      description: >-
        Patches group with given id <br> 'GROUP_MANAGE' permission on the group
        is required<br> 'GROUP_POLICY_MANAGE' permission on the group is
        required if group policyIds is not empty
  '/delegation/api/v2/groups/{groupId}/members/{referenceId}':
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMemberDto'
        required: true
      tags:
        - Group members API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AddMemberDto'
          description: A group member was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateMember
      summary: Update member of a group
      description: '''GROUP_MEMBER_MANAGE'' permission on the group is required'
    delete:
      tags:
        - Group members API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A group member was successfully deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: removeGroupMember
      summary: Delete member from group
      description: '''GROUP_MEMBER_MANAGE'' permission on the group is required'
  '/delegation/api/v2/features/{featureName}/{enabled}':
    put:
      tags:
        - Feature toggle API
      parameters:
        - name: featureName
          description: feature name
          schema:
            enum:
              - RESOURCES_ENABLED
              - DETAILED_CIM_INVITE_ENABLED
              - NOTIFY_MEMBER_ADDED_TO_GROUP_ENABLED
              - NOTIFY_SUPERUSER_WHEN_MEMBER_ADDED_TO_GROUP_ENABLED
              - PERSON_STATUS_ON_LIST_ENABLED
              - DELETE_PERSON_WITHOUT_MEMBERSHIPS_ENABLED
              - SHOW_GROUP_CUSTOM_ATTRIBUTES_ENABLED
              - INCLUDE_SUBGROUPS_IN_V2_PERSON_REPORT
            type: string
          in: path
          required: true
        - name: enabled
          description: is feature enabled
          schema:
            type: boolean
          in: path
          required: true
      responses:
        '200':
          description: Feature toggle changed
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: toggleFeature
      summary: Change feature toggle
      description: Enables or disables a feature
  /delegation/api/v2/external-links:
    get:
      tags:
        - External link API
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalLinksResponse'
          description: Data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getAllExternalLinks
      summary: Returns information about all external links
      description: Returns information about all external links
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalLinkDto'
        required: true
      tags:
        - External link API
      responses:
        '204':
          content:
            json: {}
          description: A external link was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateExternalLink
      summary: Updates external link
      description: 'Updates external link with a new text, url or language'
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalLinkDto'
        required: true
      tags:
        - External link API
      responses:
        '201':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalLinkDto'
          description: A external link has been successfully created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createExternalLink
      summary: Creates external link
      description: Creates external link with a text and a url associated with language
  '/delegation/api/v2/basic-auth-users/{username}':
    get:
      tags:
        - Basic Auth User API
      parameters:
        - name: username
          description: Username in plain text
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/BasicAuthUser'
          description: A basic auth user was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getUserByUsername
      summary: Returns a basic auth user
      description: Admin's endpoint
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBasicAuthUser'
        required: true
      tags:
        - Basic Auth User API
      parameters:
        - name: username
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BasicAuthUser'
          description: A basic auth user was updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: updateUser
      summary: Updates a basic auth user
      description: Admin's endpoint
    delete:
      tags:
        - Basic Auth User API
      parameters:
        - name: username
          description: Username in plain text
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A basic auth user was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteUser
      summary: Deletes a basic auth user
      description: Admin's endpoint
  '/delegation/api/v1/groups/{groupId}':
    get:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/LegacyGroupDto'
          description: A group was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getGroup_1
      summary: Returns group
      description: Any permission on the group is required
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyUpdateGroupRequest'
        required: true
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/LegacyGroupDto'
          description: A group was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: updateGroup_1
      summary: Updates group
      description: >-
        Updates group with given id <br> 'GROUP_MANAGE' permission on the group
        is required
    delete:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A group was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: deleteGroup_1
      summary: Deletes a group
      description: >-
        Deletes a group with given id <br> 'GROUP_MANAGE' permission on the
        group is required
  '/delegation/api/v1/groups/{groupId}/custom-attributes/{customAttributeName}':
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomAttributeRequest'
        required: true
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: customAttributeName
          description: Name for the custom attribute
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          description: Custom attributes was updated successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: updateCustomAttributes
      summary: Updates group's custom attributes
      description: '''GROUP_MANAGE'' permission on the group is required'
    delete:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: customAttributeName
          description: Name for the custom attribute
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          description: Custom attributes was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: deleteCustomAttributes
      summary: Deletes a group's custom attribute
      description: '''GROUP_MANAGE'' permission on the group is required'
  /delegation/api/v2/tenants:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTenantRequest'
        required: true
      tags:
        - Tenant API
      responses:
        '201':
          content:
            json:
              schema:
                format: uuid
                type: string
          description: A tenant was added successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createTenant
      summary: Adds a tenant
      description: Admin's endpoint
  /delegation/api/v2/resources:
    get:
      tags:
        - Resource API
      parameters:
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceDto'
          description: A resource list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: listResources
      summary: Returns a resource list
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateResourceRequest'
        required: true
      tags:
        - Resource API
      responses:
        '201':
          content:
            json: {}
          description: A resource was successfully created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createResource
      summary: Creates resource
      description: 'Creates resource with a name, externalId and a resource type'
  /delegation/api/v2/resource-types:
    get:
      tags:
        - ResourceType API
      responses:
        '200':
          content:
            json: {}
          description: List of resource types with connected privileges
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getResourceTypes
      summary: List all resource types
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateResourceTypeRequest'
        required: true
      tags:
        - ResourceType API
      responses:
        '201':
          content:
            json: {}
          description: A resource type was successfully created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createResourceType
      summary: Creates resource types
      description: Creates resource types with a list of connected privileges
  /delegation/api/v2/policies:
    get:
      tags:
        - Policy API
      parameters:
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PolicyDto'
          description: A policy list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: listPolicies
      summary: Returns a policy list
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrUpdatePolicyRequest'
        required: true
      tags:
        - Policy API
      responses:
        '201':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PolicyDto'
          description: A policy was added successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createPolicy
      summary: 'Adds a policy to the system, and links it with the root group'
      description: '''POLICY_MANAGE'' permission on the root group is required'
  /delegation/api/v2/people:
    get:
      tags:
        - Person API
      parameters:
        - name: email
          schema:
            type: string
          in: query
          required: true
      responses:
        '200':
          content:
            json: {}
          description: List of people returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: searchPeople
      summary: Search for people
      description: >-
        Returns the list of people filtered by given parameters (e.g. email).
        'GROUP_MEMBER_MANAGE' permission on any group or anonymous token with
        proper read scope is required
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonRequest'
        required: true
      tags:
        - Person API
      responses:
        '201':
          content:
            json: {}
          description: A group member was successfully added
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createPerson
      summary: Creates person
      description: >-
        'GROUP_MEMBER_MANAGE' permission on any group or anonymous token with
        proper write scope is required
  '/delegation/api/v2/people/invite/{referenceId}':
    post:
      tags:
        - Person API
      parameters:
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PersonDetailsDto'
          description: OK
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: invitePerson
  /delegation/api/v2/identity-providers:
    get:
      tags:
        - Idp configuration API
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityProviderConfig'
          description: Idp configs were returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getAllConfigs
      summary: Returns all idp configs
      description: Admin's endpoint
    post:
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/BasicIdentityProviderConfig'
                - $ref: '#/components/schemas/CimIdentityProviderConfig'
        required: true
      tags:
        - Idp configuration API
      responses:
        '201':
          content:
            json:
              schema:
                format: uuid
                type: string
          description: An idp config was added successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createConfig
      summary: Adds an idp config
      description: Admin's endpoint
  /delegation/api/v2/groups:
    get:
      tags:
        - Group API
      parameters:
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseGroupSearchDto'
          description: A search results were returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: searchRootGroups
      summary: Search for user root groups
      description: >-
        Search for the highest possible groups that the user has permissions to.
        Starts from the main root group and recursively checks subgroups.
        Returns only the main root group if user has permissions directly in a
        root group.
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupRequest'
        required: true
      tags:
        - Group API
      responses:
        '204':
          content:
            json:
              schema:
                $ref: '#/components/schemas/GroupDto'
          description: A root group was successfully created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createRootGroup
      summary: Creates a root group
      description: Admins are allowed to use this endpoint once per tenant
  '/delegation/api/v2/groups/{parentGroupId}/subgroups':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupRequest'
        required: true
      tags:
        - Group API
      parameters:
        - name: parentGroupId
          description: Identifier of the parent group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          content:
            json:
              schema:
                $ref: '#/components/schemas/GroupDto'
          description: A group's subgroup was successfully added
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: createSubgroup
      summary: Adds a group's subgroup
      description: >-
        'GROUP_MANAGE' permission on the (parent) group is required<br>
        'GROUP_POLICY_MANAGE' permission on the (parent) group is required if
        group policyIds is not empty<br> 'GROUP_RESOURCE_MANAGE' permission on
        the (parent) group is required if group resourceIds is not empty
  '/delegation/api/v2/groups/{groupId}/policies':
    get:
      tags:
        - Group policies API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseUUID'
          description: Group's policies was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getGroupPolicy
      summary: Returns group's policies
      description: Any permission on the group is required
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddGroupPolicyRequest'
        required: true
      tags:
        - Group policies API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          description: A policy was successfully assigned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: addGroupPolicy
      summary: Assigns a policy to a group
      description: '''GROUP_POLICY_MANAGE'' permission on the group is required'
  '/delegation/api/v2/groups/{groupId}/members':
    get:
      tags:
        - Group members API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: status
          schema:
            type: array
            items:
              enum:
                - INVITED
                - ACTIVATED
                - INACTIVE
                - BLOCKED
                - UNKNOWN
              type: string
          in: query
          required: false
        - name: search_in_subgroups
          schema:
            default: false
            type: boolean
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonDto'
          description: A member list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: listMembers
      summary: Returns paginated members of a group
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddMemberDto'
        required: true
      tags:
        - Group members API
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AddMemberDto'
          description: A group member was successfully added
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: addMember
      summary: Add member to group
      description: '''GROUP_MEMBER_MANAGE'' permission on the group is required'
  '/delegation/api/v2/groups/{groupId}/members/{personId}/policies':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignPolicyRequest'
        required: true
      tags:
        - Member policies API
      parameters:
        - name: groupId
          description: Identifier of the group which the person is member of
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: personId
          description: Identifier of the person in the identity provider (e.g. referenceId)
          schema:
            type: string
          in: path
          required: true
      responses:
        '201':
          description: A policy was successfully assigned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: assignPolicy
      summary: Assigns a policy to a person within a group
      description: '''PERSON_POLICY_MANAGE'' permission on the group is required'
  '/delegation/api/v2/groups/{groupId}/members/{personId}/permissions':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignPermissionRequest'
        required: true
      tags:
        - Person permissions API
      parameters:
        - name: groupId
          description: Identifier of the group  which the person is member of
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: personId
          description: Identifier of the person in the identity provider (e.g. referenceId)
          schema:
            type: string
          in: path
          required: true
      responses:
        '201':
          description: A permission was successfully assigned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: assignPermission
      summary: Assigns a permission to a person within a group
      description: '''PERMISSION_MANAGE'' permission on the group is required'
  /delegation/api/v2/basic-auth-users:
    get:
      tags:
        - Basic Auth User API
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BasicAuthUser'
          description: Basic auth users were returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: listUsers
      summary: Returns all basic auth users
      description: Admin's endpoint
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBasicAuthUser'
        required: true
      tags:
        - Basic Auth User API
      responses:
        '201':
          content:
            json:
              schema:
                $ref: '#/components/schemas/BasicAuthUser'
          description: An basic auth user was added successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: addUser
      summary: Adds a basic auth user
      description: Admin's endpoint
  /delegation/api/v1/policies/batch:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyBatchUpdateRequest'
        required: true
      tags:
        - Policy API (Legacy)
      responses:
        '200':
          description: Batch policies in was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: batchUpdate
      summary: Updates policies in a batch
      description: >-
        'GROUP_POLICY_MANAGE' permission on the group is required when assign to
        a group <br>'PERSON_POLICY_MANAGE' permission on the group is required
        when assign to a person within a group
  /delegation/api/v1/groups:
    get:
      tags:
        - Group API (Legacy)
      parameters:
        - name: customAttributeFilter
          schema:
            $ref: '#/components/schemas/CustomAttributeFilter'
          in: query
          required: true
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageLegacyGroupDto'
          description: Groups was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getGroups
      summary: Returns list of groups filtered by custom attributes
      description: >-
        Returns 'Page' object with list of groups <br>Result can be filter by
        custom attributes
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubGroupRequest'
        required: true
      tags:
        - Group API (Legacy)
      responses:
        '201':
          content:
            json:
              schema:
                $ref: '#/components/schemas/LegacyGroupDto'
          description: A subgroup was successfully created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: addSubGroup
      summary: Adds a group's subgroup
      description: '''GROUP_MANAGE'' permission on the parent group is required'
  '/delegation/api/v1/groups/{groupId}/persons':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacyCreatePersonRequest'
        required: true
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          content:
            json:
              schema:
                $ref: '#/components/schemas/LegacyPersonDto'
          description: A group member was successfully added
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: addGroupMember
      summary: Adds group's member
      description: '''GROUP_MEMBER_MANAGE'' permission on the group is required'
  '/delegation/api/v1/groups/{groupId}/persons/{idpType}/{referenceId}/permissions/batch':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PermissionsBatchUpdateRequest'
        required: true
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: idpType
          description: Type of identity provider
          schema:
            enum:
              - CIM
              - BASIC
            type: string
          in: path
          required: true
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: Permissions was successfully updated
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: updatePermissions
      summary: Updates group's permissions
      description: '''PERMISSION_MANAGE'' permission on the group is required'
  '/delegation/api/v1/groups/{groupId}/custom-attributes':
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCustomAttributeRequest'
        required: true
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '201':
          description: Custom attributes was added successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: addCustomAttributes
      summary: Adds group's custom attributes
      description: '''GROUP_MANAGE'' permission on the group is required'
  /delegation/api/v2/translations:
    get:
      tags:
        - Translations API
      parameters:
        - name: language
          schema:
            type: string
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                format: binary
                type: string
          description: Returns the translation for request language
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getTranslations
  /delegation/api/v2/static-resources:
    get:
      tags:
        - Static Resource API
      parameters:
        - name: file_name
          schema:
            type: string
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                format: binary
                type: string
          description: Returns the resource that is requested
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getFile
  '/delegation/api/v2/resources/{resourceId}/groups':
    get:
      tags:
        - Resource API
      parameters:
        - name: resourceId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupDto'
          description: A group list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getResourceGroups
      summary: Returns list of groups to which resource is assigned to
  /delegation/api/v2/resources/search-by-external:
    get:
      tags:
        - Resource API
      parameters:
        - name: value
          schema:
            type: string
          in: query
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceDto'
          description: A resource list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: findByExternalId
      summary: Returns list of resources that have specified external id value
  '/delegation/api/v2/policies/{policyId}/resource-count':
    get:
      tags:
        - Policy API
      parameters:
        - name: policyId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                format: int64
                type: integer
          description: Linked resources counted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: countResourcesLinkedToPolicy
      summary: Count resources linked to policy
  '/delegation/api/v2/people/{referenceId}/superusers':
    get:
      tags:
        - Person API
      parameters:
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: Super users data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getPersonSuperusers
      summary: Get superusers data for groups specified person is member of
      description: Token with proper read scope is required
  '/delegation/api/v2/people/{referenceId}/report':
    get:
      tags:
        - Person API
      parameters:
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
        - name: skipUpdatingActivity
          schema:
            default: false
            type: boolean
          in: query
          required: false
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PersonReport'
          description: Report returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getReport
      summary: Returns a person report
      description: >-
        Person report contains information about groups person is member of, and
        his policies inside those groups. The endpoint requires that your OIDC
        token has person report scope
  '/delegation/api/v2/people/{referenceId}/memberships':
    get:
      tags:
        - Person API
      parameters:
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json: {}
          description: A person group membership data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getMembershipData
      summary: Get person group membership data
      description: >-
        'GROUP_MEMBER_MANAGE' permission on any group or anonymous token with
        proper read scope is required
  /delegation/api/v2/people/status-missing:
    get:
      tags:
        - Person API
      responses:
        '200':
          content:
            json:
              schema:
                type: string
          description: Data returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getPeopleWithoutStatus
      summary: Returns at max 100 referenceIds of people without status
      description: Lists first 100 referenceIds of people without status
  /delegation/api/v2/logged-in-user/uiPermissions:
    get:
      tags:
        - Logged-In User API
      responses:
        '200':
          content:
            '*/*':
              schema:
                type: object
                additionalProperties:
                  type: object
          description: Data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getUiPermissions
      summary: Returns information about user permissions related to UI functionalities
      description: Returns information about user permissions related to UI functionalities
  /delegation/api/v2/logged-in-user/permissions:
    get:
      tags:
        - Logged-In User API
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponsePersonGroupPermissionResponse'
          description: OK
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getPermissions
  '/delegation/api/v2/groups/{groupId}/subgroups':
    get:
      tags:
        - Group API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseGroupSearchDto'
          description: Search results were returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: searchSubgroups
      summary: Search groups
      description: Search for given group subgroups.
  '/delegation/api/v2/groups/{groupId}/resources':
    get:
      tags:
        - Group resources API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseResourceDto'
          description: Groups resources was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getGroupResources
      summary: Returns groups resources
      description: Any permission on the group is required
  '/delegation/api/v2/groups/{groupId}/name/custom-attributes':
    get:
      tags:
        - Group API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: key
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: value
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseGroupDto'
          description: Groups was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: searchGroupByNameAndCustomAttribute
      summary: Search groups by name and custom attributes
      description: >
        Returns a 'Page' object with the list of groups matching the search
        criteria. The request requires global permissions (such as the
        Basic-Auth Ops user).
  '/delegation/api/v2/groups/{groupId}/hierarchy':
    get:
      tags:
        - Group API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseGroupSearchDto'
          description: Group hierarchy was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getGroupHierarchy
      summary: Return group hierarchy
      description: >-
        Return a hierarchy of a group. Result includes given group and all
        ancestors of that group to which current user has permission.
  '/delegation/api/v2/groups/{groupId}/custom-keys':
    get:
      tags:
        - Group API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                uniqueItems: true
                type: array
                items:
                  type: string
          description: Custom keys list was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getCustomKeys
      summary: Return custom keys for user groups
      description: >
        Returns a list containing the custom keys of the groups of the user. The
        request requires global permissions (such as the Basic-Auth Ops user).
  /delegation/api/v2/groups/custom-attributes:
    get:
      tags:
        - Group API
      parameters:
        - name: key
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: value
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageResponseGroupDto'
          description: Groups was returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: searchGroupByCustomAttribute
      summary: Search groups by custom attributes
      description: >-
        Returns 'Page' object with list of groups. Result can be filter by
        custom attributes. Request requires global permissions (such as the
        Basic-Auth Ops user).
  /delegation/api/v2/features:
    get:
      tags:
        - Feature toggle API
      responses:
        '200':
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FeatureDto'
          description: Data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getFeatures
      summary: Returns all features and their enablement
      description: Returns all features and their enablement
  '/delegation/api/v2/features/{featureName}':
    get:
      tags:
        - Feature toggle API
      parameters:
        - name: featureName
          schema:
            enum:
              - RESOURCES_ENABLED
              - DETAILED_CIM_INVITE_ENABLED
              - NOTIFY_MEMBER_ADDED_TO_GROUP_ENABLED
              - NOTIFY_SUPERUSER_WHEN_MEMBER_ADDED_TO_GROUP_ENABLED
              - PERSON_STATUS_ON_LIST_ENABLED
              - DELETE_PERSON_WITHOUT_MEMBERSHIPS_ENABLED
              - SHOW_GROUP_CUSTOM_ATTRIBUTES_ENABLED
              - INCLUDE_SUBGROUPS_IN_V2_PERSON_REPORT
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                type: boolean
          description: Data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: isFeatureEnabled
      summary: Returns information about a specific feature and if it is enablement
      description: Returns information about a specific feature and if it is enablement
  '/delegation/api/v2/external-links/{language}':
    get:
      tags:
        - External link API
      parameters:
        - name: language
          description: language
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ExternalLinksResponse'
          description: Data was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: getExternalLinksByLanguage
      summary: Returns information about external links filtered by language
      description: Returns information about external links filtered by language
  /delegation/api/v1/scopes:
    get:
      tags:
        - Scope API (Legacy)
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: Scopes retuned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getScopes
      summary: Returns list of scopes
      description: '''Scopes'' were renamed to ''policies'' in the new engine'
  '/delegation/api/v1/persons/{referenceId}/report':
    get:
      tags:
        - Person API (Legacy)
      parameters:
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PersonReportDto_PersonAware'
          description: Report returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getReport_1
      summary: Returns a person's report with personal data
  '/delegation/api/v1/persons/{referenceId}/report-omit-identity':
    get:
      tags:
        - Person API (Legacy)
      parameters:
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/PersonReportDto_PersonUnaware'
          description: Report returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getReportOmitIdentity
      summary: Returns a person's report without personal data
  '/delegation/api/v1/persons/{idpType}/{referenceId}/permissions_recursive':
    get:
      tags:
        - Person API (Legacy)
      parameters:
        - name: idpType
          description: Type of identity provider
          schema:
            enum:
              - CIM
              - BASIC
            type: string
          in: path
          required: true
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonGroupPermissionResponse'
          description: Permissions returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getRecursivePermissions
      summary: Returns list of person's permissions in a recursive way
  '/delegation/api/v1/persons/{idpType}/{referenceId}/permissions':
    get:
      tags:
        - Person API (Legacy)
      parameters:
        - name: idpType
          schema:
            type: string
          in: path
          required: true
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: Permissions returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getPermissions_1
      summary: Returns list of person's permissions (empty)
      description: >-
        Returns empty permissions list because all permissions are included in
        the permissions_recursive endpoint
  '/delegation/api/v1/groups/{groupId}/policies':
    get:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: The group's policies was retuned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: getGroupPolicies
      summary: Returns group's policies
      description: >-
        Returns 'Page' object with group's policies <br>Any permission on the
        group is required
  '/delegation/api/v1/groups/{groupId}/persons/search':
    get:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: Group's members were returned successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: searchGroupPersons
      summary: Returns group's member search results filtered by name
      description: >-
        Returns 'Page' object with group's members <br>Any permission on the
        group is required
  /delegation/api/v1/groups/search:
    get:
      tags:
        - Group API (Legacy)
      parameters:
        - name: person_id
          schema:
            type: string
          in: query
          required: true
        - name: idp_type
          schema:
            enum:
              - CIM
              - BASIC
            type: string
          in: query
          required: true
        - name: parent_group_id
          schema:
            format: uuid
            type: string
          in: query
          required: false
        - name: name
          schema:
            default: ''
            type: string
          in: query
          required: false
        - name: pageable
          schema:
            $ref: '#/components/schemas/Pageable'
          in: query
          required: true
      responses:
        '200':
          content:
            json:
              schema:
                $ref: '#/components/schemas/Page'
          description: Search results was successfully returned
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: searchGroups
      summary: Returns group search results
      description: >-
        Returns 'Page' object with groups that requested person (person_id,
        idp_type) has any permission for and are children of requested group
        (parent_group_id) <br>Requested group might be null, then it starts
        searching from the root
  '/delegation/api/v2/groups/{groupId}/policies/{policyId}':
    delete:
      tags:
        - Group policies API
      parameters:
        - name: groupId
          description: Identifier of the group
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: policyId
          description: Identifier of the policy
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A policy was successfully deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: removeGroupPolicy
      summary: Deletes a policy from a group
      description: '''GROUP_POLICY_MANAGE'' permission on the group is required'
  '/delegation/api/v2/groups/{groupId}/members/{personId}/policies/{policyId}':
    delete:
      tags:
        - Member policies API
      parameters:
        - name: groupId
          description: Identifier of the group which the person is member of
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: personId
          description: Identifier of the person in the identity provider (e.g. referenceId)
          schema:
            type: string
          in: path
          required: true
        - name: policyId
          description: Identifier of policy to unassign
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A policy was successfully deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: unassignPolicy
      summary: Deletes a policy from a person within a group
      description: '''PERSON_POLICY_MANAGE'' permission on the group is required'
  '/delegation/api/v2/groups/{groupId}/members/{personId}/permissions/{permission}':
    delete:
      tags:
        - Person permissions API
      parameters:
        - name: groupId
          description: Identifier of the group which the person is member of
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: personId
          description: Identifier of the person in the identity provider (e.g. referenceId)
          schema:
            type: string
          in: path
          required: true
        - name: permission
          description: Permission to unassign
          schema:
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A permission was successfully deleted
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: unassignPermission
      summary: Deletes a permission from a person within a group
      description: '''PERMISSION_MANAGE'' permission on the group is required'
  '/delegation/api/v2/external-links/{externalLinkId}':
    delete:
      tags:
        - External link API
      parameters:
        - name: externalLinkId
          description: Identifier of the external link
          schema:
            format: uuid
            type: string
          in: path
          required: true
      responses:
        '204':
          description: A group was deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      operationId: deleteExternalLink
      summary: Deletes external link
      description: Deletes a external link with given id
  '/delegation/api/v1/persons/{referenceId}':
    delete:
      tags:
        - Person API (Legacy)
      parameters:
        - name: referenceId
          description: Identifier of the person in the identity provider
          schema:
            type: string
          in: path
          required: true
      responses:
        '200':
          description: Person deleted successfully
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: deletePerson_1
      summary: Deletes a person
  '/delegation/api/v1/groups/{groupId}/persons/{referenceId}':
    delete:
      tags:
        - Group API (Legacy)
      parameters:
        - name: groupId
          schema:
            format: uuid
            type: string
          in: path
          required: true
        - name: referenceId
          schema:
            type: string
          in: path
          required: true
      responses:
        '204':
          content:
            json:
              schema:
                $ref: '#/components/schemas/LegacyPersonDto'
          description: A group's member was successfully removed
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '405':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Method Not Allowed
        '409':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '500':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
      deprecated: true
      operationId: removeGroupMember_1
      summary: Removes group member
      description: >-
        Removes group member from the given group <br>'GROUP_MEMBER_MANAGE'
        permission on the group is required
components:
  schemas:
    ErrorResponse:
      required:
        - code
        - message
      type: object
      properties:
        code:
          format: int32
          description: DABP error code
          type: integer
        message:
          description: Error message
          type: string
        details:
          description: Error details
          type: array
          items:
            description: Error details
            type: string
    UpdateResourceRequest:
      required:
        - externalId
        - name
      type: object
      properties:
        name:
          description: New name of the resource
          type: string
        externalId:
          description: New external identifier of the resource
          type: string
    UpdateResourceTypeRequest:
      required:
        - name
      type: object
      properties:
        name:
          description: Name of the resource type
          type: string
    PrivilegeDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the privilege
          type: string
        name:
          description: Name of the privilege
          type: string
    ResourceTypeDto:
      description: Resource type
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the resource type
          type: string
        name:
          description: Resource type name
          type: string
        policyId:
          format: uuid
          type: string
        availablePrivileges:
          type: array
          items:
            $ref: '#/components/schemas/PrivilegeDto'
        multiValue:
          description: >-
            Information if multiple resources of this type can be assigned to
            single member of the group
          type: boolean
    CreateOrUpdatePolicyRequest:
      description: Data to update the policy with
      required:
        - name
      type: object
      properties:
        name:
          description: Policy name
          type: string
    PolicyDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the policy
          type: string
        name:
          description: Policy name
          type: string
    UpdatePersonStatusRequest:
      required:
        - status
      type: object
      properties:
        status:
          description: Person status.
          enum:
            - INACTIVE
            - INVITED
            - ACTIVATED
          type: string
        blocked:
          description: Should person be blocked
          type: boolean
    BasicIdentityProviderConfig:
      description: Configuration for the Basic Authentication
      type: object
      allOf:
        - $ref: '#/components/schemas/IdentityProviderConfig'
    CimIdentityProviderConfig:
      description: Configuration for CIM
      required:
        - password
        - url
        - username
      type: object
      allOf:
        - $ref: '#/components/schemas/IdentityProviderConfig'
        - type: object
          properties:
            url:
              description: URL to CIM instance
              type: string
            username:
              description: Username for CIM API
              type: string
            password:
              writeOnly: true
              description: Password for CIM API as plain text
              type: string
    IdentityProviderConfig:
      discriminator:
        propertyName: idpType
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the identity provider
          type: string
        idpType:
          description: >-
            Type of the identity provider. Note that different fields exist
            depending of what type is used
          enum:
            - CIM
            - BASIC
          type: string
    UpdateGroupRequest:
      required:
        - name
      type: object
      properties:
        name:
          description: Name of the group
          type: string
        customAttributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
        policyIds:
          description: List of policy identifiers that are supported by this group
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: List of policy identifiers that are supported by this group
            type: string
        resourceIds:
          description: List of resource identifiers that are supported by this group
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: List of resource identifiers that are supported by this group
            type: string
    GroupDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the group
          type: string
        name:
          description: Name of the group
          type: string
        parentId:
          format: uuid
          description: Identifier of the parent group
          type: string
        customAttributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
        childGroupsIds:
          description: Identifiers of all children groups
          type: array
          items:
            format: uuid
            description: Identifiers of all children groups
            type: string
        membersCount:
          format: int64
          description: Number of all group's members
          type: integer
    ResourcePrivilegeDto:
      description: >-
        List of resources to assign to the member. The permission
        'PERSON_RESOURCE_MANAGE' is required if the list isn't empty
      type: object
      properties:
        resourceId:
          format: uuid
          type: string
        privilegeId:
          format: uuid
          type: string
    UpdateMemberDto:
      type: object
      properties:
        permissions:
          description: >-
            Permissions to assign to the member. The permission
            'PERMISSION_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            description: >-
              Permissions to assign to the member. The permission
              'PERMISSION_MANAGE' is required if the list isn't empty
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
        policyIds:
          description: >-
            List of policy identifiers to assign to the member. The permission
            'PERSON_POLICY_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: >-
              List of policy identifiers to assign to the member. The permission
              'PERSON_POLICY_MANAGE' is required if the list isn't empty
            type: string
        resources:
          description: >-
            List of resources to assign to the member. The permission
            'PERSON_RESOURCE_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ResourcePrivilegeDto'
    AddMemberDto:
      required:
        - personId
      type: object
      properties:
        permissions:
          description: >-
            Permissions to assign to the member. The permission
            'PERMISSION_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            description: >-
              Permissions to assign to the member. The permission
              'PERMISSION_MANAGE' is required if the list isn't empty
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
        policyIds:
          description: >-
            List of policy identifiers to assign to the member. The permission
            'PERSON_POLICY_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: >-
              List of policy identifiers to assign to the member. The permission
              'PERSON_POLICY_MANAGE' is required if the list isn't empty
            type: string
        resources:
          description: >-
            List of resources to assign to the member. The permission
            'PERSON_RESOURCE_MANAGE' is required if the list isn't empty
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/ResourcePrivilegeDto'
        personId:
          description: Identifier of the person in the identity provider (e.g. referenceId)
          type: string
    ExternalLinkDto:
      description: Data to create the external link with
      required:
        - language
        - text
        - url
      type: object
      properties:
        id:
          format: uuid
          description: External link ID
          type: string
        text:
          description: The text as shown in the navigation
          type: string
        url:
          description: Location to which the link goes
          type: string
        language:
          description: For which language this link should be shown (e.g. en or nl)
          type: string
    UpdateBasicAuthUser:
      required:
        - password
      type: object
      properties:
        password:
          writeOnly: true
          description: Password in plain text
          type: string
    BasicAuthUser:
      required:
        - username
      type: object
      properties:
        username:
          description: Username in plain text
          type: string
    LegacyUpdateGroupRequest:
      required:
        - name
      type: object
      properties:
        name:
          description: Name of the group
          type: string
        custom_attributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
    LegacyGroupDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the group
          type: string
        name:
          description: Name of the group
          type: string
        parent_groups_ids:
          description: Identifier of the parent group
          type: array
          items:
            format: uuid
            description: Identifier of the parent group
            type: string
        custom_attributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
        child_groups_ids:
          description: Identifiers of its children groups
          type: array
          items:
            format: uuid
            description: Identifiers of its children groups
            type: string
    UpdateCustomAttributeRequest:
      required:
        - value
      type: object
      properties:
        value:
          description: Value of the custom attribute
          type: string
    CreateTenantRequest:
      type: object
      properties:
        tenantId:
          format: uuid
          description: Identifier that should be used for the tenant
          type: string
    CreateResourceRequest:
      required:
        - externalId
        - name
        - resourceTypeId
      type: object
      properties:
        name:
          description: Name of the resource
          type: string
        externalId:
          description: External identifier of the resource
          type: string
        resourceTypeId:
          format: uuid
          description: ID of the resource type it is attached to
          type: string
    CreatePrivilegeDto:
      description: List of attached privileges
      type: object
      properties:
        name:
          type: string
    CreateResourceTypeRequest:
      required:
        - name
      type: object
      properties:
        name:
          description: Name of the resource type
          type: string
        policyId:
          format: uuid
          description: ID of the policy it is attached to
          type: string
        availablePrivileges:
          description: List of attached privileges
          type: array
          items:
            $ref: '#/components/schemas/CreatePrivilegeDto'
        multiValue:
          description: >-
            Information if multiple resources of this type can be assigned to
            single member of the group
          type: boolean
    CreatePersonRequest:
      type: object
      properties:
        email:
          description: Email address.
          type: string
        firstName:
          description: First name. Is required if last name or phone number exists.
          type: string
        lastName:
          description: Last name. Is required if first name or phone number exists.
          type: string
        phoneNumber:
          description: Phone number. Is required if first name or last name exists.
          type: string
    PersonDetailsDto:
      type: object
      properties:
        firstName:
          description: First name
          type: string
        lastName:
          description: Last name
          type: string
        lastNamePrefix:
          description: Last name prefix
          type: string
        initials:
          description: Initials
          type: string
        gender:
          description: Gender
          type: string
        email:
          description: Email address
          type: string
        phoneNumber:
          description: Phone number with parts hidden (e.g +31*****456
          type: string
        status:
          description: Status in identity provider
          type: string
        personId:
          description: Identifier of the person in the identity provider (e.g. referenceId)
          type: string
    CreateGroupRequest:
      required:
        - name
      type: object
      properties:
        name:
          description: Name of the group
          type: string
        customAttributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
        policyIds:
          description: List of policy identifiers that are supported by this group
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: List of policy identifiers that are supported by this group
            type: string
        resourceIds:
          description: List of resource identifiers that are supported by this group
          uniqueItems: true
          type: array
          items:
            format: uuid
            description: List of resource identifiers that are supported by this group
            type: string
    AddGroupPolicyRequest:
      type: object
      properties:
        policyId:
          format: uuid
          description: Identifier of the policy
          type: string
    AssignPolicyRequest:
      type: object
      properties:
        policyId:
          format: uuid
          description: Identifier of the policy to assign
          type: string
    AssignPermissionRequest:
      type: object
      properties:
        permission:
          description: Permission to assign to the member
          enum:
            - GROUP_MANAGE
            - GROUP_POLICY_MANAGE
            - GROUP_RESOURCE_MANAGE
            - PERMISSION_MANAGE
            - PERSON_POLICY_MANAGE
            - PERSON_RESOURCE_MANAGE
            - GROUP_MEMBER_MANAGE
            - POLICY_MANAGE
            - RESOURCE_MANAGE
          type: string
    CreateBasicAuthUser:
      required:
        - password
        - username
      type: object
      properties:
        username:
          description: Username in plain text
          type: string
        password:
          writeOnly: true
          description: Password in plain text
          type: string
    LegacyPersonDto:
      required:
        - first_name
        - last_name
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the person in DABP
          type: string
        idp_type:
          deprecated: true
          description: Type of the Identity providers which stores the identity
          type: string
        person_id:
          deprecated: true
          description: Identifier of the person in the identity provider (referenceId)
          type: string
        first_name:
          description: First name
          type: string
        last_name:
          description: Last name
          type: string
        email:
          description: E-mail address
          type: string
        phone:
          description: Phone number
          type: string
    LegacyPolicyDto:
      description: Policies to unassign from groups or persons
      required:
        - scopes
        - subject
      type: object
      properties:
        id:
          description: Identifier of the policy
          type: string
        name:
          description: Name of the policy
          type: string
        principal:
          $ref: '#/components/schemas/LegacyPersonDto'
        parent_id:
          description: >-
            Policy parent id. The field exist for legacy reasons and is not
            used.
          type: string
        subject:
          $ref: '#/components/schemas/SubjectDto'
        assignee_id:
          description: >-
            Identifier of the person the policy deals with. The field is null if
            the subject is a group.The Identifier is for the person in the
            identity provider (e.g. referenceId).
          type: string
        scopes:
          description: List containing the identifier of the policy
          uniqueItems: true
          type: array
          items:
            description: List containing the identifier of the policy
            type: string
    PolicyBatchUpdateRequest:
      type: object
      properties:
        create:
          description: Policies to assign to groups or persons
          type: array
          items:
            $ref: '#/components/schemas/LegacyPolicyDto'
        delete:
          description: Policies to unassign from groups or persons
          type: array
          items:
            $ref: '#/components/schemas/LegacyPolicyDto'
    SubjectDto:
      description: Subject that the policy is for
      required:
        - subject_id
      type: object
      properties:
        subject_id:
          format: uuid
          description: Identifier of the subject
          type: string
        type:
          description: Type of the subject
          enum:
            - GROUP
            - PERSON
          type: string
    CreateSubGroupRequest:
      required:
        - name
        - parent_group_id
      type: object
      properties:
        parent_group_id:
          format: uuid
          description: Identifier of the parent group
          type: string
        name:
          description: Name of the group
          type: string
        custom_attributes:
          description: Custom attributes as key-value pairs
          type: object
          additionalProperties:
            description: Custom attributes as key-value pairs
            type: string
    LegacyCreatePersonRequest:
      required:
        - first_name
        - idp_type
        - last_name
        - person_id
      type: object
      properties:
        person_id:
          deprecated: true
          description: Identifier of the person in the identity provider (e.g. referenceId)
          type: string
        idp_type:
          deprecated: true
          description: Type of the identity provider
          enum:
            - CIM
            - BASIC
          type: string
        first_name:
          description: First name
          type: string
        last_name:
          description: Last name
          type: string
        email:
          description: E-mail address
          type: string
        phone:
          description: Phone number
          type: string
    PermissionsBatchUpdateRequest:
      type: object
      properties:
        create:
          description: Permissions to assign
          uniqueItems: true
          type: array
          items:
            description: Permissions to assign
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
        delete:
          description: Permissions to unassign
          uniqueItems: true
          type: array
          items:
            description: Permissions to unassign
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
    Page:
      type: object
      properties:
        total_pages:
          format: int32
          type: integer
        total_elements:
          format: int64
          type: integer
        sort:
          $ref: '#/components/schemas/Sort'
        first:
          type: boolean
        last:
          type: boolean
        size:
          format: int32
          type: integer
        content:
          type: array
          items:
            type: object
        number:
          format: int32
          type: integer
        number_of_elements:
          format: int32
          type: integer
        pageable:
          $ref: '#/components/schemas/PageableObject'
        empty:
          type: boolean
    PageableObject:
      type: object
      properties:
        sort:
          $ref: '#/components/schemas/Sort'
        offset:
          format: int64
          type: integer
        page_number:
          format: int32
          type: integer
        page_size:
          format: int32
          type: integer
        unpaged:
          type: boolean
        paged:
          type: boolean
    Sort:
      type: object
      properties:
        empty:
          type: boolean
        unsorted:
          type: boolean
        sorted:
          type: boolean
    AddCustomAttributeRequest:
      required:
        - name
        - value
      type: object
      properties:
        name:
          description: Name of the custom attribute
          type: string
        value:
          description: Value of the custom attribute
          type: string
    Pageable:
      type: object
      properties:
        page:
          format: int32
          minimum: 0
          type: integer
        size:
          format: int32
          minimum: 1
          type: integer
        sort:
          type: array
          items:
            type: string
    ResourceDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the resource
          type: string
        name:
          description: Resource name
          type: string
        externalId:
          description: External Identifier
          type: string
        resourceType:
          $ref: '#/components/schemas/ResourceTypeDto'
        type:
          type: string
    GroupAttribute:
      description: List of group attributes
      type: object
      properties:
        name:
          description: Attribute name
          type: string
        value:
          description: Attribute value
          type: string
    PersonReport:
      type: object
      properties:
        groups:
          description: List of group and group policies user has access to
          type: array
          items:
            $ref: '#/components/schemas/PersonReportGroupInfo'
    PersonReportGroupInfo:
      description: List of group and group policies user has access to
      type: object
      properties:
        id:
          format: uuid
          description: Group ID
          type: string
        name:
          description: Group name
          type: string
        attributes:
          description: List of group attributes
          type: array
          items:
            $ref: '#/components/schemas/GroupAttribute'
        policies:
          description: List of policies in the group that person is connected to
          type: array
          items:
            $ref: '#/components/schemas/PersonReportGroupPolicy'
        resources:
          description: List of resources in the group that person is connected to
          type: array
          items:
            $ref: '#/components/schemas/PersonReportGroupResource'
    PersonReportGroupPolicy:
      description: List of policies in the group that person is connected to
      type: object
      properties:
        id:
          format: uuid
          description: >-
            ID of the policy connected to person. The field is excluded for
            artificial policies
          type: string
        name:
          description: Policy name
          type: string
    PersonReportGroupResource:
      description: List of resources in the group that person is connected to
      type: object
      properties:
        id:
          format: uuid
          description: ID of the resource connected to person
          type: string
        name:
          description: Resource name
          type: string
        externalId:
          description: External Identifier
          type: string
        privilege:
          description: Privilege assigned to person on the resource
          type: string
        resourceType:
          $ref: '#/components/schemas/ResourceTypeBasicDto'
    ResourceTypeBasicDto:
      description: Resource type
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the resource type
          type: string
        name:
          description: Resource type name
          type: string
    PageResponsePersonGroupPermissionResponse:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/PersonGroupPermissionResponse'
        totalElements:
          format: int64
          type: integer
    PersonGroupPermissionResponse:
      type: object
      properties:
        groupId:
          format: uuid
          description: Identifier of the group
          type: string
        permissions:
          description: Permissions given to the group
          uniqueItems: true
          type: array
          items:
            description: Permissions given to the group
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
    GroupSearchDto:
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the group
          type: string
        parentId:
          format: uuid
          description: Identifier of its parent group
          type: string
        name:
          description: Name of the group
          type: string
        subgroupsCount:
          format: int64
          description: Number of all subgroups
          type: integer
        membersCount:
          format: int64
          description: Number of all group's members
          type: integer
    PageResponseGroupSearchDto:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupSearchDto'
        totalElements:
          format: int64
          type: integer
    PageResponseResourceDto:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ResourceDto'
        totalElements:
          format: int64
          type: integer
    PageResponseUUID:
      type: object
      properties:
        content:
          type: array
          items:
            format: uuid
            type: string
        totalElements:
          format: int64
          type: integer
    PageResponseGroupDto:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/GroupDto'
        totalElements:
          format: int64
          type: integer
    PersonDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
        firstName:
          type: string
        lastName:
          type: string
        referenceId:
          type: string
        identityProviderId:
          format: uuid
          type: string
    FeatureDto:
      type: object
      properties:
        featureName:
          enum:
            - RESOURCES_ENABLED
            - DETAILED_CIM_INVITE_ENABLED
            - NOTIFY_MEMBER_ADDED_TO_GROUP_ENABLED
            - NOTIFY_SUPERUSER_WHEN_MEMBER_ADDED_TO_GROUP_ENABLED
            - PERSON_STATUS_ON_LIST_ENABLED
            - DELETE_PERSON_WITHOUT_MEMBERSHIPS_ENABLED
            - SHOW_GROUP_CUSTOM_ATTRIBUTES_ENABLED
            - INCLUDE_SUBGROUPS_IN_V2_PERSON_REPORT
          type: string
        enabled:
          type: boolean
    ExternalLinksResponse:
      type: object
      properties:
        content:
          description: External links
          type: array
          items:
            $ref: '#/components/schemas/ExternalLinkDto'
    LegacyPersonDto_PersonAware:
      required:
        - first_name
        - last_name
      type: object
      properties:
        id:
          format: uuid
          description: Identifier of the person in DABP
          type: string
        idp_type:
          deprecated: true
          description: Type of the Identity providers which stores the identity
          type: string
        person_id:
          deprecated: true
          description: Identifier of the person in the identity provider (referenceId)
          type: string
        first_name:
          description: First name
          type: string
        last_name:
          description: Last name
          type: string
        email:
          description: E-mail address
          type: string
        phone:
          description: Phone number
          type: string
    PersonReportCustomAttributeDto_PersonAware:
      description: List of customer attributes for the group
      type: object
      properties:
        name:
          description: Name of the custom attribute
          type: string
        value:
          description: Value of the custom attribute
          type: string
    PersonReportDto_PersonAware:
      type: object
      properties:
        person:
          $ref: '#/components/schemas/LegacyPersonDto_PersonAware'
        policies:
          description: Policies assigned to the person
          type: array
          items:
            $ref: '#/components/schemas/PersonReportPolicyDto_PersonAware'
        group_permissions:
          description: List of permissions the person have for groups
          type: array
          items:
            $ref: '#/components/schemas/PersonReportGroupPermissionDto_PersonAware'
    PersonReportGroupPermissionDto_PersonAware:
      description: List of permissions the person have for groups
      type: object
      properties:
        id:
          description: Identifier of the group
          type: string
        permissions:
          description: List of permissions for the group
          uniqueItems: true
          type: array
          items:
            description: List of permissions for the group
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
        custom_attributes:
          description: List of customer attributes for the group
          type: array
          items:
            $ref: '#/components/schemas/PersonReportCustomAttributeDto_PersonAware'
    PersonReportPolicyDto_PersonAware:
      description: Policies assigned to the person
      type: object
      properties:
        id:
          description: Identifier of the policy
          type: string
        name:
          description: Name of the policy
          type: string
        scopes:
          description: A list that contains one identifier of a policy
          type: array
          items:
            description: A list that contains one identifier of a policy
            type: string
        subject:
          $ref: '#/components/schemas/SubjectDto_PersonAware'
    SubjectDto_PersonAware:
      description: The subject this policy is assigned to
      required:
        - subject_id
      type: object
      properties:
        subject_id:
          format: uuid
          description: Identifier of the subject
          type: string
        type:
          description: Type of the subject
          enum:
            - GROUP
            - PERSON
          type: string
    PersonReportCustomAttributeDto_PersonUnaware:
      description: List of customer attributes for the group
      type: object
      properties:
        name:
          description: Name of the custom attribute
          type: string
        value:
          description: Value of the custom attribute
          type: string
    PersonReportDto_PersonUnaware:
      type: object
      properties:
        policies:
          description: Policies assigned to the person
          type: array
          items:
            $ref: '#/components/schemas/PersonReportPolicyDto_PersonUnaware'
        group_permissions:
          description: List of permissions the person have for groups
          type: array
          items:
            $ref: '#/components/schemas/PersonReportGroupPermissionDto_PersonUnaware'
    PersonReportGroupPermissionDto_PersonUnaware:
      description: List of permissions the person have for groups
      type: object
      properties:
        id:
          description: Identifier of the group
          type: string
        permissions:
          description: List of permissions for the group
          uniqueItems: true
          type: array
          items:
            description: List of permissions for the group
            enum:
              - GROUP_MANAGE
              - GROUP_POLICY_MANAGE
              - GROUP_RESOURCE_MANAGE
              - PERMISSION_MANAGE
              - PERSON_POLICY_MANAGE
              - PERSON_RESOURCE_MANAGE
              - GROUP_MEMBER_MANAGE
              - POLICY_MANAGE
              - RESOURCE_MANAGE
            type: string
        custom_attributes:
          description: List of customer attributes for the group
          type: array
          items:
            $ref: '#/components/schemas/PersonReportCustomAttributeDto_PersonUnaware'
    PersonReportPolicyDto_PersonUnaware:
      description: Policies assigned to the person
      type: object
      properties:
        id:
          description: Identifier of the policy
          type: string
        name:
          description: Name of the policy
          type: string
        scopes:
          description: A list that contains one identifier of a policy
          type: array
          items:
            description: A list that contains one identifier of a policy
            type: string
        subject:
          $ref: '#/components/schemas/SubjectDto_PersonUnaware'
    SubjectDto_PersonUnaware:
      description: The subject this policy is assigned to
      required:
        - subject_id
      type: object
      properties:
        subject_id:
          format: uuid
          description: Identifier of the subject
          type: string
        type:
          description: Type of the subject
          enum:
            - GROUP
            - PERSON
          type: string
    CustomAttributeFilter:
      type: object
      properties:
        attribute_key:
          description: Name of the custom attribute
          type: string
        attribute_value:
          description: Value of the custom attribute
          type: string
    PageLegacyGroupDto:
      type: object
      properties:
        total_pages:
          format: int32
          type: integer
        total_elements:
          format: int64
          type: integer
        sort:
          $ref: '#/components/schemas/Sort'
        first:
          type: boolean
        last:
          type: boolean
        size:
          format: int32
          type: integer
        content:
          type: array
          items:
            $ref: '#/components/schemas/LegacyGroupDto'
        number:
          format: int32
          type: integer
        number_of_elements:
          format: int32
          type: integer
        pageable:
          $ref: '#/components/schemas/PageableObject'
        empty:
          type: boolean
tags:
  - name: Static Resource API
    description: Get a list of all external resources like the palette and logo.
  - name: Translations API
    description: Get a list of all translation files
  - name: Resource API
    description: Operations Resource
  - name: Policy API
    description: Allows to control policies
  - name: ResourceType API
    description: Operations ResourceTypes
  - name: Basic Auth User API
    description: Allows to control basic auth users
  - name: Person permissions API
    description: Allows to control person's permissions within a group
  - name: Logged-In User API
    description: Operations on DABP logged-in user
  - name: Group API (Legacy)
    description: Contains v1 endpoints supporting the old dum-app
  - name: Tenant API
    description: Allows to control tenants
  - name: Scope API (Legacy)
    description: Contains v1 endpoints supporting the old dum-app
  - name: Group API
    description: Operations on DABP groups
  - name: Group resources API
    description: Allows to control groups resources
  - name: Member policies API
    description: Allows to control person's policies within a group
  - name: Idp configuration API
    description: Allows to control identity provider configurations
  - name: Person API (Legacy)
    description: Contains v1 endpoints supporting the old dum-app
  - name: External link API
    description: Operations External links
  - name: Group policies API
    description: Allows to control group's policies
  - name: Person API
    description: Operations on DABP people
  - name: Policy API (Legacy)
    description: Contains v1 endpoints supporting the old dum-app
  - name: Feature toggle API
    description: Operations Feature Toggles
  - name: Group members API
    description: Allows to manage group members
