View Source ExOpenAI.Components.AuditLog (ex_openai.ex v2.0.0-beta2)
A log of a user action or configuration change within this organization.
Fields
:actor- required -ExOpenAI.Components.AuditLogActor.t():api_key.created- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:scopes]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:api_key.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:api_key.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:scopes]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:certificate.created- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:certificate.deleted- optional -{:%{}, [], [{{:optional, [], [:certificate]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:certificate.updated- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:certificates.activated- optional -{:%{}, [], [{{:optional, [], [:certificates]}, {:list, [], [{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}]}}]}
The details for events with thistype.:certificates.deactivated- optional -{:%{}, [], [{{:optional, [], [:certificates]}, {:list, [], [{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}]}}]}
The details for events with thistype.:checkpoint.permission.created- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:fine_tuned_model_checkpoint]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:project_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The project and fine-tuned model checkpoint that the checkpoint permission was created for.:checkpoint.permission.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:effective_at- required -integer()
The Unix timestamp (in seconds) of the event.:external_key.registered- optional -{:%{}, [], [{{:optional, [], [:data]}, {:map, [], []}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:external_key.removed- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:group.created- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:group_name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:group.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:group.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:group_name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:id- required -String.t()
The ID of this log.:invite.accepted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:invite.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:invite.sent- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:email]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:role]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:ip_allowlist.config.activated- optional -{:%{}, [], [{{:optional, [], [:configs]}, {:list, [], [{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}]}}]}
The details for events with thistype.:ip_allowlist.config.deactivated- optional -{:%{}, [], [{{:optional, [], [:configs]}, {:list, [], [{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}]}}]}
The details for events with thistype.:ip_allowlist.created- optional -{:%{}, [], [{{:optional, [], [:allowed_ips]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:ip_allowlist.deleted- optional -{:%{}, [], [{{:optional, [], [:allowed_ips]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:ip_allowlist.updated- optional -{:%{}, [], [{{:optional, [], [:allowed_ips]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:login.failed- optional -{:%{}, [], [{{:optional, [], [:error_code]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:error_message]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:login.succeeded- optional -map()
This event has no additional fields beyond the standard audit log attributes.:logout.failed- optional -{:%{}, [], [{{:optional, [], [:error_code]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:error_message]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:logout.succeeded- optional -map()
This event has no additional fields beyond the standard audit log attributes.:organization.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:api_call_logging]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:api_call_logging_project_ids]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:description]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:threads_ui_visibility]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:title]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:usage_dashboard_visibility]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:project- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The project that the action was scoped to. Absent for actions not scoped to projects. Note that any admin actions taken via Admin API keys are associated with the default project.:project.archived- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:project.created- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:title]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:project.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:project.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:title]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:rate_limit.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:rate_limit.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:batch_1_day_max_input_tokens]}, {:integer, [], []}}, {{:optional, [], [:max_audio_megabytes_per_1_minute]}, {:integer, [], []}}, {{:optional, [], [:max_images_per_1_minute]}, {:integer, [], []}}, {{:optional, [], [:max_requests_per_1_day]}, {:integer, [], []}}, {{:optional, [], [:max_requests_per_1_minute]}, {:integer, [], []}}, {{:optional, [], [:max_tokens_per_1_minute]}, {:integer, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:role.assignment.created- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:principal_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:principal_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:role.assignment.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:principal_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:principal_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:role.created- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:permissions]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:resource_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:role_name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:role.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:role.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:description]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:metadata]}, {:map, [], []}}, {{:optional, [], [:permissions_added]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:permissions_removed]}, {:list, [], [{{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}]}}, {{:optional, [], [:resource_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:resource_type]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:role_name]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:scim.disabled- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:scim.enabled- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:service_account.created- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:role]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:service_account.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:service_account.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:role]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:type- required -ExOpenAI.Components.AuditLogEventType.t():user.added- optional -{:%{}, [], [{{:optional, [], [:data]}, {:%{}, [], [{{:optional, [], [:role]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:user.deleted- optional -{:%{}, [], [{{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.:user.updated- optional -{:%{}, [], [{{:optional, [], [:changes_requested]}, {:%{}, [], [{{:optional, [], [:role]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}}, {{:optional, [], [:id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}]}
The details for events with thistype.
Summary
Types
@type t() :: %ExOpenAI.Components.AuditLog{ actor: ExOpenAI.Components.AuditLogActor.t(), "api_key.created": %{ optional(:data) => %{optional(:scopes) => [String.t()]}, optional(:id) => String.t() } | nil, "api_key.deleted": %{optional(:id) => String.t()} | nil, "api_key.updated": %{ optional(:changes_requested) => %{optional(:scopes) => [String.t()]}, optional(:id) => String.t() } | nil, "certificate.created": %{optional(:id) => String.t(), optional(:name) => String.t()} | nil, "certificate.deleted": %{ optional(:certificate) => String.t(), optional(:id) => String.t(), optional(:name) => String.t() } | nil, "certificate.updated": %{optional(:id) => String.t(), optional(:name) => String.t()} | nil, "certificates.activated": %{ optional(:certificates) => [ %{optional(:id) => String.t(), optional(:name) => String.t()} ] } | nil, "certificates.deactivated": %{ optional(:certificates) => [ %{optional(:id) => String.t(), optional(:name) => String.t()} ] } | nil, "checkpoint.permission.created": %{ optional(:data) => %{ optional(:fine_tuned_model_checkpoint) => String.t(), optional(:project_id) => String.t() }, optional(:id) => String.t() } | nil, "checkpoint.permission.deleted": %{optional(:id) => String.t()} | nil, effective_at: integer(), "external_key.registered": %{optional(:data) => map(), optional(:id) => String.t()} | nil, "external_key.removed": %{optional(:id) => String.t()} | nil, "group.created": %{ optional(:data) => %{optional(:group_name) => String.t()}, optional(:id) => String.t() } | nil, "group.deleted": %{optional(:id) => String.t()} | nil, "group.updated": %{ optional(:changes_requested) => %{optional(:group_name) => String.t()}, optional(:id) => String.t() } | nil, id: String.t(), "invite.accepted": %{optional(:id) => String.t()} | nil, "invite.deleted": %{optional(:id) => String.t()} | nil, "invite.sent": %{ optional(:data) => %{ optional(:email) => String.t(), optional(:role) => String.t() }, optional(:id) => String.t() } | nil, "ip_allowlist.config.activated": %{ optional(:configs) => [ %{optional(:id) => String.t(), optional(:name) => String.t()} ] } | nil, "ip_allowlist.config.deactivated": %{ optional(:configs) => [ %{optional(:id) => String.t(), optional(:name) => String.t()} ] } | nil, "ip_allowlist.created": %{ optional(:allowed_ips) => [String.t()], optional(:id) => String.t(), optional(:name) => String.t() } | nil, "ip_allowlist.deleted": %{ optional(:allowed_ips) => [String.t()], optional(:id) => String.t(), optional(:name) => String.t() } | nil, "ip_allowlist.updated": %{optional(:allowed_ips) => [String.t()], optional(:id) => String.t()} | nil, "login.failed": %{ optional(:error_code) => String.t(), optional(:error_message) => String.t() } | nil, "login.succeeded": map() | nil, "logout.failed": %{ optional(:error_code) => String.t(), optional(:error_message) => String.t() } | nil, "logout.succeeded": map() | nil, "organization.updated": %{ optional(:changes_requested) => %{ optional(:api_call_logging) => String.t(), optional(:api_call_logging_project_ids) => String.t(), optional(:description) => String.t(), optional(:name) => String.t(), optional(:threads_ui_visibility) => String.t(), optional(:title) => String.t(), optional(:usage_dashboard_visibility) => String.t() }, optional(:id) => String.t() } | nil, project: %{optional(:id) => String.t(), optional(:name) => String.t()} | nil, "project.archived": %{optional(:id) => String.t()} | nil, "project.created": %{ optional(:data) => %{ optional(:name) => String.t(), optional(:title) => String.t() }, optional(:id) => String.t() } | nil, "project.deleted": %{optional(:id) => String.t()} | nil, "project.updated": %{ optional(:changes_requested) => %{optional(:title) => String.t()}, optional(:id) => String.t() } | nil, "rate_limit.deleted": %{optional(:id) => String.t()} | nil, "rate_limit.updated": %{ optional(:changes_requested) => %{ optional(:batch_1_day_max_input_tokens) => integer(), optional(:max_audio_megabytes_per_1_minute) => integer(), optional(:max_images_per_1_minute) => integer(), optional(:max_requests_per_1_day) => integer(), optional(:max_requests_per_1_minute) => integer(), optional(:max_tokens_per_1_minute) => integer() }, optional(:id) => String.t() } | nil, "role.assignment.created": %{ optional(:id) => String.t(), optional(:principal_id) => String.t(), optional(:principal_type) => String.t(), optional(:resource_id) => String.t(), optional(:resource_type) => String.t() } | nil, "role.assignment.deleted": %{ optional(:id) => String.t(), optional(:principal_id) => String.t(), optional(:principal_type) => String.t(), optional(:resource_id) => String.t(), optional(:resource_type) => String.t() } | nil, "role.created": %{ optional(:id) => String.t(), optional(:permissions) => [String.t()], optional(:resource_id) => String.t(), optional(:resource_type) => String.t(), optional(:role_name) => String.t() } | nil, "role.deleted": %{optional(:id) => String.t()} | nil, "role.updated": %{ optional(:changes_requested) => %{ optional(:description) => String.t(), optional(:metadata) => map(), optional(:permissions_added) => [String.t()], optional(:permissions_removed) => [String.t()], optional(:resource_id) => String.t(), optional(:resource_type) => String.t(), optional(:role_name) => String.t() }, optional(:id) => String.t() } | nil, "scim.disabled": %{optional(:id) => String.t()} | nil, "scim.enabled": %{optional(:id) => String.t()} | nil, "service_account.created": %{ optional(:data) => %{optional(:role) => String.t()}, optional(:id) => String.t() } | nil, "service_account.deleted": %{optional(:id) => String.t()} | nil, "service_account.updated": %{ optional(:changes_requested) => %{optional(:role) => String.t()}, optional(:id) => String.t() } | nil, type: ExOpenAI.Components.AuditLogEventType.t(), "user.added": %{ optional(:data) => %{optional(:role) => String.t()}, optional(:id) => String.t() } | nil, "user.deleted": %{optional(:id) => String.t()} | nil, "user.updated": %{ optional(:changes_requested) => %{optional(:role) => String.t()}, optional(:id) => String.t() } | nil }