{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/auditLog",
  "title": "auditLog",
  "type": "object",
  "required": [
    "id",
    "timestamp",
    "event",
    "status",
    "actor",
    "metadata"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the audit log entry",
      "example": "aud-123456789"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time",
      "description": "When the event occurred (ISO 8601 format)",
      "example": "2023-10-01T12:00:00Z"
    },
    "event": {
      "type": "string",
      "description": "The type of event that occurred",
      "example": "CreateServerEvent",
      "enum": [
        "AcceptOrgInviteEvent",
        "AcceptTeamInviteEvent",
        "AddOrgMemberEvent",
        "ApplyBlueprintEvent",
        "ChangeEnvironmentProtectionEvent",
        "ChangeOrg2FAEnforcementEvent",
        "ChangeOrgAllowedLoginMethodsEvent",
        "ChangeOrgRoleEvent",
        "ChangeTeam2FAEnforcementEvent",
        "ChangeTeamAllowedLoginMethodsEvent",
        "ChangeTeamMemberRoleEvent",
        "ChangeWorkspaceDeployHandlingEvent",
        "ChangeWorkspacePrivacyEvent",
        "CreateCronJobEvent",
        "CreateEnvVarsEvent",
        "CreateEnvironmentEvent",
        "CreateOrgDomainEvent",
        "CreateOtelIntegrationEvent",
        "CreatePostgresEvent",
        "CreatePrivateLinkEvent",
        "CreateProjectEvent",
        "CreateRedisEvent",
        "CreateSSOConnectionEvent",
        "CreateServerDiskEvent",
        "CreateServerEvent",
        "CreateWebhookEvent",
        "CreateWorkspaceEvent",
        "DeleteCronJobEvent",
        "DeleteEnvGroupEvent",
        "DeleteEnvVarsEvent",
        "DeleteEnvironmentEvent",
        "DeleteOrgDomainEvent",
        "DeleteOtelIntegrationEvent",
        "DeletePostgresEvent",
        "DeletePrivateLinkEvent",
        "DeleteProjectEvent",
        "DeleteRedisEvent",
        "DeleteSSOConnectionEvent",
        "DeleteServerDiskEvent",
        "DeleteServerEvent",
        "DeleteWebhookEvent",
        "DeleteWorkspaceEvent",
        "DocumentDownloadEvent",
        "DownloadDatabaseBackupEvent",
        "EnableRedisInternalAuthEvent",
        "InviteToOrgEvent",
        "InviteToTeamEvent",
        "JoinTeamEvent",
        "LoginEvent",
        "LogoutEvent",
        "MaintenanceModeEnabledEvent",
        "MaintenanceModeURIUpdatedEvent",
        "MoveEnvironmentResourceEvent",
        "ProvisionOrganizationSCIMToken",
        "RemoveOrgMemberEvent",
        "RemoveUserFromTeamEvent",
        "RestoreDiskSnapshotEvent",
        "ResumePostgresEvent",
        "ResumeServiceEvent",
        "RevokeOrganizationSCIMToken",
        "SignNDAEvent",
        "EndShellEvent",
        "StartShellEvent",
        "SuspendPostgresEvent",
        "SuspendServiceEvent",
        "UpdateEnvVarsEvent",
        "UpdateIPAllowListEvent",
        "UpdateOtelIntegrationEvent",
        "UpdateSSOConnectionEvent",
        "UpdateServiceNameEvent",
        "UpdateWebhookEvent",
        "VerifyOrgDomainEvent",
        "ViewConnectionInfoEvent",
        "ViewEnvVarValuesEvent"
      ]
    },
    "status": {
      "type": "string",
      "description": "The status of the event",
      "example": "success",
      "enum": [
        "success",
        "error"
      ]
    },
    "actor": {
      "$ref": "#/components/schemas/auditLogActor"
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Additional context information about the event",
      "example": {
        "service": "srv-123456789",
        "field": "env_vars"
      }
    }
  }
}