openapi: 3.2.0 info: title: Fenergo Nebula Audit Query Authorization API description: The Audit Query API enables the retrieval of audit event data related to various activities within the system. version: '3.0' servers: - url: /auditquery security: - Bearer: [] tags: - name: Authorization paths: /api/v3/authorization/users: post: tags: - Authorization summary: Retrieve users audit events description: 'This method accepts a list of User IDs and returns relevant Audit Events related to the user about teams and access layers Required permissions: Following permissions are required: AuditAccessAndSearch' operationId: GetUsersAuditEvents parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: description: Users Audit Event Summaries Request content: application/json: schema: allOf: - $ref: '#/components/schemas/GetUsersAuditEventsRequestDtoServiceRequest' responses: '200': description: Success. The list of summarized audit events is returned content: application/json: schema: $ref: '#/components/schemas/GetUsersAuditEventsResultDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '413': description: Payload Too Large content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: The amount of data requested is too large. Please request smaller data set. type: Error errorCode: PAYLOAD_TOO_LARGE '500': description: Internal server error '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT /api/v3/authorization/teams: post: tags: - Authorization summary: Retrieve teams audit events description: 'This method accepts a list of team IDs and returns relevant Audit Events related to the team about users and permissions Required permissions: Following permissions are required: AuditAccessAndSearch' operationId: GetTeamsAuditEvents parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: description: Teams Audit Event Summaries Request content: application/json: schema: allOf: - $ref: '#/components/schemas/GetTeamsAuditEventsRequestDtoServiceRequest' responses: '200': description: Success. The list of summarized audit events is returned content: application/json: schema: $ref: '#/components/schemas/GetTeamsAuditEventsResultDtoServiceResponse' '400': description: Bad request. The request has missing/invalid values content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '413': description: Payload Too Large content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: The amount of data requested is too large. Please request smaller data set. type: Error errorCode: PAYLOAD_TOO_LARGE '500': description: Internal server error '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT components: schemas: GetUsersAuditEventsResultDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/GetUsersAuditEventsResultDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false UserItemDto: type: object properties: id: type: - string - 'null' description: User identifier. example: ddad1d17-3788-4efc-aaa7-da15e2cb1367 userName: type: - string - 'null' description: User name example: John Doe additionalProperties: false GetUsersAuditEventsResultDto: type: object properties: items: type: - array - 'null' items: $ref: '#/components/schemas/UsersAuditResultDto' description: Items for the current page. totalItems: type: integer description: Total count of items. format: int64 example: 1 additionalProperties: false GetUsersAuditEventsRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/GetUsersAuditEventsRequestDto' additionalProperties: false UserFiltersDto: type: object properties: eventType: enum: - UserAdded - UserRemoved - UserUnassignedFromAccessLayer - UserAssignedToAccessLayer type: - string - 'null' description: EventType for the user associated with the event example: UserAdded from: type: - string - 'null' description: Date from format: date-time example: '2022-08-10' to: type: - string - 'null' description: Date to (must be greater than from date) format: date-time example: '2022-08-11' additionalProperties: false TeamFiltersDto: type: object properties: eventType: enum: - TeamCreated - TeamUpdated - TeamDeleted - UserAdded - UserRemoved type: - string - 'null' description: EventType for the team associated with the event example: TeamUpdated from: type: - string - 'null' description: Date from format: date-time example: '2022-08-10' to: type: - string - 'null' description: Date to (must be greater than from date) format: date-time example: '2022-08-11' additionalProperties: false GetTeamsAuditEventsResultDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/GetTeamsAuditEventsResultDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false PagerDto: type: object properties: size: type: integer format: int32 exclusiveMinimum: 0 from: minimum: 0 type: integer format: int32 sortBy: type: - string - 'null' sortOrder: allOf: - $ref: '#/components/schemas/SortOrder' additionalProperties: false SortOrder: enum: - Ascending - Descending type: string GetUsersAuditEventsRequestDto: type: object properties: ids: type: - array - 'null' items: type: string description: The list of UserIds you want to include as part of the query example: - 7304b842-769f-4c22-9499-7c5d069ffb8f - ad6cf1b0-0925-4d65-98e7-a4e7901cce46 - abb80516-3914-4366-a061-2f10e018fdeb pager: allOf: - $ref: '#/components/schemas/PagerDto' description: A pager object to specify pagination parameters example: size: 10 from: 0 sortBy: date sortOrder: Descending filters: allOf: - $ref: '#/components/schemas/UserFiltersDto' description: 'Request DTO to specify optional query filters ' additionalProperties: false GetTeamsAuditEventsRequestDto: type: object properties: ids: type: - array - 'null' items: type: string description: The list of TeamsIds you want to include as part of the query example: - 7304b842-769f-4c22-9499-7c5d069ffb8f - ad6cf1b0-0925-4d65-98e7-a4e7901cce46 - abb80516-3914-4366-a061-2f10e018fdeb pager: allOf: - $ref: '#/components/schemas/PagerDto' description: A pager object to specify pagination parameters example: size: 10 from: 0 sortBy: date sortOrder: Descending filters: allOf: - $ref: '#/components/schemas/TeamFiltersDto' description: 'Request DTO to specify optional query filters ' additionalProperties: false ItemDto: type: object properties: id: type: - string - 'null' description: Team or Access Layer identifier. additionalProperties: false ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code GetTeamsAuditEventsResultDto: type: object properties: items: type: - array - 'null' items: $ref: '#/components/schemas/TeamsAuditResultDto' description: Items for the current page. totalItems: type: integer description: Total count of items. format: int64 example: 1 additionalProperties: false ObjectServiceResponse: type: object properties: data: {} messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false StringServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false GetTeamsAuditEventsRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/GetTeamsAuditEventsRequestDto' additionalProperties: false ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false UsersAuditResultDto: type: object properties: userId: type: - string - 'null' description: User id for which the change took place. changedBy: type: - string - 'null' description: User id who made the change. updatedOn: type: string description: Date when this event happened. format: date-time eventName: type: - string - 'null' description: Event name that was performed (e.g., Team Added, Team Removed). accessLayersAdded: type: - array - 'null' items: $ref: '#/components/schemas/ItemDto' description: Array of items added to access layers. accessLayersRemoved: type: - array - 'null' items: $ref: '#/components/schemas/ItemDto' description: Array of items removed from access layers. teamsAdded: type: - array - 'null' items: $ref: '#/components/schemas/ItemDto' description: Array of teams added. teamsRemoved: type: - array - 'null' items: $ref: '#/components/schemas/ItemDto' description: Array of teams removed. additionalProperties: false ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false TeamsAuditResultDto: type: object properties: teamId: type: - string - 'null' description: User id for which the change took place. changedBy: type: - string - 'null' description: User id who made the change. updatedOn: type: string description: Date when this event happened. format: date-time eventName: type: - string - 'null' description: Event name that was performed (e.g., Team Created, Team Updated). permissionsAdded: type: - array - 'null' items: type: string description: Array of items added to permissions. permissionsRemoved: type: - array - 'null' items: type: string description: Array of items removed from permissions. usersAdded: type: - array - 'null' items: $ref: '#/components/schemas/UserItemDto' description: Array of items added to users. usersRemoved: type: - array - 'null' items: $ref: '#/components/schemas/UserItemDto' description: Array of items removed from users. fieldsHistory: type: - array - 'null' items: $ref: '#/components/schemas/AuditFieldChangeDto' description: Entity Before and After values for fields additionalProperties: false AuditFieldChangeDto: type: object properties: fieldName: type: - string - 'null' description: Field name oldValue: type: - string - 'null' description: Field old value newValue: type: - string - 'null' description: Field new value itemOrdinal: type: - integer - 'null' description: '1-based position of the collection item this change belongs to. Only set when the owning data group holds more than one item, so consumers can tell same-named columns apart without exposing the internal item identifier.' format: int32 additionalProperties: false description: DTO representing screening audit match field change securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header