> ## Documentation Index
> Fetch the complete documentation index at: https://dev-docs.persona.hasanraiyan.me/llms.txt
> Use this file to discover all available pages before exploring further.

# List this Project's audit log (control-plane only)

> Control-plane only, mirroring Providers' own design — a ProjectRuntimeContext request (external user asserted) gets a silent empty result, not an error, since there is no per-ExternalUser audit trail concept.
Covers Project-lifecycle events only (credential minted/revoked, membership added/removed, suspended/restored, deletion requested/cancelled/completed) — does NOT cover resource CRUD (Agent/Skill/Knowledge/Provider/MCP create/update/delete aren't logged here yet).




## OpenAPI

````yaml /openapi.json get /api/v1/developer/audit-logs
openapi: 3.0.0
info:
  title: persona.hasanraiyan.me Developer Platform API
  version: 1.0.0
  description: >-
    REST + AG-UI API for integrating your product with Persona's agent
    infrastructure.


    Every endpoint here is a server-to-server call — see the Integration Guide
    for where in your own stack to call each one from, and how the same endpoint
    serves both Project-level and per-end-user requests via the
    `x-persona-external-user-id` header.
servers:
  - url: https://api.persona.hasanraiyan.me
    description: Production
security: []
tags: []
paths:
  /api/v1/developer/audit-logs:
    get:
      tags:
        - Developer
      summary: List this Project's audit log (control-plane only)
      description: >
        Control-plane only, mirroring Providers' own design — a
        ProjectRuntimeContext request (external user asserted) gets a silent
        empty result, not an error, since there is no per-ExternalUser audit
        trail concept.

        Covers Project-lifecycle events only (credential minted/revoked,
        membership added/removed, suspended/restored, deletion
        requested/cancelled/completed) — does NOT cover resource CRUD
        (Agent/Skill/Knowledge/Provider/MCP create/update/delete aren't logged
        here yet).
      parameters:
        - name: page
          in: query
          schema:
            type: integer
        - name: limit
          in: query
          schema:
            type: integer
        - name: eventType
          in: query
          schema:
            type: string
          description: Optional exact-match filter, e.g. "credential.created".
      responses:
        '200':
          description: >-
            { items: AuditLogEntry[], pagination: { total, page, limit, pages }
            }
      security:
        - projectCredential: []
components:
  securitySchemes:
    projectCredential:
      type: http
      scheme: bearer
      bearerFormat: <keyId>.<secret>
      description: >-
        Developer Platform Project credential, minted via POST
        /api/v1/projects/{projectId}/credentials. Send as `Authorization: Bearer
        <keyId>.<secret>`. Optionally pair with the `x-persona-external-user-id`
        header to act on behalf of one of the Project's own external users. This
        credential is a server-side secret — see the Integration Guide.

````