openapi: 3.2.0 info: title: Jans Lock Lock - Audit Log API contact: name: Contact url: https://github.com/JanssenProject/jans/discussions license: name: License url: https://github.com/JanssenProject/jans/blob/main/LICENSE version: OAS Version servers: - url: https://jans.local.io description: The Jans server tags: - name: Lock - Audit Log paths: /api/v1/audit/log/bulk: post: tags: - Lock - Audit Log summary: Bulk save log data operationId: processBulkLogRequest requestBody: description: Bulk log entry content: application/json: schema: type: array items: $ref: '#/components/schemas/LogEntry' responses: '200': description: Ok '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/LockApiError' '401': description: Unauthorized '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/LockApiError' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/LockApiError' security: - oauth2: - https://jans.io/oauth/lock/log.write /api/v1/audit/log: post: tags: - Lock - Audit Log summary: Save log data operationId: processLogRequest requestBody: description: Log entry content: application/json: schema: $ref: '#/components/schemas/LogEntry' responses: '200': description: Ok '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/LockApiError' '401': description: Unauthorized '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/LockApiError' '500': description: InternalServerError content: application/json: schema: $ref: '#/components/schemas/LockApiError' security: - oauth2: - https://jans.io/oauth/lock/log.write components: schemas: LockApiError: type: object properties: code: type: string message: type: string description: type: string LogEntry: type: object properties: dn: type: string baseDn: type: string inum: type: string creationDate: type: string description: Creation date of the entry format: date-time example: 2026-07-24 15:33:02.937000+00:00 eventTime: type: string description: Time when the event occurred format: date-time example: 2026-07-24 15:33:02.937000+00:00 service: type: string description: Service name example: Lock Server nodeName: type: string description: Node name or identifier example: 04bbe9ef-a853-417c-a2b8-5328b62936e2 eventType: type: string description: Type of event example: Decision severityLevel: type: string description: Severity level example: warning enum: - info - warning - error - critical action: type: string description: Action performed example: Jans::Action::"POST" decisionResult: type: string description: Decision result example: ALLOW enum: - ALLOW - DENY requestedResource: type: string description: Requested resource identifier example: Jans::HTTP_Request::"lock_audit_log_write" principalId: type: string description: Principal (user) identifier example: ACC0001 clientId: type: string description: Client identifier example: CLI001 jti: type: string description: JWT ID - unique identifier for the token example: 550e8400-e29b-41d4-a716-446655440000 contextInformation: type: object additionalProperties: type: string description: Additional context information as key-value pairs description: Additional context information as key-value pairs description: Log audit entry securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://{op-hostname}/.../token scopes: https://jans.io/oauth/lock/policy.readonly: View policy related information https://jans.io/oauth/lock/health.write: Write audit health entries https://jans.io/oauth/lock/log.write: Write audit log entries https://jans.io/oauth/lock/telemetry.write: Write telemetry health entries https://jans.io/oauth/lock/stat.readonly: View stat related information