{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/atlar/main/json-schema/atlar-audit-log-entry-schema.json", "title": "AuditLogEntry", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/atlar-api-v2-openapi.yml#/components/schemas/AuditLogEntry", "type": "object", "properties": { "id": { "$ref": "#/$defs/ResourceID" }, "organizationId": { "$ref": "#/$defs/OrganizationID", "description": "ID of the organization that the user has logged in to, or performing an action towards. Not set when it's not possible to determine the organization, e.g. when the user doesn't exist or the user doesn't have any memberships. Note that the user does not have to be authenticated to perform an action towards an organization, e.g. when signing up or when in the process of authenticating towards the organization." }, "userId": { "$ref": "#/$defs/ResourceID", "description": "ID of the user that performed the action. Not set when it isn't possible to determine the user, e.g. when the user doesn't exist. Note that the user might not be authenticated when performing the action, e.g. when signing up or when in the process of authenticating." }, "roleId": { "$ref": "#/$defs/ResourceID", "description": "ID of the role that the user has logged in as when performing the action. Not set when it isn't possible to determine the role, e.g. when the user has not yet logged in to any organization." }, "sessionId": { "$ref": "#/$defs/ResourceID", "description": "ID of the session that the action was performed in." }, "requestId": { "type": "string", "description": "ID of the request that triggered the action." }, "actionTimestamp": { "type": "string", "format": "date-time", "description": "Timestamp when the action was performed." }, "details": { "oneOf": [ { "$ref": "#/$defs/AuditLogEntrySignUpSucceededDetails" }, { "$ref": "#/$defs/AuditLogEntrySignUpFailedDetails" }, { "$ref": "#/$defs/AuditLogEntrySignUpEmailConfirmationResentDetails" }, { "$ref": "#/$defs/AuditLogEntrySignUpEmailConfirmationSucceededDetails" }, { "$ref": "#/$defs/AuditLogEntrySignUpEmailConfirmationFailedDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepPasswordSucceededDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepPasswordFailedDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepSSOSucceededDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepSSOFailedDetails" }, { "$ref": "#/$defs/AuditLogEntryMFACredentialCreatedDetails" }, { "$ref": "#/$defs/AuditLogEntryMFACredentialDeletedDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepMFASucceededDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginStepMFAFailedDetails" }, { "$ref": "#/$defs/AuditLogEntryLoginDetails" }, { "$ref": "#/$defs/AuditLogEntryPasswordResetSentDetails" }, { "$ref": "#/$defs/AuditLogEntryPasswordResetSucceededDetails" }, { "$ref": "#/$defs/AuditLogEntryPasswordResetFailedDetails" } ], "description": "Details of the action that was performed. The details are specific to the type of action." }, "version": { "$ref": "#/$defs/ResourceVersion" }, "etag": { "$ref": "#/$defs/ETag" }, "created": { "$ref": "#/$defs/CreatedTimestamp" } }, "required": [ "id", "sessionId", "requestId", "actionTimestamp", "details", "version", "etag", "created" ], "additionalProperties": false, "$defs": { "AuditLogEntryLoginDetails": { "type": "object", "description": "Login represents a user logging into an organization with a specific role specified by the membership. Note that this happens after the user has been authenticated, which is a separate entry.", "properties": { "type": { "$ref": "#/$defs/AuditLogEntryType" }, "roleId": { "$ref": "#/$defs/ResourceID", "description": "ID of the role that the user logged in as." } }, "required": [ "type", "roleId" ] }, "AuditLogEntryLoginStepMFAFailedDetails": { "type": "object", "description": "A user authentication using MFA has failed. See reason for more details.", "properties": { "type": { "$ref": "#/$defs/AuditLogEntryType" }, "reason": { "$ref": "#/$defs/AuditLogEntryLoginStepMFAFailedReason", "description": "The reason why the identity provider authentication failed.
SESSION_EXPIRED The user took to long to complete the\nauthentication. For security\n\n\n\n\n\n reasons, the authentication session is expired.MFA_FAILED The authentication failed. Reason could\nbe that the challenge response wasn't\n\n\n\n\n\n signed with the correct private key.CLIENT_ERROR The authenticator or browser reported\na failure before a credential\n\n\n\n\n\n assertion could be obtained (e.g. user cancelled, no authenticator\navailable, or a transport\n\n\n\n\n\n error occurred).USER_DOES_NOT_EXIST No user with the provided username\nexist. The user needs to sign\n\n\n\n\n\n up.PASSWORD_INCORRECT The password provided is not correct\nfor the user. If the user has\n\n\n\n\n\n forgotten their password, they can reset their password.EMAIL_ADDRESS_NOT_CONFIRMED The user's email address\nhas not been confirmed. When signing\n\n\n\n\n\n up, the user will get an email with a confirmation link. It's possible\nto request this email to be\n\n\n\n\n\n resent.PASSWORD_RESET_REQUIRED Provided password cannot be\nused for security reasons. Reasons\n\n\n\n\n\n could be that the password is commonly used or has been compromised\nin a data breach. The user needs to\n\n\n\n\n\n reset their password.USER_BLOCKED The user has been blocked from logging\nin by Atlar. Reason is unknown and\n\n\n\n\n\n might differ case-by-case.IDENTITY_PROVIDER_DISABLED The identity provider used\nto log in is currently not enabled\n\n\n\n\n\n to be used.EMAIL_ADDRESS_DOMAIN_NOT_ALLOWED For security reasons,\nthe email address domain is not\n\n\n\n\n\n allowed to be used with the identity provider.INVITATION_REQUIRED The user needs to be invited before\nlogging in.EMAIL_ADDRESS_NOT_MATCHING_INVITATION The email address\ndoes not match the email address\n\n\n\n\n\n in the invitation.USER_BLOCKED The user has been blocked from logging\nin by Atlar. Reason is unknown and\n\n\n\n\n\n might differ case-by-case.CONFIRMATION_CODE_INVALID The confirmation code is\nnot a valid one for this user.CONFIRMATION_CODE_EXPIRED The confirmation code is\nvalid, but has expired.PASSWORD_INVALID Provided password cannot be used for\nsecurity reasons. Reasons could be\n\n\n\n\n\n that the password is commonly used or has been compromised in a data\nbreach.CONFIRMATION_CODE_INVALID The confirmation code is\nnot a valid one for this user.CONFIRMATION_CODE_EXPIRED The confirmation code is\nvalid, but has expired.USER_ALREADY_EXISTS The user has already signed up.\nThe user needs to log in or reset\n\n\n\n\n\n their password.PASSWORD_INVALID Provided password cannot be used for\nsecurity reasons. Reasons could be\n\n\n\n\n\n that the password is commonly used or has been compromised in a data\nbreach.