> ## Documentation Index
> Fetch the complete documentation index at: https://gproxy.leenhawk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /admin/api/audit



## OpenAPI

````yaml /generated/openapi.json get /admin/api/audit
openapi: 3.1.0
info:
  description: >-
    Forwarding, management, portal and OAuth APIs generated from Rust types.
    Input and output schemas preserve their respective Serde contracts.
    Streaming events and WebSocket messages are documented alongside HTTP
    payloads.
  title: GPROXY HTTP API
  version: 4.2.1
servers: []
security:
  - bearer: []
  - anthropicKey: []
  - googleKey: []
  - queryKey: []
paths:
  /admin/api/audit:
    get:
      tags:
        - Management
      summary: GET /admin/api/audit
      parameters:
        - description: Case-insensitive substring, so `users.` selects a whole family.
          in: query
          name: action
          required: false
          schema:
            description: Case-insensitive substring, so `users.` selects a whole family.
            type:
              - string
              - 'null'
        - description: ''
          in: query
          name: actorApiKeyId
          required: false
          schema:
            type:
              - string
              - 'null'
        - description: ''
          in: query
          name: actorUserId
          required: false
          schema:
            type:
              - string
              - 'null'
        - description: ''
          in: query
          name: entityId
          required: false
          schema:
            type:
              - string
              - 'null'
        - description: ''
          in: query
          name: entityKind
          required: false
          schema:
            type:
              - string
              - 'null'
        - description: ''
          in: query
          name: outcome
          required: false
          schema:
            type:
              - string
              - 'null'
        - description: 1-based; zero and absent both mean the first page.
          in: query
          name: page
          required: false
          schema:
            description: 1-based; zero and absent both mean the first page.
            format: uint64
            minimum: 0
            type:
              - integer
              - 'null'
        - description: Clamped to 1..=500; absent means 50.
          in: query
          name: pageSize
          required: false
          schema:
            description: Clamped to 1..=500; absent means 50.
            format: uint64
            minimum: 0
            type:
              - integer
              - 'null'
        - description: Inclusive lower bound on `createdAtMs`.
          in: query
          name: sinceMs
          required: false
          schema:
            description: Inclusive lower bound on `createdAtMs`.
            format: int64
            type:
              - integer
              - 'null'
        - description: Exclusive upper bound on `createdAtMs`.
          in: query
          name: untilMs
          required: false
          schema:
            description: Exclusive upper bound on `createdAtMs`.
            format: int64
            type:
              - integer
              - 'null'
        - description: Administrative scope selected by the caller.
          in: header
          name: x-gproxy-admin-scope
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Output_Page11'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Output_Envelope'
          description: Gateway error
      security:
        - consoleSession: []
        - bearer: []
        - anthropicKey: []
        - googleKey: []
components:
  schemas:
    Output_Page11:
      description: |-
        One page of results. `total` counts every row the filters match, not the
        page, so a console can render a pager without a second request.
      properties:
        items:
          items:
            $ref: '#/components/schemas/Output_AuditEventDto'
          type: array
        limit:
          format: uint64
          minimum: 0
          type: integer
        offset:
          format: uint64
          minimum: 0
          type: integer
        total:
          format: uint64
          minimum: 0
          type: integer
      required:
        - items
        - total
        - offset
        - limit
      type: object
    Output_Envelope:
      properties:
        error:
          $ref: '#/components/schemas/Output_EnvelopeBody'
      required:
        - error
      type: object
    Output_AuditEventDto:
      properties:
        action:
          description: The operation's name, e.g. `users.create`.
          type: string
        actorApiKeyId:
          type:
            - string
            - 'null'
        actorUserId:
          type:
            - string
            - 'null'
        createdAtMs:
          format: int64
          type: integer
        detail:
          description: >-
            The redacted request summary the operation wrote. Never a secret:
            see

            [`AuditEntry::redacted`](crate::audit::AuditEntry::redacted).
        entityId:
          type:
            - string
            - 'null'
        entityKind:
          type:
            - string
            - 'null'
        id:
          type: string
        outcome:
          description: '`ok` or `error`. A rejected operation is audited too.'
          type: string
        sourceIp:
          type:
            - string
            - 'null'
      required:
        - id
        - actorUserId
        - actorApiKeyId
        - sourceIp
        - action
        - entityKind
        - entityId
        - outcome
        - detail
        - createdAtMs
      type: object
    Output_EnvelopeBody:
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object
  securitySchemes:
    bearer:
      scheme: bearer
      type: http
    anthropicKey:
      in: header
      name: x-api-key
      type: apiKey
    googleKey:
      in: header
      name: x-goog-api-key
      type: apiKey
    queryKey:
      in: query
      name: key
      type: apiKey
    consoleSession:
      in: cookie
      name: gproxy_session
      type: apiKey

````

## Related topics

- [GET /admin/api/api-keys](https://gproxy.leenhawk.com/api-reference/management/get-adminapiapi-keys.md)
- [GET /admin/api/session](https://gproxy.leenhawk.com/api-reference/management/get-adminapisession.md)
- [GET /admin/api/fonts](https://gproxy.leenhawk.com/api-reference/management/get-adminapifonts.md)
- [GET /admin/api/channels](https://gproxy.leenhawk.com/api-reference/management/get-adminapichannels.md)
- [GET /admin/api/context](https://gproxy.leenhawk.com/api-reference/management/get-adminapicontext.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.