---
title: "List guild audit logs"
method: GET
path: "/guilds/{guild_id}/audit-logs"
tags: ["Guilds"]
---

# List guild audit logs

`GET /guilds/{guild_id}/audit-logs`

List guild audit logs. Requires view_audit_logs permission. Returns guild activity history with pagination and action filtering.

## Path parameters

- `guild_id` string, snowflake, required

## Query parameters

- `limit` integer
- `before` string, snowflake
- `after` string, snowflake
- `user_id` string, snowflake
- `action_type` 1 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 40 | 41 | 42 | 50 | 51 | 52 | 60 | 61 | 62 | 90 | 91 | 92 | 72 | 73 | 74 | 75 — The type of action that occurred

## Response `200`

Success

- GuildAuditLogListResponse
  - `audit_log_entries` GuildAuditLogEntryResponse[], required — Array of audit log entries
    - `id` string, required — The unique identifier for this audit log entry
    - `action_type` 1 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 40 | 41 | 42 | 50 | 51 | 52 | 60 | 61 | 62 | 90 | 91 | 92 | 72 | 73 | 74 | 75, required — The type of action that occurred
    - `user_id` string, snowflake
    - `target_id` string, nullable — The ID of the affected entity (user, channel, role, invite code, etc.)
    - `reason` string — The reason provided for the action
    - `options` object — Additional options depending on action type
      - `channel_id` string — Channel ID for relevant actions
      - `count` number — Count of items affected
      - `delete_member_days` string — Number of days of messages to delete on member ban
      - `id` string — ID of the affected entity
      - `integration_type` number — Type of integration
      - `message_id` string — Message ID for relevant actions
      - `members_removed` number — Number of members removed
      - `role_name` string — Name of the role
      - `type` number — Type identifier
      - `inviter_id` string — ID of the user who created the invite
      - `max_age` number — Maximum age of the invite in seconds
      - `max_uses` number — Maximum number of uses for the invite
      - `temporary` boolean — Whether the invite grants temporary membership
      - `uses` number — Number of times the invite has been used
    - `changes` AuditLogChangeSchema[] — Changes made to the target
      - `key` string, required — The field that changed
      - `old_value` union — Value before the change
        - string
        - number
        - boolean
        - string[]
        - number[]
        - object
          - `added` string[], required
          - `removed` string[], required
      - `new_value` union — Value after the change
        - string
        - number
        - boolean
        - string[]
        - number[]
        - object
          - `added` string[], required
          - `removed` string[], required
  - `users` UserPartialResponse[], required — Users referenced in the audit log entries
    - `id` string, required — The unique identifier (snowflake) for this user
    - `username` string, required — The username of the user, not unique across the platform
    - `discriminator` string, required — The four-digit discriminator tag of the user
    - `global_name` string, nullable, required — The display name of the user, if set
    - `avatar` string, nullable, required — The hash of the user avatar image
    - `avatar_color` integer, required
    - `bot` boolean — Whether the user is a bot account
    - `system` boolean — Whether the user is an official system user
    - `flags` integer, required — The public flags on the user account
    - `mention_flags` 0 | 1 | 2 — Reply mention preference
  - `webhooks` AuditLogWebhookResponse[], required — Webhooks referenced in the audit log entries
    - `id` string, required — The unique identifier for this webhook
    - `type` 1 | 2, required — The type of webhook
    - `guild_id` string, snowflake
    - `channel_id` string, snowflake
    - `name` string, required — The name of the webhook
    - `avatar_hash` string, nullable — The hash of the webhook avatar

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

---

[API](https://skmtc.dev/fluxer/apis/fluxer-api.md) · [All operations](https://skmtc.dev/fluxer/apis/fluxer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fluxer/fluxer-api/revisions/d9c706133cc5/schema)
