Manual
CLI
API
Log in Get started free

Audit log

Lists the actions in the organisation, the newest first, with optional filters.

Lists the actions in the organisation, the newest first. By default you get the 100 most recent entries.

HTTP
GET /org/audit

Access: Session token only. API keys get 403 with insufficient_scope.

Role: Organisation owner or admin.

Query parameters #

All are optional.

ParameterTypeDescription
actionstringOnly entries with this action code, for example project.deleted. End it with a dot to match a whole group, for example auth..
userstringOnly entries by this user id.
fromstringOnly entries at or after this time. A date (2026-10-01) or an ISO 8601 timestamp. Without a time zone it is UTC.
tostringOnly entries at or before this time. A bare date includes the whole day.
limitintegerThe number of entries, from 1 to 500. Default 100.
beforestringThe id of the last entry of the previous page. Returns the entries older than it.

To read all entries, request a page, then repeat with before set to the id of the last entry until a page comes back with fewer entries than limit. To get everything in one go, use the export.

Response 200 #

A list of entries.

JSON
[
  {
    "id": "0197a3c4-2b31-7e22-b5d9-7f1c3a8e0b42",
    "person": { "id": "0197a3c2-5b1e-7c4a-9d2f-3e8b6a1f0c55", "name": "Ada Lovelace", "email": "ada@example.com", "initials": "AL", "gradient": "...", "from": "#06b6d4", "to": "#7c3aed" },
    "action": "org.member_invited",
    "verb": "invited ",
    "subject": "grace@example.com",
    "suffix": " as Member",
    "ip": "203.0.113.7",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) ...",
    "at": "2026-10-16T09:30:00+00:00"
  }
]

Response fields #

FieldTypeDescription
idstringThe id of the entry. Ids sort by time.
personobject or nullWho did it, with the same fields as a member without role, teams, joinedAt and you. null when the user no longer exists.
actionstringA stable code for what happened, see action codes. Empty for entries written before codes existed.
verbstringThe start of the sentence.
subjectstringThe thing it was done to.
suffixstringThe end of the sentence.
ipstring or nullThe address of the client that made the request. Behind a reverse proxy it is read from X-Forwarded-For, but only the part added by a trusted proxy. null for entries written before addresses were recorded.
userAgentstring or nullThe User-Agent of the request, cut to 300 characters. null for older entries.
atstringWhen it happened.

Action codes #

CodeWhen
auth.loginSomeone signed in.
auth.sso_loginSomeone signed in with single sign-on.
auth.login_failedSomeone tried to sign in to an account with the wrong password.
auth.password_changedSomeone changed their password.
auth.password_resetSomeone reset their password with the emailed link.
auth.session_revokedSomeone signed out one of their sessions.
auth.mfa_enabledSomeone turned on two-factor authentication.
auth.mfa_disabledSomeone turned off two-factor authentication.
auth.mfa_failedSomeone gave a wrong two-factor code when signing in.
auth.recovery_code_usedSomeone signed in with a recovery code.
auth.recovery_codes_regeneratedSomeone made new recovery codes.
account.deletedSomeone deleted their account.
account.exportedSomeone downloaded a copy of their personal data.
api_key.createdAn API key was created, personal or for a project.
api_key.rotatedAn API key was rotated.
api_key.revokedAn API key was revoked.
org.createdThe organisation was created.
org.member_invitedSomeone was invited.
org.invite_revokedAn invitation was revoked.
org.member_joinedSomeone joined through an invitation.
org.member_role_changedA member’s organisation role changed.
org.member_removedA member was removed.
org.member_mfa_resetAn admin reset the two-factor authentication of a member.
org.ownership_transferredOwnership was transferred.
org.settings_changedThe name or settings of the organisation changed.
org.security_changedThe security settings changed.
org.sso_changedThe single sign-on settings changed.
org.sso_domain_verifiedA domain was verified for single sign-on.
org.sso_domain_removedA domain was removed from single sign-on.
org.data_region_changedThe preferred data region was chosen, changed or removed.
org.mt_key_setA machine translation key was added or replaced. The log never contains the key.
org.mt_key_removedThe machine translation key was removed.
org.mt_limit_changedThe monthly machine translation limit changed.
chat.connectedA Slack, Mattermost or Teams channel was connected. The log never contains the webhook address.
chat.updatedA chat channel was changed.
chat.removedA chat channel was removed.
mt.autofillNew strings were queued for automatic machine translation after a push.
mt.autofill_stoppedAutomatic machine translation stopped, with the reason in the subject, such as mt_key_rejected, mt_limit_reached, mt_provider_quota or mt_not_configured. Recorded at most once an hour for the same reason.
org.scim_token_createdA SCIM token was created.
org.scim_token_revokedThe SCIM token was revoked.
scim.user_provisionedThe identity provider added a member over SCIM.
scim.user_updatedThe identity provider changed a member over SCIM.
scim.user_deprovisionedThe identity provider removed a member over SCIM.
project.createdA project was created, also from a repository.
project.deletedA project was deleted.
project.duplicatedA project was duplicated.
project.archivedA project was archived.
project.restoredA project was restored.
project.repository_linkedA project was linked to a repository.
team.createdA team was created.
team.deletedA team was deleted.
integration.connectedGitHub or GitLab was connected.
integration.disconnectedGitHub or GitLab was disconnected.
webhook.createdA webhook was added to a project.
webhook.deletedA webhook was removed.
billing.plan_changedThe plan was switched.
billing.plan_chosenThe plan was chosen for the first time.
audit.exportedThe audit log was exported.

Errors #

StatuserrorWhen
401unauthenticatedThe token is missing or not valid.
403forbiddenYou are not an owner or admin.
422invalid_requestA query parameter is not valid. fields names it.
429rate_limitedToo many requests, see Rate limiting.

See Errors for the error format.

Notes #

Read an entry as person + verb + subject + suffix. Use action when you need to act on an entry in code, because the sentence can change.