{"id":22300179,"url":"https://github.com/vanguardbackup/vanguard-php-sdk","last_synced_at":"2026-02-13T15:11:15.876Z","repository":{"id":252464004,"uuid":"840525702","full_name":"vanguardbackup/vanguard-php-sdk","owner":"vanguardbackup","description":"PHP SDK for the Vanguard Backup project, programatically control your backups with ease with the power of PHP.","archived":false,"fork":false,"pushed_at":"2025-03-01T04:26:29.000Z","size":130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T06:22:59.905Z","etag":null,"topics":["open-source","php","php-package"],"latest_commit_sha":null,"homepage":"https://vanguardbackup.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vanguardbackup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-09T23:17:38.000Z","updated_at":"2025-03-01T04:24:30.000Z","dependencies_parsed_at":"2025-01-25T01:00:06.250Z","dependency_job_id":null,"html_url":"https://github.com/vanguardbackup/vanguard-php-sdk","commit_stats":null,"previous_names":["vanguardbackup/vanguard-php-sdk"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/vanguardbackup/vanguard-php-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanguardbackup%2Fvanguard-php-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanguardbackup%2Fvanguard-php-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanguardbackup%2Fvanguard-php-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanguardbackup%2Fvanguard-php-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vanguardbackup","download_url":"https://codeload.github.com/vanguardbackup/vanguard-php-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vanguardbackup%2Fvanguard-php-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265866248,"owners_count":23840937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["open-source","php","php-package"],"created_at":"2024-12-03T18:09:38.052Z","updated_at":"2026-02-13T15:11:15.055Z","avatar_url":"https://github.com/vanguardbackup.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/vanguardbackup/assets/main/icon-200.png\" width=\"120\" alt=\"Vanguard Logo\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/license/mit\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/vanguardbackup/vanguard-php-sdk?style=for-the-badge\u0026logo=opensourceinitiative\u0026logoColor=ffffff\" alt=\"License: MIT\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/vanguardbackup/vanguard-php-sdk/actions/workflows/tests.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/vanguardbackup/vanguard-php-sdk/tests.yml?style=for-the-badge\u0026logo=githubactions\u0026logoColor=ffffff\u0026label=Tests\" alt=\"Tests\"\u003e\n  \u003c/a\u003e\n\u003ca href=\"https://github.com/vanguardbackup/vanguard-php-sdk/releases\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/vanguardbackup/vanguard-php-sdk?style=for-the-badge\u0026logo=github\u0026logoColor=ffffff\" alt=\"GitHub Release\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/vanguardbackup/vanguard-php-sdk\"\u003e\n\u003cimg alt=\"Packagist Downloads\" src=\"https://img.shields.io/packagist/dt/vanguardbackup/vanguard-php-sdk?style=for-the-badge\u0026logo=packagist\u0026logoColor=ffffff\u0026logoSize=auto\u0026label=Downloads\"\u003e\n\u003c/a\u003e\n\n\n\u003c/p\u003e\n\n# Vanguard PHP SDK\n\n## Overview\n\nThe Vanguard PHP SDK provides a fluent interface for interacting with Vanguard's API, enabling efficient management of your backup operations.\n\n## API Documentation\n\nFor comprehensive API documentation, including request/response schemas and example payloads, please refer to our official API documentation:\n\n[Vanguard API Documentation](https://docs.vanguardbackup.com/api/introduction)\n\nThis resource is invaluable when constructing requests or handling responses, especially for complex operations not fully abstracted by the SDK.\n\n## Getting Started\n\n### Installation\n\nAdd the Vanguard PHP SDK to your project using Composer:\n\n```bash\ncomposer require vanguardbackup/vanguard-php-sdk\n```\n\n### Initializing the SDK\n\nCreate a new instance of the VanguardBackup client:\n\n```php\n$vanguard = new VanguardBackup\\Vanguard\\VanguardClient('YOUR_API_KEY');\n```\n\nFor custom Vanguard installations, specify the API base URL:\n\n```php\n$vanguard = new VanguardBackup\\Vanguard\\VanguardClient('YOUR_API_KEY', 'https://your-vanguard-instance.com');\n```\n\n## Core Functionalities\n\n### User Authentication\n\nRetrieve the authenticated user's information:\n\n```php\n$user = $vanguard-\u003euser();\n```\n\n### Backup Task Management\n\nManage your backup tasks:\n\n```php\n// List all backup tasks\n$tasks = $vanguard-\u003ebackupTasks();\n\n// Get a specific backup task\n$task = $vanguard-\u003ebackupTask($taskId);\n\n// Create a new backup task\n$newTask = $vanguard-\u003ecreateBackupTask([\n    'label' =\u003e 'Daily Database Backup',\n    'source_type' =\u003e 'database',\n    // ... other task parameters\n]);\n\n// Update an existing backup task\n$updatedTask = $vanguard-\u003eupdateBackupTask($taskId, [\n    'frequency' =\u003e 'daily',\n    // ... other parameters to update\n]);\n\n// Delete a backup task\n$vanguard-\u003edeleteBackupTask($taskId);\n\n// Get the status of a backup task\n$status = $vanguard-\u003egetBackupTaskStatus($taskId);\n\n// Retrieve the latest log for a backup task\n$log = $vanguard-\u003egetLatestBackupTaskLog($taskId);\n\n// Manually trigger a backup task\n$vanguard-\u003erunBackupTask($taskId);\n```\n\nIndividual `BackupTask` instances also provide methods for common operations:\n\n```php\n$task-\u003eupdate(['label' =\u003e 'Weekly Full Backup']);\n$task-\u003edelete();\n$task-\u003egetStatus();\n$task-\u003egetLatestLog();\n$task-\u003erun();\n```\n\n### Backup Task Log Management\n\nManage logs for your backup tasks:\n\n```php\n// List all backup task logs\n$logs = $vanguard-\u003ebackupTaskLogs();\n\n// Get a specific backup task log\n$log = $vanguard-\u003ebackupTaskLog($logId);\n\n// Delete a backup task log\n$vanguard-\u003edeleteBackupTaskLog($logId);\n```\n\nIndividual `BackupTaskLog` instances also provide methods for common operations:\n\n```php\n$log-\u003edelete();\n$log-\u003eisSuccessful();\n$log-\u003eisFailed();\n```\n\n### Remote Server Management\n\nManage the servers from which you're backing up data:\n\n```php\n// List all remote servers\n$servers = $vanguard-\u003eremoteServers();\n\n// Get a specific remote server\n$server = $vanguard-\u003eremoteServer($serverId);\n\n// Add a new remote server\n$newServer = $vanguard-\u003ecreateRemoteServer([\n    'label' =\u003e 'Production DB Server',\n    'ip_address' =\u003e '192.168.1.100',\n    // ... other server details\n]);\n\n// Update a remote server\n$updatedServer = $vanguard-\u003eupdateRemoteServer($serverId, [\n    'label' =\u003e 'Updated Production DB Server',\n]);\n\n// Remove a remote server\n$vanguard-\u003edeleteRemoteServer($serverId);\n```\n\n### Backup Destination Management\n\nControl where your backups are stored:\n\n```php\n// List all backup destinations\n$destinations = $vanguard-\u003ebackupDestinations();\n\n// Get a specific backup destination\n$destination = $vanguard-\u003ebackupDestination($destinationId);\n\n// Create a new backup destination\n$newDestination = $vanguard-\u003ecreateBackupDestination([\n    'type' =\u003e 's3',\n    'bucket' =\u003e 'my-backups',\n    // ... other destination details\n]);\n\n// Update a backup destination\n$updatedDestination = $vanguard-\u003eupdateBackupDestination($destinationId, [\n    'bucket' =\u003e 'new-backup-bucket',\n]);\n\n// Remove a backup destination\n$vanguard-\u003edeleteBackupDestination($destinationId);\n```\n\n### Tag Management\n\nOrganize your backup resources with tags:\n\n```php\n// List all tags\n$tags = $vanguard-\u003etags();\n\n// Get a specific tag\n$tag = $vanguard-\u003etag($tagId);\n\n// Create a new tag\n$newTag = $vanguard-\u003ecreateTag(['label' =\u003e 'Production']);\n\n// Update a tag\n$updatedTag = $vanguard-\u003eupdateTag($tagId, ['label' =\u003e 'Staging']);\n\n// Delete a tag\n$vanguard-\u003edeleteTag($tagId);\n```\n\n### Notification Stream Management\n\nConfigure how you receive alerts about your backups:\n\n```php\n// List all notification streams\n$streams = $vanguard-\u003enotificationStreams();\n\n// Get a specific notification stream\n$stream = $vanguard-\u003enotificationStream($streamId);\n\n// Create a new notification stream\n$newStream = $vanguard-\u003ecreateNotificationStream([\n    'type' =\u003e 'slack',\n    'webhook_url' =\u003e 'https://hooks.slack.com/services/...',\n]);\n\n// Update a notification stream\n$updatedStream = $vanguard-\u003eupdateNotificationStream($streamId, [\n    'events' =\u003e ['backup_failed', 'backup_successful'],\n]);\n\n// Delete a notification stream\n$vanguard-\u003edeleteNotificationStream($streamId);\n```\n\n### SSH Key Management\n\nRetrieve the Vanguard instance SSH public key:\n\n```php\n// Get the instance SSH public key\n$sshKey = $vanguard-\u003egetInstanceSshKey();\n\n// Access the public key as a string\necho $sshKey-\u003epublicKey;\n\n// Or cast the object to a string to get the public key\necho (string) $sshKey;\n```\n\n## Security\n\nFor reporting security vulnerabilities, please refer to our [security policy](https://github.com/vanguardbackup/vanguard/security/policy).\n\n## License\n\nThe Vanguard PHP SDK is open-source software, released under the [MIT licence](LICENSE.md).\n\n## Acknowledgments\n\nWe'd like to express our gratitude to the Laravel Forge PHP SDK, which served as an inspiration for the structure and design of this SDK.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanguardbackup%2Fvanguard-php-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvanguardbackup%2Fvanguard-php-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvanguardbackup%2Fvanguard-php-sdk/lists"}