← Back to documentation

Audit Log

Use the audit log to review organization, security, account, billing, and export events.

6 min read

The PayloadRelay audit log records the supported organization, security, configuration, membership, billing, authentication, and export events. Use it to identify the actor, the action, and the time in the 30-day retention period.

Who can view it?#

Only an organization Owner and an organization Admin can use the audit log. A member with edit access (USER) and a read-only member (VIEWER) receive a 403 error from the audit API. The log contains your organization only. You cannot see the events of a different organization.

What is logged?#

The table that follows gives the action values that PayloadRelay records now. The action filter also contains the older values while the matching events stay in the retained history of your organization.

ActionDescription
endpoint.createdA user created a new relay endpoint
endpoint.updatedA user changed the configuration of an endpoint
endpoint.deletedA user deleted an endpoint permanently
endpoint.pausedA user paused an endpoint manually
endpoint.resumedA user resumed a paused endpoint manually
endpoint.auto_pausedThe failure-alert system paused an endpoint automatically
target.createdA user created a relay target, such as a webhook, email, Slack, Discord, Microsoft Teams, PagerDuty, Telegram, or Google Sheets target
target.updatedA user edited a relay target
target.deletedA user deleted a relay target
target.smtp.verifiedAn SMTP relay target connection passed the verification
alert.config.updatedA user changed the failure-alert configuration of an endpoint
alert.test_sentA user sent a test alert manually
member.invitedA user invited a person to the organization
member.invitation_resentA user sent a pending organization invitation again
member.invitation_revokedA user revoked a pending organization invitation
member.role_changedA user changed the role of a member
member.removedA user removed a member from the organization
member.deactivated_seat_limitPayloadRelay made a member inactive, because the organization went above the member limit of its plan
org.activatedA user activated an organization and gave it a name
org.renamedA user changed the name of the organization
org.contact_email_updatedA user changed the contact email address of the organization
org.ownership_transfer_requestedAn owner requested an organization ownership transfer
org.ownership_transfer_confirmedAn owner confirmed an organization ownership transfer
password.changedA user changed the password of their account
password.resetA user reset the password of their account
subscription.change_requestedA user requested a billing plan change
subscription.canceledA user scheduled the cancellation of a paid subscription
subscription.resumedA user reversed a scheduled subscription cancellation
activity.exportedA user exported the activity log as CSV
audit.exportedA user exported the audit log as CSV
auth.login.successA user signed in successfully
auth.login.failedA sign-in attempt failed because of wrong credentials
auth.logoutA user signed out
auth.reauth.successA user authenticated again, with a password or an SSO provider, to authorize a sensitive action
auth.reauth.failedPayloadRelay rejected a second authentication attempt

What is not logged#

  • The read-only operations: a list of the endpoints, a read of the Activity logs, and a view of the configuration.
  • The relay body content. PayloadRelay does not store a customer relay request body or a customer message body in its databases, activity logs, object storage, or backups. A body stays only in memory and in the delivery, retry, and dead-letter queues. It stays there only while PayloadRelay delivers the event. If the delivery fails permanently, the message stays in a dead-letter queue for a maximum of 7 days for diagnosis or a new delivery. PayloadRelay can keep operational metadata, such as an SMTP envelope sender address, in the 30-day Activity trail.
  • The advanced filter queries: a filter on your own Activity data creates no audit event.
  • The complete payment details: a billing event contains metadata such as the plan name and the billing interval. It never contains a card number or a bank detail.

Event fields#

Each audit event contains:

FieldDescription
idThe UUID of the event
occurredAtThe timestamp (UTC)
actorEmailThe email address of the user who started the action, as a snapshot
actorTypeUSER, SYSTEM, or API_TOKEN
actorIpThe IP address of the actor, when it is available
actorUserAgentThe user agent of the browser or the client, cut to 512 characters
actionThe action slug. See the catalog above.
targetTypeThe resource type that the action changed, for example, ENDPOINT, MEMBER, or AUTH
targetIdThe UUID of the changed resource, when it applies
targetNameThe readable name of the resource, as a snapshot at the event time
metadataThe JSON details of the action, with a maximum of 8 KB
successtrue when the action succeeded. false for a failure such as auth.login.failed
errorMessageThe error detail of a failed event

The actor email address is a snapshot. If PayloadRelay deletes the user later, the email address stays in the historical audit events.

Querying the audit log#

In the dashboard, use the Organization → Audit Log page. For programmatic access, use the audit API (GET /audit/events).

The filter parameters are optional:

ParameterDescription
actorEmailContainsFilter by a part of the actor email address
actionFilter by the action value, the dot-notation slug. You can give more than one value, separated by commas. To find the recorded values and the values in the retained organization history, use GET /audit/actions.
targetTypeFilter by the target resource type, such as ENDPOINT, OUTPUT, TARGET, or MEMBER
targetIdFilter by a specific target UUID
fromThe ISO 8601 start timestamp, inclusive
toThe ISO 8601 end timestamp, inclusive
successtrue or false
limitThe page size. The default is 50 and the maximum is 200.
offsetThe pagination offset

The action parameter uses the dot-notation value, such as endpoint.created or target.updated. It does not use the name that the interface shows, such as ENDPOINT_CREATED.

Code Example
GET /audit/events?action=endpoint.created,target.deleted
GET /audit/events?action=member.invited,member.role_changed&success=true

Exporting as CSV#

To download the audit events that match, select Export CSV in the dashboard. PayloadRelay can limit a large export, and it can limit the exports temporarily. If the export is too large, make the filters narrow.

Retention#

An audit event stays for 30 days. PayloadRelay deletes it automatically after that period.

Security reviews and investigations#

The audit log can give supporting records for these tasks:

  • A control review: read the supported access, configuration, membership, and billing events.
  • Traceability: identify the actor, the time, and the changed resource for a recorded action.
  • A security investigation: compare the suspect IP addresses with the actions through actorIp.

An organization user cannot change or delete an audit event. PayloadRelay deletes the older events after the retention period.