# Audit Logs

**Audit Logs** allows Auditors to monitor user operations in their deployment.

<Callout type="info" title="Note">
  Audit logs require a
  [Premium license](https://coder.com/pricing#compare-plans).
  For more details, [contact your account team](https://coder.com/contact).
</Callout>

## Tracked Events

We track the following resources:

| <b>Resource<b>                                                    |                                                                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------------------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| APIKey<br /><i>login, logout, register, create, write, delete</i> | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>allow\_list</td><td>false</td></tr><tr><td>created\_at</td><td>true</td></tr><tr><td>expires\_at</td><td>true</td></tr><tr><td>hashed\_secret</td><td>false</td></tr><tr><td>id</td><td>false</td></tr><tr><td>ip\_address</td><td>false</td></tr><tr><td>last\_used</td><td>true</td></tr><tr><td>lifetime\_seconds</td><td>false</td></tr><tr><td>login\_type</td><td>false</td></tr><tr><td>scopes</td><td>false</td></tr><tr><td>token\_name</td><td>false</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| AiSeatState<br /><i>create</i>                                    | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>first\_used\_at</td><td>true</td></tr><tr><td>last\_event\_description</td><td>true</td></tr><tr><td>last\_event\_type</td><td>true</td></tr><tr><td>last\_used\_at</td><td>false</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| AuditOAuthConvertState<br /><i></i>                               | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>true</td></tr><tr><td>expires\_at</td><td>true</td></tr><tr><td>from\_login\_type</td><td>true</td></tr><tr><td>to\_login\_type</td><td>true</td></tr><tr><td>user\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Group<br /><i>create, write, delete</i>                           | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>avatar\_url</td><td>true</td></tr><tr><td>chat\_spend\_limit\_micros</td><td>true</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>members</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>quota\_allowance</td><td>true</td></tr><tr><td>source</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| AuditableOrganizationMember<br /><i></i>                          | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>roles</td><td>true</td></tr><tr><td>updated\_at</td><td>true</td></tr><tr><td>user\_id</td><td>true</td></tr><tr><td>username</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Chat<br /><i>create, write</i>                                    | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>agent\_id</td><td>false</td></tr><tr><td>archived</td><td>true</td></tr><tr><td>build\_id</td><td>false</td></tr><tr><td>client\_type</td><td>false</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>dynamic\_tools</td><td>false</td></tr><tr><td>heartbeat\_at</td><td>false</td></tr><tr><td>id</td><td>true</td></tr><tr><td>labels</td><td>true</td></tr><tr><td>last\_error</td><td>false</td></tr><tr><td>last\_injected\_context</td><td>false</td></tr><tr><td>last\_model\_config\_id</td><td>false</td></tr><tr><td>last\_read\_message\_id</td><td>false</td></tr><tr><td>mcp\_server\_ids</td><td>true</td></tr><tr><td>mode</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>owner\_id</td><td>true</td></tr><tr><td>parent\_chat\_id</td><td>false</td></tr><tr><td>pin\_order</td><td>true</td></tr><tr><td>plan\_mode</td><td>false</td></tr><tr><td>root\_chat\_id</td><td>false</td></tr><tr><td>started\_at</td><td>false</td></tr><tr><td>status</td><td>false</td></tr><tr><td>title</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>worker\_id</td><td>false</td></tr><tr><td>workspace\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| CustomRole<br /><i></i>                                           | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>false</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>id</td><td>false</td></tr><tr><td>is\_system</td><td>false</td></tr><tr><td>member\_permissions</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>org\_permissions</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>site\_permissions</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_permissions</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| GitSSHKey<br /><i>create</i>                                      | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>false</td></tr><tr><td>private\_key</td><td>true</td></tr><tr><td>public\_key</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| GroupSyncSettings<br /><i></i>                                    | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>auto\_create\_missing\_groups</td><td>true</td></tr><tr><td>field</td><td>true</td></tr><tr><td>legacy\_group\_name\_mapping</td><td>false</td></tr><tr><td>mapping</td><td>true</td></tr><tr><td>regex\_filter</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| HealthSettings<br /><i></i>                                       | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>dismissed\_healthchecks</td><td>true</td></tr><tr><td>id</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| License<br /><i>create, delete</i>                                | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>exp</td><td>true</td></tr><tr><td>id</td><td>false</td></tr><tr><td>jwt</td><td>false</td></tr><tr><td>uploaded\_at</td><td>true</td></tr><tr><td>uuid</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| NotificationTemplate<br /><i></i>                                 | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>actions</td><td>true</td></tr><tr><td>body\_template</td><td>true</td></tr><tr><td>enabled\_by\_default</td><td>true</td></tr><tr><td>group</td><td>true</td></tr><tr><td>id</td><td>false</td></tr><tr><td>kind</td><td>true</td></tr><tr><td>method</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>title\_template</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| NotificationsSettings<br /><i></i>                                | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>id</td><td>false</td></tr><tr><td>notifier\_paused</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| OAuth2ProviderApp<br /><i></i>                                    | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>callback\_url</td><td>true</td></tr><tr><td>client\_id\_issued\_at</td><td>false</td></tr><tr><td>client\_secret\_expires\_at</td><td>true</td></tr><tr><td>client\_type</td><td>true</td></tr><tr><td>client\_uri</td><td>true</td></tr><tr><td>contacts</td><td>true</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>dynamically\_registered</td><td>true</td></tr><tr><td>grant\_types</td><td>true</td></tr><tr><td>icon</td><td>true</td></tr><tr><td>id</td><td>false</td></tr><tr><td>jwks</td><td>true</td></tr><tr><td>jwks\_uri</td><td>true</td></tr><tr><td>logo\_uri</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>policy\_uri</td><td>true</td></tr><tr><td>redirect\_uris</td><td>true</td></tr><tr><td>registration\_access\_token</td><td>true</td></tr><tr><td>registration\_client\_uri</td><td>true</td></tr><tr><td>response\_types</td><td>true</td></tr><tr><td>scope</td><td>true</td></tr><tr><td>software\_id</td><td>true</td></tr><tr><td>software\_version</td><td>true</td></tr><tr><td>token\_endpoint\_auth\_method</td><td>true</td></tr><tr><td>tos\_uri</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| OAuth2ProviderAppSecret<br /><i></i>                              | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>app\_id</td><td>false</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>display\_secret</td><td>false</td></tr><tr><td>hashed\_secret</td><td>false</td></tr><tr><td>id</td><td>false</td></tr><tr><td>last\_used\_at</td><td>false</td></tr><tr><td>secret\_prefix</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Organization<br /><i></i>                                         | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>false</td></tr><tr><td>deleted</td><td>true</td></tr><tr><td>description</td><td>true</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>icon</td><td>true</td></tr><tr><td>id</td><td>false</td></tr><tr><td>is\_default</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>shareable\_workspace\_owners</td><td>true</td></tr><tr><td>updated\_at</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| OrganizationSyncSettings<br /><i></i>                             | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>assign\_default</td><td>true</td></tr><tr><td>field</td><td>true</td></tr><tr><td>mapping</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| PrebuildsSettings<br /><i></i>                                    | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>id</td><td>false</td></tr><tr><td>reconciliation\_paused</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| RoleSyncSettings<br /><i></i>                                     | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>field</td><td>true</td></tr><tr><td>mapping</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| TaskTable<br /><i></i>                                            | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>false</td></tr><tr><td>deleted\_at</td><td>false</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>owner\_id</td><td>true</td></tr><tr><td>prompt</td><td>true</td></tr><tr><td>template\_parameters</td><td>true</td></tr><tr><td>template\_version\_id</td><td>true</td></tr><tr><td>workspace\_id</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Template<br /><i>write, delete</i>                                | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>active\_version\_id</td><td>true</td></tr><tr><td>activity\_bump</td><td>true</td></tr><tr><td>allow\_user\_autostart</td><td>true</td></tr><tr><td>allow\_user\_autostop</td><td>true</td></tr><tr><td>allow\_user\_cancel\_workspace\_jobs</td><td>true</td></tr><tr><td>autostart\_block\_days\_of\_week</td><td>true</td></tr><tr><td>autostop\_requirement\_days\_of\_week</td><td>true</td></tr><tr><td>autostop\_requirement\_weeks</td><td>true</td></tr><tr><td>cors\_behavior</td><td>true</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>created\_by</td><td>true</td></tr><tr><td>created\_by\_avatar\_url</td><td>false</td></tr><tr><td>created\_by\_name</td><td>false</td></tr><tr><td>created\_by\_username</td><td>false</td></tr><tr><td>default\_ttl</td><td>true</td></tr><tr><td>deleted</td><td>false</td></tr><tr><td>deprecated</td><td>true</td></tr><tr><td>description</td><td>true</td></tr><tr><td>disable\_module\_cache</td><td>true</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>failure\_ttl</td><td>true</td></tr><tr><td>group\_acl</td><td>true</td></tr><tr><td>icon</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>max\_port\_sharing\_level</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>organization\_display\_name</td><td>false</td></tr><tr><td>organization\_icon</td><td>false</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>organization\_name</td><td>false</td></tr><tr><td>provisioner</td><td>true</td></tr><tr><td>require\_active\_version</td><td>true</td></tr><tr><td>time\_til\_dormant</td><td>true</td></tr><tr><td>time\_til\_dormant\_autodelete</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>use\_classic\_parameter\_flow</td><td>true</td></tr><tr><td>user\_acl</td><td>true</td></tr></tbody></table> |
| TemplateVersion<br /><i>create, write</i>                         | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>archived</td><td>true</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>created\_by</td><td>true</td></tr><tr><td>created\_by\_avatar\_url</td><td>false</td></tr><tr><td>created\_by\_name</td><td>false</td></tr><tr><td>created\_by\_username</td><td>false</td></tr><tr><td>external\_auth\_providers</td><td>false</td></tr><tr><td>has\_ai\_task</td><td>false</td></tr><tr><td>has\_external\_agent</td><td>false</td></tr><tr><td>id</td><td>true</td></tr><tr><td>job\_id</td><td>false</td></tr><tr><td>message</td><td>false</td></tr><tr><td>name</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>readme</td><td>true</td></tr><tr><td>source\_example\_id</td><td>false</td></tr><tr><td>template\_id</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| User<br /><i>create, write, delete</i>                            | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>avatar\_url</td><td>false</td></tr><tr><td>chat\_spend\_limit\_micros</td><td>true</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>deleted</td><td>true</td></tr><tr><td>email</td><td>true</td></tr><tr><td>github\_com\_user\_id</td><td>false</td></tr><tr><td>hashed\_one\_time\_passcode</td><td>false</td></tr><tr><td>hashed\_password</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>is\_service\_account</td><td>true</td></tr><tr><td>is\_system</td><td>true</td></tr><tr><td>last\_seen\_at</td><td>false</td></tr><tr><td>login\_type</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>one\_time\_passcode\_expires\_at</td><td>true</td></tr><tr><td>quiet\_hours\_schedule</td><td>true</td></tr><tr><td>rbac\_roles</td><td>true</td></tr><tr><td>status</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>username</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| UserSecret<br /><i>create, write, delete</i>                      | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>false</td></tr><tr><td>description</td><td>true</td></tr><tr><td>env\_name</td><td>true</td></tr><tr><td>file\_path</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_id</td><td>true</td></tr><tr><td>value</td><td>true</td></tr><tr><td>value\_key\_id</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| WorkspaceBuild<br /><i>start, stop</i>                            | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>build\_number</td><td>false</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>daily\_cost</td><td>false</td></tr><tr><td>deadline</td><td>false</td></tr><tr><td>has\_ai\_task</td><td>false</td></tr><tr><td>has\_external\_agent</td><td>false</td></tr><tr><td>id</td><td>false</td></tr><tr><td>initiator\_by\_avatar\_url</td><td>false</td></tr><tr><td>initiator\_by\_name</td><td>false</td></tr><tr><td>initiator\_by\_username</td><td>false</td></tr><tr><td>initiator\_id</td><td>false</td></tr><tr><td>job\_id</td><td>false</td></tr><tr><td>max\_deadline</td><td>false</td></tr><tr><td>reason</td><td>false</td></tr><tr><td>template\_version\_id</td><td>true</td></tr><tr><td>template\_version\_preset\_id</td><td>false</td></tr><tr><td>transition</td><td>false</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>workspace\_id</td><td>false</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| WorkspaceProxy<br /><i></i>                                       | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>created\_at</td><td>true</td></tr><tr><td>deleted</td><td>false</td></tr><tr><td>derp\_enabled</td><td>true</td></tr><tr><td>derp\_only</td><td>true</td></tr><tr><td>display\_name</td><td>true</td></tr><tr><td>icon</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>name</td><td>true</td></tr><tr><td>region\_id</td><td>true</td></tr><tr><td>token\_hashed\_secret</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>url</td><td>true</td></tr><tr><td>version</td><td>true</td></tr><tr><td>wildcard\_hostname</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| WorkspaceTable<br /><i></i>                                       | <table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody> | <tr><td>automatic\_updates</td><td>true</td></tr><tr><td>autostart\_schedule</td><td>true</td></tr><tr><td>created\_at</td><td>false</td></tr><tr><td>deleted</td><td>false</td></tr><tr><td>deleting\_at</td><td>true</td></tr><tr><td>dormant\_at</td><td>true</td></tr><tr><td>favorite</td><td>true</td></tr><tr><td>group\_acl</td><td>true</td></tr><tr><td>id</td><td>true</td></tr><tr><td>last\_used\_at</td><td>false</td></tr><tr><td>name</td><td>true</td></tr><tr><td>next\_start\_at</td><td>true</td></tr><tr><td>organization\_id</td><td>false</td></tr><tr><td>owner\_id</td><td>true</td></tr><tr><td>template\_id</td><td>true</td></tr><tr><td>ttl</td><td>true</td></tr><tr><td>updated\_at</td><td>false</td></tr><tr><td>user\_acl</td><td>true</td></tr></tbody></table>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

## How to Filter Audit Logs

You can filter audit logs by the following parameters:

* `resource_type` - The type of the resource, such as a workspace, template,
  or user. For more resource types, refer to the
  [CoderSDK package documentation](https://pkg.go.dev/github.com/coder/coder/v2/codersdk#ResourceType).
* `resource_id` - The ID of the resource.
* `resource_target` - The name of the resource. Can be used instead of
  `resource_id`.
* `action`- The action applied to a resource, such as `create` or `delete`.
  For more actions, refer to the
  [CoderSDK package documentation](https://pkg.go.dev/github.com/coder/coder/v2/codersdk#AuditAction).
* `username` - The username of the user who triggered the action. You can also
  use `me` as a convenient alias for the logged-in user.
* `email` - The email of the user who triggered the action.
* `date_from` - The inclusive start date with format `YYYY-MM-DD`.
* `date_to` - The inclusive end date with format `YYYY-MM-DD`.
* `build_reason` - The reason for the workspace build, if `resource_type` is
  `workspace_build`. Refer to the
  [CoderSDK package documentation](https://pkg.go.dev/github.com/coder/coder/v2/codersdk#BuildReason)
  for a list of valid build reasons.

## Capturing/Exporting Audit Logs

In addition to the Coder dashboard, there are multiple ways to consume or query
audit trails.

### REST API

You can retrieve audit logs via the Coder API.

Visit the
[`get-audit-logs` endpoint documentation](/docs/@v2.33.6/reference/api/audit/#get-audit-logs)
for details.

### Service Logs

Audit trails are also dispatched as service logs and can be captured and
categorized using any log management tool such as [Splunk](https://splunk.com).

Example of a [JSON formatted](/docs/@v2.33.6/reference/cli/server/#--log-json) audit
log entry:

```json
{
    "ts": "2023-06-13T03:45:37.294730279Z",
    "level": "INFO",
    "msg": "audit_log",
    "caller": "/home/coder/coder/enterprise/audit/backends/slog.go:38",
    "func": "github.com/coder/coder/v2/enterprise/audit/backends.(*SlogExporter).ExportStruct",
    "logger_names": ["coderd"],
    "fields": {
        "ID": "033a9ffa-b54d-4c10-8ec3-2aaf9e6d741a",
        "Time": "2023-06-13T03:45:37.288506Z",
        "UserID": "6c405053-27e3-484a-9ad7-bcb64e7bfde6",
        "OrganizationID": "00000000-0000-0000-0000-000000000000",
        "Ip": null,
        "UserAgent": null,
        "ResourceType": "workspace_build",
        "ResourceID": "ca5647e0-ef50-4202-a246-717e04447380",
        "ResourceTarget": "",
        "Action": "start",
        "Diff": {},
        "StatusCode": 200,
        "AdditionalFields": {
            "workspace_name": "linux-container",
            "build_number": "9",
            "build_reason": "initiator",
            "workspace_owner": ""
        },
        "RequestID": "bb791ac3-f6ee-4da8-8ec2-f54e87013e93",
        "ResourceIcon": ""
    }
}
```

Example of a [human readable](/docs/@v2.33.6/reference/cli/server/#--log-human) audit
log entry:

```console
2023-06-13 03:43:29.233 [info]  coderd: audit_log  ID=95f7c392-da3e-480c-a579-8909f145fbe2  Time="2023-06-13T03:43:29.230422Z"  UserID=6c405053-27e3-484a-9ad7-bcb64e7bfde6  OrganizationID=00000000-0000-0000-0000-000000000000  Ip=<nil>  UserAgent=<nil>  ResourceType=workspace_build  ResourceID=988ae133-5b73-41e3-a55e-e1e9d3ef0b66  ResourceTarget=""  Action=start  Diff="{}"  StatusCode=200  AdditionalFields="{\"workspace_name\":\"linux-container\",\"build_number\":\"7\",\"build_reason\":\"initiator\",\"workspace_owner\":\"\"}"  RequestID=9682b1b5-7b9f-4bf2-9a39-9463f8e41cd6  ResourceIcon=""
```

## Purging Old Audit Logs

<Callout type="warn" title="Warning">
  Audit Logs provide critical security and compliance information. Purging Audit Logs may impact your organization's ability
  to investigate security incidents or meet compliance requirements. Consult your security and compliance teams before purging any audit data.
</Callout>

### Data Retention

Coder supports configurable retention policies that automatically purge old
Audit Logs. To enable automated purging, configure the
`--audit-logs-retention` flag or `CODER_AUDIT_LOGS_RETENTION` environment
variable. For comprehensive configuration options, see
[Data Retention](/docs/@v2.33.6/admin/setup/data-retention/).

### Manual Purging

Alternatively, you can purge Audit Logs manually by running SQL queries
directly against the database.

Audit Logs can account for a large amount of disk usage. Use the following
query to determine the amount of disk space used by the `audit_logs` table.

```sql
SELECT
    relname AS table_name,
    pg_size_pretty(pg_total_relation_size(relid)) AS total_size,
    pg_size_pretty(pg_relation_size(relid)) AS table_size,
    pg_size_pretty(pg_indexes_size(relid)) AS indexes_size,
    (SELECT COUNT(*) FROM audit_logs) AS total_records
FROM pg_catalog.pg_statio_user_tables
WHERE relname = 'audit_logs'
ORDER BY pg_total_relation_size(relid) DESC;
```

Should you wish to purge these records, it is safe to do so. This can only be done by running SQL queries
directly against the `audit_logs` table in the database. We advise users to only purge old records (>1yr)
and in accordance with your compliance requirements.

### Maintenance Procedures for the Audit Logs Table

<Callout type="info" title="Note">
  `VACUUM FULL` acquires an exclusive lock on the table, blocking all reads and writes. For more information, see the [PostgreSQL VACUUM documentation](https://www.postgresql.org/docs/current/sql-vacuum.html).
</Callout>

You may choose to run a `VACUUM` or `VACUUM FULL` operation on the audit logs table to reclaim disk space. If you choose to run the `FULL` operation, consider the following when doing so:

* **Run during a planned maintenance window** to ensure ample time for the operation to complete and minimize impact to users

* **Stop all running instances of `coderd`** to prevent connection errors while the table is locked. The actual steps for this will depend on your particular deployment setup. For example, if your `coderd` deployment is running on Kubernetes:

  ```bash
  kubectl scale deployment coder --replicas=0 -n coder
  ```

* **Terminate lingering connections** before running the `VACUUM` operation to ensure it starts immediately

  ```sql
  SELECT pg_terminate_backend(pg_stat_activity.pid)
  FROM pg_stat_activity
  WHERE pg_stat_activity.datname = 'coder' AND pid <> pg_backend_pid();
  ```

* **Only `coderd` needs to scale down** - external provisioner daemons, workspace proxies, and workspace agents don't connect to the database directly.

After the vacuum completes, scale coderd back up:

```bash
kubectl scale deployment coder --replicas= -n coder
```

### Backup/Archive

Consider exporting or archiving these records before deletion:

```sql
-- Export to CSV
COPY (SELECT * FROM audit_logs WHERE time < CURRENT_TIMESTAMP - INTERVAL '1 year')
TO '/path/to/audit_logs_archive.csv' DELIMITER ',' CSV HEADER;

-- Copy to archive table
CREATE TABLE audit_logs_archive AS
SELECT * FROM audit_logs WHERE time < CURRENT_TIMESTAMP - INTERVAL '1 year';
```

### Permanent Deletion

<Callout type="info" title="Note">
  For large `audit_logs` tables, consider running the `DELETE` operation during maintenance windows as it may impact
  database performance. You can also batch the deletions to reduce lock time.
</Callout>

```sql
DELETE FROM audit_logs WHERE time < CURRENT_TIMESTAMP - INTERVAL '1 year';
-- Consider running `VACUUM VERBOSE audit_logs` afterwards for large datasets to reclaim disk space.
```

## How to Enable Audit Logs

This feature is only available with a [Premium license](/docs/@v2.33.6/admin/licensing/), and is automatically enabled.
