openapi: 3.2.0 info: title: Cesnet Audit Messages Manager API version: 0.0.0 contact: url: https://perun-aai.org email: perun@cesnet.cz description: 'Operations tagged AuditMessagesManager across 2 of this provider''s published API definitions: cesnet-perun-rpc-openapi.yml, cesnet-perun-rpc-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed security: - BasicAuth: [] - BearerAuth: [] tags: - name: AuditMessagesManager description: AuditMessage RPC API in Perun externalDocs: url: https://perun-aai.org/documentation/technical-documentation/rpc-api/rpc-javadoc-AuditMessagesManager.html paths: /json/auditMessagesManager/getMessages: get: tags: - AuditMessagesManager operationId: getMessages summary: Returns 100 newest audit messages from auditLOG. parameters: - name: count in: query schema: type: integer description: Messages limit required: false responses: '200': $ref: '#/components/responses/ListOfAuditMessagesResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getMessagesByCount: get: tags: - AuditMessagesManager operationId: getMessagesByCount summary: Returns all messages with IDs within the range from max(ID) to (max(ID)-count)… parameters: - name: count in: query schema: type: integer description: Number of IDs to subtract from max_id required: true responses: '200': $ref: '#/components/responses/ListOfAuditMessagesResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getMessagesByIdAndCount: get: tags: - AuditMessagesManager operationId: getMessagesByIdAndCount summary: Returns "count" number of messages that are more or equal than the given ID… parameters: - name: id in: query schema: type: integer description: Starting id from which the messages will be taken required: true - name: count in: query schema: type: integer description: Number of messages that will be returned required: true responses: '200': $ref: '#/components/responses/ListOfAuditMessagesResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getMessagesPage: post: tags: - AuditMessagesManager operationId: getMessagesPage summary: Get page of audit messages. Total count is only estimated responses: '200': $ref: '#/components/responses/PaginatedMessagesResponse' default: $ref: '#/components/responses/ExceptionResponse' requestBody: required: true content: application/json: schema: title: InputGetMessagesPage description: input to get messages page type: object required: - query properties: query: $ref: '#/components/schemas/AuditMessagesPageQuery' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/pollConsumerMessages: get: tags: - AuditMessagesManager operationId: pollConsumerMessages summary: Returns list of AuditMessages from audit log with IDs > lastProcessedId for… parameters: - $ref: '#/components/parameters/consumerName' responses: '200': $ref: '#/components/responses/ListOfAuditMessagesResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /urlinjsonout/auditMessagesManager/setLastProcessedId: post: tags: - AuditMessagesManager operationId: setLastProcessedId summary: Set ID of last processed message for specified consumer parameters: - $ref: '#/components/parameters/consumerName' - name: lastProcessedId in: query schema: type: integer description: id of message to what consumer will be set required: true responses: '200': $ref: '#/components/responses/VoidResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /urlinjsonout/auditMessagesManager/createAuditerConsumer: post: tags: - AuditMessagesManager operationId: createAuditerConsumer summary: Creates new auditer consumer with last processed id which equals current… parameters: - $ref: '#/components/parameters/consumerName' responses: '200': $ref: '#/components/responses/VoidResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getAllAuditerConsumers: get: tags: - AuditMessagesManager operationId: getAllAuditerConsumers summary: Get all auditer consumers as a map with key=value pairs like… responses: '200': description: map with key=value pairs like String(name)=Integer(lastProcessedId) content: application/json: schema: type: object additionalProperties: type: integer default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getLastMessageId: get: tags: - AuditMessagesManager operationId: getLastMessageId summary: Get ID of last (newest) message in auditer logs responses: '200': $ref: '#/components/responses/IntegerResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/getAuditerMessagesCount: get: tags: - AuditMessagesManager operationId: getAuditerMessagesCount summary: Get count of all messages stored in auditer logs responses: '200': $ref: '#/components/responses/IntegerResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /urlinjsonout/auditMessagesManager/log: post: tags: - AuditMessagesManager operationId: auditMessagesManagerLog summary: Log arbitrary auditer message/event to the auditLOG parameters: - name: msg in: query schema: type: string description: Message to be logged required: true responses: '200': $ref: '#/components/responses/VoidResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed /json/auditMessagesManager/findAllPossibleEvents: get: tags: - AuditMessagesManager operationId: findAllPossibleEvents summary: Get list of names of all possible events responses: '200': $ref: '#/components/responses/ListOfStringsResponse' default: $ref: '#/components/responses/ExceptionResponse' servers: - url: https://{server}/{authentication}/rpc description: Perun RPC server variables: server: default: api-dev.perun-aai.org description: DNS name of a Perun server authentication: default: ba description: 'way of authentication: ba - HTTP Basic Auth krb - Kerberos non - no authentication cert - X509 client certificate oauth - OAuth 2.0 bearer access token fed - SAML federation ' enum: - ba - krb - non - cert - oauth - fed components: responses: PaginatedMessagesResponse: description: returns Paginated content: application/json: schema: $ref: '#/components/schemas/PaginatedAuditMessages' VoidResponse: description: returns nothing ExceptionResponse: description: exception occurred content: application/json: schema: $ref: '#/components/schemas/PerunException' ListOfAuditMessagesResponse: description: returns List content: application/json: schema: type: array items: $ref: '#/components/schemas/AuditMessage' IntegerResponse: description: returns Integer content: application/json: schema: type: integer ListOfStringsResponse: description: returns List content: application/json: schema: type: array items: type: string schemas: Facility: allOf: - $ref: '#/components/schemas/Auditable' properties: name: type: string description: type: - string - 'null' uuid: type: string format: uuid PerunBean: description: identifiable entity in Perun, common ancestor of all entity classes type: object properties: id: type: integer beanName: type: string required: - id - beanName discriminator: propertyName: beanName AttributeDefinition: allOf: - $ref: '#/components/schemas/Auditable' properties: friendlyName: type: string namespace: type: string description: type: - string - 'null' type: type: string displayName: type: string writable: type: boolean unique: type: boolean friendlyNameParameter: type: string readOnly: true baseFriendlyName: type: string readOnly: true entity: type: string readOnly: true Vo: allOf: - $ref: '#/components/schemas/Auditable' properties: name: type: string shortName: type: string uuid: type: string format: uuid Service: allOf: - $ref: '#/components/schemas/Auditable' properties: name: type: string description: type: string delay: type: integer recurrence: type: integer enabled: type: boolean script: type: string useExpiredMembers: type: boolean useExpiredVoMembers: type: boolean useBannedMembers: type: boolean Resource: allOf: - $ref: '#/components/schemas/Auditable' properties: name: type: string description: type: string voId: type: integer facilityId: type: integer uuid: type: string format: uuid PaginatedAuditMessages: properties: offset: type: integer pageSize: type: integer totalCount: type: integer data: type: array items: $ref: '#/components/schemas/AuditMessage' required: - offset - pageSize - totalCount - data UserExtSource: description: represents specific user authentication or identification in external source of data allOf: - $ref: '#/components/schemas/Auditable' properties: login: type: string userId: type: integer loa: type: integer persistent: type: boolean lastAccess: type: string format: timestamp description: SQL timestamp example: '2012-01-01 00:00:00.100000' extSource: $ref: '#/components/schemas/ExtSource' required: - login - extSource Group: allOf: - $ref: '#/components/schemas/Auditable' type: - object - 'null' properties: name: type: string shortName: type: string description: type: - string - 'null' voId: type: integer parentGroupId: type: - integer - 'null' uuid: type: string format: uuid AuditMessage: type: object properties: event: $ref: '#/components/schemas/AuditEvent' id: type: integer actor: type: string createdAt: type: string createdByUid: type: integer PerunException: description: exception thrown from inside of Perun type: object properties: errorId: type: string name: type: string message: type: string AuditEvent: type: object properties: attribute: $ref: '#/components/schemas/AttributeDefinition' extSource: $ref: '#/components/schemas/ExtSource' source: $ref: '#/components/schemas/ExtSource' facility: $ref: '#/components/schemas/Facility' group: $ref: '#/components/schemas/Group' parentGroup: $ref: '#/components/schemas/Group' member: $ref: '#/components/schemas/Member' resource: $ref: '#/components/schemas/Resource' service: $ref: '#/components/schemas/Service' user: $ref: '#/components/schemas/User' userExtSource: $ref: '#/components/schemas/UserExtSource' vo: $ref: '#/components/schemas/Vo' name: type: string message: type: string ExtSource: description: represents external source of data for users such as an IdP or an HR database allOf: - $ref: '#/components/schemas/Auditable' properties: name: type: string type: type: string Auditable: description: represents audit information allOf: - $ref: '#/components/schemas/PerunBean' properties: createdAt: type: - string - 'null' createdBy: type: - string - 'null' modifiedAt: type: - string - 'null' modifiedBy: type: - string - 'null' createdByUid: type: - integer - 'null' modifiedByUid: type: - integer - 'null' AuditMessagesPageQuery: properties: pageSize: type: integer offset: type: integer order: $ref: '#/components/schemas/SortingOrder' selectedEvents: type: array items: type: string required: - pageSize - offset - order - selectedEvents SortingOrder: type: string enum: - ASCENDING - DESCENDING User: description: represents user as a physical person allOf: - $ref: '#/components/schemas/Auditable' properties: firstName: type: - string - 'null' lastName: type: - string - 'null' middleName: type: - string - 'null' titleBefore: type: - string - 'null' titleAfter: type: - string - 'null' serviceUser: type: boolean sponsoredUser: type: boolean uuid: type: string format: uuid specificUser: type: boolean majorSpecificType: type: string Member: description: represents Member of a Virtual Organization allOf: - $ref: '#/components/schemas/Auditable' properties: userId: type: integer voId: type: integer status: type: string membershipType: type: string dualMembership: type: boolean sourceGroupId: type: - integer - 'null' sponsored: type: boolean groupStatus: type: string groupStatuses: type: object additionalProperties: type: string parameters: consumerName: name: consumerName description: name of the audit message consumer schema: type: string in: query required: true securitySchemes: BasicAuth: description: HTTP Basic authentication with username and password type: http scheme: basic BearerAuth: description: 'OAuth2 Resource Server authentication using access token in ''Authorization: Bearer'' HTTP header' type: http scheme: bearer x-refined-from: - cesnet-perun-rpc-openapi.yml - cesnet-perun-rpc-openapi.yml