Audit log'ları listele
Workspace'iniz için sayfalanmış audit log kayıtlarını alın.
Cursor tabanlı sayfalama ile bir workspace'in audit log kayıtlarını döndürür. Her kayıt, workspace'te gerçekleştirilen bir eylemi — kim yaptı, ne değişti ve ne zaman — belgeler.
Base URL
https://api.ajan.io/audit-logs/{workspace_id}Dedicated deployments Tüm isteklerde
api.ajan.com'u/api/publicile değiştirin.
Parameters
Tarih aralığını tanımlamak için from ve to query parametrelerini, sonuçlar arasında gezinmek için cursor parametresini kullanın.
Rate Limits
Audit Logs endpoint'inin rate limiti workspace ve API anahtarı başına 500 RPM (dakikada istek) olarak uygulanır. Bu endpoint için token limiti yoktur. Rate limit'i aşarsanız 429 Too Many Requests yanıtı alırsınız.
Ek bilgi: Önkoşullar, sayfalama ve filtreleme ayrıntıları için Audit Logs API introduction sayfasına bakın.
ajan, API anahtarınızı korumak ve uygulamalarınızın güvenliğini sağlamak için tarayıcı kaynaklı istekleri bilinçli olarak engeller. Daha fazla bilgi için API Key Best Practices kılavuzuna bakın.
OpenAPI
openapi: 3.0.0
info:
title: ajan API
version: 3.0.0
servers:
- url: https://api.ajan.io
description: Production
security:
- bearerAuth: []
paths:
/audit-logs/{workspace_id}:
get:
tags:
- Audit Logs
summary: List audit logs
description: |
Returns audit log entries for a workspace with cursor-based pagination.
Requires an API key with the `AUDIT_LOG_API` scope.
operationId: listAuditLogs
parameters:
- name: workspace_id
in: path
required: true
description: >
Workspace UUID. Must match the workspace associated with the API
key; requests with a mismatched workspace_id are rejected with 403.
schema:
type: string
format: uuid
- name: cursor
in: query
required: false
description: Cursor for pagination (ID of last item from previous page)
schema:
type: string
format: uuid
- name: limit
in: query
required: false
description: Maximum number of items to return (default 50, max 50)
schema:
type: integer
minimum: 1
maximum: 50
default: 50
- name: from
in: query
required: false
description: Start of date range filter (ISO 8601)
schema:
type: string
format: date-time
- name: to
in: query
required: false
description: End of date range filter (ISO 8601)
schema:
type: string
format: date-time
- name: entity_type
in: query
required: false
description: Filter by entity type (e.g. "User", "Workspace")
schema:
type: string
- name: actor_id
in: query
required: false
description: Filter by actor UUID
schema:
type: string
format: uuid
responses:
'200':
description: Paginated list of audit log entries
content:
application/json:
schema:
$ref: '#/components/schemas/AuditLogListResponse'
examples:
example:
value:
data:
- id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
created_at: '2026-02-09T14:30:00Z'
actor_id: u1234567-89ab-cdef-0123-456789abcdef
actor_type: USER
actor_name: jane.doe@example.com
action: user.updated
entity_type: User
entity_id: u7654321-89ab-cdef-0123-456789abcdef
ip_address: 203.0.113.42
user_agent: Mozilla/5.0
changes:
before:
role: MEMBER
after:
role: ADMIN
snapshot: null
next_cursor: a1b2c3d4-e5f6-7890-abcd-ef1234567890
'400':
description: Invalid request parameters
'401':
description: Missing or invalid API key
'403':
description: >-
Insufficient API key scopes or workspace_id does not match the API
key's workspace
'429':
description: Rate limit exceeded
'500':
description: Internal server error
security:
- bearerAuth: []
components:
schemas:
AuditLogListResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AuditLog'
next_cursor:
type: string
format: uuid
nullable: true
description: Cursor for the next page, null if no more results
AuditLog:
type: object
properties:
id:
type: string
format: uuid
description: Unique audit log entry ID
created_at:
type: string
format: date-time
description: When the event occurred
actor_id:
type: string
format: uuid
nullable: true
description: ID of the actor who performed the action
actor_type:
type: string
enum:
- USER
- API_KEY
- SYSTEM
- SCIM
description: Type of actor
actor_name:
type: string
nullable: true
description: Human-readable actor name (e.g. email, API key name, "SCIM")
action:
type: string
description: |
Action in dot notation: `{entity}.{operation}`, where `entity` is
the snake_case model name and `operation` is one of `created`,
`updated`, or `deleted`.
example: user.updated
entity_type:
type: string
description: |
PascalCase model name of the affected entity (e.g. `User`,
`Workspace`, `Group`, `IntegrationConnection`).
entity_id:
type: string
description: ID of the affected entity
ip_address:
type: string
nullable: true
description: IP address of the request
user_agent:
type: string
nullable: true
description: User-Agent header of the request
changes:
type: object
nullable: true
description: >-
Structured diff with `before` and `after` objects containing only
changed fields
properties:
before:
type: object
description: Field values before the change
after:
type: object
description: Field values after the change
snapshot:
type: object
nullable: true
description: >-
Full entity snapshot or additional event metadata (e.g. on
delete/create events, or extra context like failed login details)
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: API key as Bearer token. Format "Bearer YOUR_API_KEY"