Retrieve sync logs for a specific automation with filtering and pagination. Monitor Git repository synchronization events, errors, and status for your Streamline automations. ## Path Parameters **`automation_id`** string required Automation ID (sauto_ prefixed) ## Query Parameters **`limit`** integer optional Number of logs per page (1-100, default: 50) **`offset`** integer optional Pagination offset (default: 0) **`status`** string optional Filter by status: `success`, `error`, `warning` **`event_type`** string optional Filter by event type: `pull`, `webhook_register`, `webhook_remove`, `validation`, `credential_check` ## Returns Returns a paginated list of sync log objects with total count. Request ```bash cURL curl -X GET "https://api.aitronos.com/api/v1/streamline/automations/sauto_abc123/sync-logs?limit=20&status=error" \ -H "X-API-Key: $FREDDY_API_KEY" ``` ```python Python import os import requests api_key = os.environ["FREDDY_API_KEY"] automation_id = "sauto_abc123" response = requests.get( f"https://api.aitronos.com/api/v1/streamline/automations/{automation_id}/sync-logs", headers={"X-API-Key": api_key}, params={"limit": 20, "status": "error"} ) logs = response.json() print(f"Found {logs['total']} error logs") ``` ```javascript JavaScript const apiKey = process.env.FREDDY_API_KEY; const automationId = "sauto_abc123"; const response = await fetch( `https://api.aitronos.com/api/v1/streamline/automations/${automationId}/sync-logs?limit=20&status=error`, { headers: { "X-API-Key": apiKey } } ); const logs = await response.json(); console.log(`Found ${logs.total} error logs`); ``` Response ```json 200 OK { "logs": [ { "id": "rslog_def456", "automation_id": "sauto_abc123", "organization_id": "org_xyz789", "sync_type": "webhook", "status": "error", "event_type": "pull", "commit_sha": null, "error_code": "REPO_NOT_FOUND", "error_message": "Repository has been deleted or is no longer accessible", "details": "{\"repository_url\": \"https://github.com/user/repo\"}", "duration_ms": 450, "created_at": "2025-11-28T10:30:00Z" }, { "id": "rslog_ghi789", "automation_id": "sauto_abc123", "organization_id": "org_xyz789", "sync_type": "webhook", "status": "success", "event_type": "pull", "commit_sha": "a1b2c3d4e5f6", "error_code": null, "error_message": null, "details": "{\"files_changed\": 3}", "duration_ms": 1250, "created_at": "2025-11-28T09:15:00Z" } ], "total": 42, "limit": 20, "offset": 0 } ``` ```json 404 Not Found { "success": false, "error": { "code": "AUTOMATION_NOT_FOUND", "message": "Automation not found", "status": 404 } } ``` ```json 403 Forbidden { "success": false, "error": { "code": "FORBIDDEN", "message": "No access to automation's organization", "status": 403 } } ```