openapi: 3.2.0 info: title: Trustarc Permission Profiles API version: v1 description: 'Operations tagged PermissionProfiles across 2 of this provider''s published API definitions: trustarc-guardian-openapi.json, trustarc-guardian-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://login.truste.com description: Generated server url tags: - name: PermissionProfiles paths: /api/v1/permission-profiles/{id}: get: tags: - PermissionProfiles operationId: get_7 parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PermissionProfile' security: - guardianAuth: [] put: tags: - PermissionProfiles operationId: update_6 parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/PermissionProfile' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PermissionProfile' security: - guardianAuth: [] delete: tags: - PermissionProfiles operationId: delete_5 parameters: - name: id in: path required: true schema: type: string format: uuid responses: '204': description: No Content security: - guardianAuth: [] servers: - url: https://login.truste.com description: Generated server url /api/v1/permission-profiles: get: tags: - PermissionProfiles operationId: list_6 parameters: - name: accountId in: query required: false schema: type: string default: '' - name: name in: query required: false schema: type: string default: '' - name: page in: query description: Results page you want to retrieve (0..N). schema: default: 0 minimum: 0 - name: size in: query description: Number of recods per page. schema: default: 10 minimum: 1 - name: sort in: query description: 'Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.' schema: type: array items: {} responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PagePermissionProfile' security: - guardianAuth: [] post: tags: - PermissionProfiles operationId: create_6 requestBody: content: application/json: schema: $ref: '#/components/schemas/PermissionProfile' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/PermissionProfile' security: - guardianAuth: [] servers: - url: https://login.truste.com description: Generated server url /api/v1/permission-profiles/{id}/users: get: tags: - PermissionProfiles operationId: findUsers parameters: - name: id in: path required: true schema: type: string format: uuid - name: page in: query description: Results page you want to retrieve (0..N). schema: default: 0 minimum: 0 - name: size in: query description: Number of recods per page. schema: default: 10 minimum: 1 - name: sort in: query description: 'Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.' schema: type: array items: {} responses: '200': description: OK content: '*/*': schema: type: array items: $ref: '#/components/schemas/SimpleUserPermission' security: - guardianAuth: [] post: tags: - PermissionProfiles operationId: updateUserPermissions parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: type: array items: type: string required: true responses: '204': description: No Content security: - guardianAuth: [] delete: tags: - PermissionProfiles operationId: removeUserPermissions parameters: - name: id in: path required: true schema: type: string format: uuid requestBody: content: application/json: schema: type: array items: type: string required: true responses: '204': description: No Content security: - guardianAuth: [] servers: - url: https://login.truste.com description: Generated server url /api/v1/permission-profiles/authorities: get: tags: - PermissionProfiles operationId: authorities parameters: - name: accountId in: query required: false schema: type: string default: '' - name: permissionIds in: query required: false schema: type: array default: [] items: type: string format: uuid responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/AuthoritiesOnly' security: - guardianAuth: [] servers: - url: https://login.truste.com description: Generated server url /api/v1/permission-profiles/{id}/users/{userId}: delete: tags: - PermissionProfiles operationId: removeUserPermission parameters: - name: id in: path required: true schema: type: string format: uuid - name: userId in: path required: true schema: type: string responses: '204': description: No Content security: - guardianAuth: [] servers: - url: https://login.truste.com description: Generated server url components: schemas: SimpleUserPermission: properties: id: type: string username: type: string firstName: type: string lastName: type: string permissionProfileIds: type: array items: type: string format: uuid uniqueItems: true SortObject: properties: empty: type: boolean sorted: type: boolean unsorted: type: boolean PermissionProfile: properties: id: type: string format: uuid name: type: string externalId: type: string applicationRoles: type: array items: $ref: '#/components/schemas/ClientApplicationRole' uniqueItems: true userGroups: type: array items: $ref: '#/components/schemas/PermissionProfileUserGroup' uniqueItems: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time modifiedById: type: string userCount: type: integer format: int64 accountId: type: string PageableObject: properties: paged: type: boolean pageNumber: type: integer format: int32 pageSize: type: integer format: int32 offset: type: integer format: int64 sort: $ref: '#/components/schemas/SortObject' unpaged: type: boolean PagePermissionProfile: properties: totalElements: type: integer format: int64 totalPages: type: integer format: int32 pageable: $ref: '#/components/schemas/PageableObject' size: type: integer format: int32 content: type: array items: $ref: '#/components/schemas/PermissionProfile' number: type: integer format: int32 sort: $ref: '#/components/schemas/SortObject' first: type: boolean last: type: boolean numberOfElements: type: integer format: int32 empty: type: boolean PermissionProfileUserGroup: properties: name: type: string clientId: type: string permissionProfileId: type: string format: uuid writeOnly: true ClientApplicationRole: properties: id: type: string identifier: type: string name: type: string description: type: string permissions: type: string UserGroup: properties: name: type: string clientId: type: string applicationClientId: type: string AuthoritiesOnly: properties: roles: type: array items: $ref: '#/components/schemas/ClientApplicationRole' uniqueItems: true userGroups: type: array items: $ref: '#/components/schemas/UserGroup' uniqueItems: true securitySchemes: guardianAuth: type: oauth2 scheme: bearer bearerFormat: JWT flows: implicit: authorizationUrl: https://login.truste.com/oauth/authorize tokenUrl: https://login.truste.com/oauth/token scopes: openid: OpenID x-refined-from: - trustarc-guardian-openapi.json - trustarc-guardian-openapi.yml