# Get Audit Logs Retrieve webhook delivery logs for your account. Endpoint: (GET) https://api.lusha.com/api/audit-logs What's Logged: - All webhook delivery attempts (success and failures) - HTTP status codes and response times - Error messages for failed deliveries - Delivery timestamps and duration metrics Filtering: - Filter by subscription ID to see logs for specific subscriptions - Filter by status to see only successes, failures, or permanent failures Rate Limit: 100 requests/minute per account > Note: Logs are retained for 90 days (successful) and 180 days (failed/DLQ) Endpoint: GET /api/audit-logs Security: ApiKeyAuth ## Query parameters: - `subscriptionId` (string) Filter by subscription ID Example: "507f1f77bcf86cd799439011" - `status` (string) Filter by delivery status Enum: "success", "failed", "permanent_failure" - `limit` (integer) Maximum number of results (1-100) Example: 50 - `offset` (integer) Number of results to skip ## Response 200 fields (application/json): - `data` (array, required) - `data.id` (string, required) Audit log entry ID Example: "log-123" - `data.subscriptionId` (string, required) Subscription ID Example: "sub-123" - `data.payloadId` (string, required) Unique payload ID Example: "payload-456" - `data.status` (string, required) Delivery status Enum: "success", "failed", "permanent_failure" - `data.statusCode` (integer) HTTP status code from webhook endpoint Example: 200 - `data.url` (string, required) Webhook URL that was called Example: "https://example.com/webhook" - `data.deliveredAt` (string, required) When the webhook was delivered Example: "2024-01-01T00:00:00.000Z" - `data.durationMs` (integer) Delivery duration in milliseconds Example: 150 - `data.error` (string,null) Error message if delivery failed - `pagination` (object, required) - `pagination.total` (integer, required) Total number of results Example: 100 - `pagination.limit` (integer, required) Maximum results per page Example: 50 - `pagination.offset` (integer, required) Number of results skipped - `pagination.hasMore` (boolean, required) Whether more results are available Example: true ## Response 400 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"] ## Response 401 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"] ## Response 500 fields (application/json): - `statusCode` (integer, required) HTTP status code Example: 400 - `message` (string, required) Error message Example: "Validation failed" - `errors` (array) Detailed error messages (optional, only for validation errors) Example: ["entityType must be one of: contact, company"]