{"id":15025143,"url":"https://github.com/ploi/ploi-php-sdk","last_synced_at":"2025-05-16T17:04:53.607Z","repository":{"id":32862549,"uuid":"144597000","full_name":"ploi/ploi-php-sdk","owner":"ploi","description":"Ploi PHP SDK","archived":false,"fork":false,"pushed_at":"2025-03-22T06:34:39.000Z","size":173,"stargazers_count":73,"open_issues_count":7,"forks_count":27,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-14T17:21:59.489Z","etag":null,"topics":["api","api-laravel","hacktoberfest","laravel","laravel-framework","php","ploi"],"latest_commit_sha":null,"homepage":"https://ploi.io","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/ploi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-08-13T15:13:52.000Z","updated_at":"2025-03-22T06:34:43.000Z","dependencies_parsed_at":"2024-07-12T05:30:49.562Z","dependency_job_id":null,"html_url":"https://github.com/ploi/ploi-php-sdk","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploi%2Fploi-php-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploi%2Fploi-php-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploi%2Fploi-php-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ploi%2Fploi-php-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ploi","download_url":"https://codeload.github.com/ploi/ploi-php-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254573588,"owners_count":22093731,"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":["api","api-laravel","hacktoberfest","laravel","laravel-framework","php","ploi"],"created_at":"2024-09-24T20:01:34.239Z","updated_at":"2025-05-16T17:04:53.553Z","avatar_url":"https://github.com/ploi.png","language":"PHP","readme":"# Ploi PHP SDK :rocket:\n\nThe future is now - so stop the hassle, you’re running behind. Quick and easy site deployment with Ploi. Awesome features for awesome developers. Check it out at https://ploi.io\n\nThis SDK is meant for PHP applications to be able to communicate with our API.\nYou can find our documentation at https://developers.ploi.io\n\n## Installation\n\n```bash\ncomposer require ploi/ploi-php-sdk\n```\n\n## Usage\n\nFirst you need to call a new Ploi instance\n\n```php\n$ploi = new \\Ploi\\Ploi($apiToken);\n// or\n$ploi = new \\Ploi\\Ploi();\n$ploi-\u003esetApiToken($token);\n```\n\n### Responses\nWhen calling a resource, it will return a `Ploi\\Http\\Response` object containing decoded JSON as well as the original response from the Guzzle client.\n\nYou can also only retrieve the JSON, use the `getJson()` method to only get the JSON back:\n\n`$ploi-\u003euser()-\u003eget()-\u003egetJson()`\n\nHowever, when you want to only get the data, use the `getData()` method:\n\n`$ploi-\u003euser()-\u003eget()-\u003egetData()`\n\n### Resources\n\nResources are what you call to access a feature or function.\n\nYou can get all the resources or get a specific one by its ID, for example with servers:\n```php\n// List servers\n$ploi-\u003eservers()-\u003eget();\n\n// Get a specific server with ID 123\n$ploi-\u003eservers(123)-\u003eget();\n// or\n$ploi-\u003eservers()-\u003eget(123);\n```\n\nSome actions will require the resource's ID to be set before they can be used:\n```php\n// Throws Ploi\\Exceptions\\Resource\\RequiresId\n$ploi-\u003eservers()-\u003edelete();\n\n// Will attempt to delete server by ID\n$ploi-\u003eservers()-\u003edelete(123);\n// or\n$ploi-\u003eservers(123)-\u003edelete();\n```\n\n### Servers\n\nYou create a new server by:\n```php\n$ploi-\u003eservers()-\u003ecreate(\n    $serverName,\n    $providerId,\n    $region,\n    $plan,\n    $options = []\n);\n```\n\nOr you can create a custom server with a provider not set up in Ploi\n```php\n$ploi-\u003eservers()-\u003ecreateCustom($ip, $options);\n```\nAfter running this request, you will have to add the public key of the Ploi worker to your server.\nThis is included in the response with a 1-line command within the `ssh_command` key.\nOnce this is done, you can trigger the URL from the response with the `start_installation_url` key or by passing in the server ID.\n\n```php\n$ploi-\u003eservers()-\u003estartInstallation($installationUrl);\n// or\n$ploi-\u003eservers(123)-\u003estartInstallation();\n```\n\nOther methods for servers:\n```php\n// Get server list\n$ploi-\u003eservers()-\u003eget();\n\n// Paginate servers\n$ploi-\u003eservers()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n// or\n$ploi-\u003eservers()-\u003epage($pageNumber, $amountPerPage);\n\n// Get server\n$ploi-\u003eservers(123)-\u003eget();\n\n// Delete server\n$ploi-\u003eservers(123)-\u003edelete();\n\n// Get server logs\n$ploi-\u003eservers(123)-\u003elogs();\n\n// Restart server\n$ploi-\u003eservers(123)-\u003erestart();\n\n// Get server monitoring\n$ploi-\u003eservers(123)-\u003emonitoring();\n\n// Get PHP versions installed on server\n$ploi-\u003eservers(123)-\u003ephpVersions();\n\n// Enable opcache\n$ploi-\u003eservers(123)-\u003eopcache()-\u003eenable();\n\n// Disable opcache\n$ploi-\u003eservers(123)-\u003eopcache()-\u003edisable();\n\n// Refresh opcache\n$ploi-\u003eservers(123)-\u003eopcache()-\u003erefresh();\n```\n\n### Sites\n\nAvailable methods for sites:\n```php\n//Create site\n$ploi-\u003eservers(123)-\u003esites()-\u003ecreate(\n    $domain,\n    $webDirectory = '/public',\n    $projectDirectory = '/',\n    $systemUser = 'ploi',\n    $systemUserPassword = null,\n    $webserverTemplate = null,\n    $projectType = null\n);\n\n// List sites\n$ploi-\u003eservers(123)-\u003esites()-\u003eget();\n\n// Paginate sites\n$ploi-\u003eservers(123)-\u003esites()-\u003eperPage(15)-\u003epage(1);\n\n// Get site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eget();\n\n// Delete site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edelete();\n\n// Update site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eupdate($rootDomain);\n\n// Get site logs\n$ploi-\u003eservers(123)-\u003esites(123)-\u003elogs();\n\n// Set PHP version for site to use\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ephpVersion($phpVersion);\n\n// Enable test domain on site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eenableTestDomain();\n// Disable test domain on site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edisableTestDomain();\n// Get test domain details for site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etestDomain();\n\n// Suspend site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003esuspend($id = null, $reason = null);\n// Resume site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eresume();\n\n// Get Laravel Horizon statistics\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ehorizonStatistics($type);\n```\n\n### Databases\n\nAvailable methods for databases:\n```php\n// Create database\n$ploi-\u003eservers(123)-\u003edatabases()-\u003ecreate(\n    $databaseName,\n    $databaseUser,\n    $databaseUserPassword,\n    $description = null,\n    $siteId = null\n);\n\n// List databases\n$ploi-\u003eservers(123)-\u003edatabases()-\u003eget();\n\n// Paginate databases\n$ploi-\u003eservers(123)-\u003edatabases()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get database\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eget();\n\n// Delete database\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003edelete();\n\n// Acknowledge database\n$ploi-\u003eservers(123)-\u003edatabases()-\u003eacknowledge($databaseName);\n\n// Forget database\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eforget();\n\n// Duplicate database\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eduplicate($name, $user = null, $password = null);\n```\n\n### Database Backups\n\nAvailable methods for database backups:\n```php\n// Create database backup\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups()-\u003ecreate(\n    $interval,\n    $type,\n    $table_exclusions = null,\n    $locations = null,\n    $path = null\n);\n\n// List database backups\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups()-\u003eget();\n\n// Paginate database backups\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get database backup\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups(123)-\u003eget();\n\n// Delete database backup\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups(123)-\u003edelete();\n\n// Toggle database backup\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003ebackups(123)-\u003etoggle();\n```\n\n### File Backups\n\nAvailable methods for file backups:\n```php\n// List site file backups\n$ploi-\u003efileBackups()-\u003eget();\n\n// Paginate file backups\n$ploi-\u003efileBackups()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get specific file backup\n$ploi-\u003efileBackups(123)-\u003eget();\n\n// Create file backup\n$ploi-\u003efileBackups()-\u003ecreate(\n    $backup_configuration,\n    $server,\n    $sites,\n    $interval,\n    $path,\n    $locations = null,\n    $keep_backup_amount = null,\n    $custom_name = null,\n    $password = null\n);\n\n// Run file backup\n$ploi-\u003efileBackups(123)-\u003erun();\n\n// Delete file backup\n$ploi-\u003efileBackups(123)-\u003edelete();\n```\n\n### Database Users\n\nAvailable methods for database users:\n```php\n// Create database user\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eusers()-\u003ecreate(\n    $user,\n    $password,\n);\n\n// List database users\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eusers()-\u003eget();\n\n// Paginate database users\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eusers()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get database user\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eusers(123)-\u003eget();\n\n// Delete database user\n$ploi-\u003eservers(123)-\u003edatabases(123)-\u003eusers(123)-\u003edelete();\n```\n\n### Cronjobs\n\nAvailable methods for cronjobs:\n```php\n// Create cronjob\n$ploi-\u003eservers(123)-\u003ecronjobs()-\u003ecreate(\n    $command,\n    $frequency,\n    $user = 'ploi'\n);\n\n// List cronjobs\n$ploi-\u003eservers(123)-\u003ecronjobs()-\u003eget();\n\n// Paginate cronjobs\n$ploi-\u003eservers(123)-\u003ecronjobs()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get cronjob\n$ploi-\u003eservers(123)-\u003ecronjobs(123)-\u003eget();\n\n// Delete cronjob\n$ploi-\u003eservers(123)-\u003ecronjobs(123)-\u003edelete();\n```\n\n### Network Rules\n\nAvailable methods for network rules:\n```php\n// Create network rule\n$ploi-\u003eservers(123)-\u003enetworkRules()-\u003ecreate(\n    $name,\n    $port,\n    $type = 'tcp',\n    $fromIpAddress = null,\n    $ruleType = 'allow'\n);\n\n// List network rules\n$ploi-\u003eservers(123)-\u003enetworkRules()-\u003eget();\n\n// Paginate network rules\n$ploi-\u003eservers(123)-\u003enetworkRules()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get network rule\n$ploi-\u003eservers(123)-\u003enetworkRules(123)-\u003eget();\n\n// Delete network rule\n$ploi-\u003eservers(123)-\u003enetworkRules(123)-\u003edelete();\n```\n\n### Queues\n\nAvailable methods for queues:\n```php\n// Create queue\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues()-\u003ecreate(\n    $connection = 'database',\n    $queue = 'default',\n    $maximumSeconds = 60,\n    $sleep = 30,\n    $processes = 1,\n    $maximumTries = 1\n);\n\n// List queues\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues()-\u003eget();\n\n// Paginate queues\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get queue\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues(123)-\u003eget();\n\n// Delete queue\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues(123)-\u003edelete();\n\n// Pause queue\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues(123)-\u003epause();\n\n// Restart queue\n$ploi-\u003eservers(123)-\u003esites(123)-\u003equeues(123)-\u003erestart();\n```\n\n### Certificates\n\nAvailable methods for certificates:\n```php\n// Create certificate\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ecertificates()-\u003ecreate(\n    $certificate,\n    $type = 'letsencrypt'\n);\n\n// List certificates\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ecertificates()-\u003eget();\n\n// Paginate certificates\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ecertificates()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get certificate\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ecertificates(123)-\u003eget();\n\n// Delete certificate\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ecertificates(123)-\u003edelete();\n```\n\n### NGINX Configuration\n\nAvailable methods for NGINX configuration:\n```php\n// Get NGINX configuration\n$ploi-\u003eservers(123)-\u003esites(123)-\u003enginxConfiguration()-\u003eget();\n\n// Update NGINX configuration\n$ploi-\u003eservers(123)-\u003esites(123)-\u003enginxConfiguration()-\u003eupdate($configuration);\n```\n\n### Load Balancers\n\nAvailable methods for load balancers\n```php\n// Request certificate\n$ploi-\u003eservers(123)-\u003eloadBalancer()-\u003erequestCertificate($domain);\n\n// Revoke certificate\n$ploi-\u003eservers(123)-\u003eloadBalancer()-\u003erevokeCertificate($domain);\n\n```\n\n### Auth Users\n\nAvailable methods for auth users:\n```php\n// Create auth user\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eauthUser()-\u003ecreate(\n    $name,\n    $password\n);\n\n// List auth users\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eauthUser()-\u003eget();\n\n// Paginate auth users\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eauthUser()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get auth user\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eauthUser(123)-\u003eget();\n\n// Delete auth user\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eauthUser(123)-\u003edelete();\n```\n\n### Deployments\n\nAvailable methods for deployments\n```php\n// Get default deploy script\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edeployment()-\u003edeployScript();\n\n// Update default deploy script\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edeployment()-\u003eupdateDeployScript($script = '');\n\n// Deploy a site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edeployment()-\u003edeploy();\n\n// Deploy a staging site to production\n$ploi-\u003eservers(123)-\u003esites(123)-\u003edeployment()-\u003edeployToProduction();\n```\n\n### Environments\n\nAvailable methods for environments\n```php\n// Get .env for site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eenvironment()-\u003eget();\n\n// Update .env for site\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eenvironment()-\u003eupdate($content);\n```\n\n### Repositories\n\nAvailable methods for repositories:\n```php\n// Install repository\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erepository()-\u003einstall(\n    $provider,\n    $branch,\n    $name\n);\n\n// Get repository\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erepository()-\u003eget();\n\n// Delete repository\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erepository()-\u003edelete();\n\n// Toggle quick deploy on repository\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erepository()-\u003etoggleQuickDeploy();\n```\n\n### Redirects\n\n```php\n// Create redirect\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eredirects()-\u003ecreate(\n    $redirectFrom,\n    $redirectTo,\n    $type = 'redirect'\n);\n\n// List redirects\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eredirects()-\u003eget();\n\n// Paginate redirects\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eredirects()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get redirect\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eredirects(123)-\u003eget();\n\n// Delete redirect\n$ploi-\u003eservers(123)-\u003esites(123)-\u003eredirects(123)-\u003edelete();\n```\n\n### Aliases\n\n```php\n// Create aliases\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ealiases()-\u003ecreate($aliases);\n\n// List aliases\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ealiases()-\u003eget();\n\n// Delete alias\n$ploi-\u003eservers(123)-\u003esites(123)-\u003ealiases()-\u003edelete($alias);\n```\n\n### FastCGI Cache\n\n```php\n// Enable FastCGI cache\n$ploi-\u003eservers(123)-\u003esites(123)-\u003efastCgi()-\u003eenable();\n\n// Disable FastCGI cache\n$ploi-\u003eservers(123)-\u003esites(123)-\u003efastCgi()-\u003edisable();\n\n// Flush FastCGI cache\n$ploi-\u003eservers(123)-\u003esites(123)-\u003efastCgi()-\u003eflush();\n```\n\n### Tenants\n\n```php\n// Create tenant\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etenants()-\u003ecreate($tenants);\n\n// List tenants\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etenants()-\u003eget();\n\n// Delete tenant\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etenants()-\u003edelete($tenant);\n\n// Request tenant certificate\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etenants()-\u003erequestCertificate($tenant);\n\n// Revoke tenant certificate\n$ploi-\u003eservers(123)-\u003esites(123)-\u003etenants()-\u003erevokeCertificate($tenant);\n```\n\n### Robot Access\n\n```php\n// Allow robot access\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erobots()-\u003eallow();\n\n// Block robot access\n$ploi-\u003eservers(123)-\u003esites(123)-\u003erobots()-\u003eblock();\n```\n\n### Monitors\n\n```php\n// List monitors\n$ploi-\u003eservers(123)-\u003esites(123)-\u003emonitors()-\u003eget();\n\n// Paginate monitors\n$ploi-\u003eservers(123)-\u003esites(123)-\u003emonitors()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get specific monitor\n$ploi-\u003eservers(123)-\u003esites(123)-\u003emonitors(123)-\u003eget();\n\n// Get uptime responses\n$ploi-\u003eservers(123)-\u003esites(123)-\u003emonitors(123)-\u003euptimeResponses();\n```\n\n### Scripts\n\nAvailable methods for scripts:\n```php\n// Create script\n$ploi-\u003escripts()-\u003ecreate($label, $user, $content);\n\n// List scripts\n$ploi-\u003escripts()-\u003eget();\n\n// Paginate scripts\n$ploi-\u003escripts()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get script\n$ploi-\u003escripts(123)-\u003eget();\n\n// Delete script\n$ploi-\u003escripts(123)-\u003edelete();\n\n// Run script\n$ploi-\u003escripts(123)-\u003erun($id = null, $serverIds = []);\n```\n\n### Daemons\n\nAvailable methods for daemons:\n```php\n// Create daemon\n$ploi-\u003eservers(123)-\u003edaemons()-\u003ecreate(\n    $command,\n    $systemUser,\n    $processes,\n    $directory = null\n);\n\n// List daemons\n$ploi-\u003eservers(123)-\u003edaemons()-\u003eget();\n\n// Paginate daemons\n$ploi-\u003eservers(123)-\u003edaemons()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get daemon\n$ploi-\u003eservers(123)-\u003edaemons(123)-\u003eget();\n\n// Delete daemon\n$ploi-\u003eservers(123)-\u003edaemons(123)-\u003edelete();\n\n// Pause daemon\n$ploi-\u003eservers(123)-\u003edaemons(123)-\u003epause();\n\n// Restart daemon\n$ploi-\u003eservers(123)-\u003edaemons(123)-\u003erestart();\n```\n\n### Services\n```php\n// Restart service\n$ploi-\u003eservers(123)-\u003eservices($name)-\u003erestart();\n```\n\n### System Users\n\nAvailable methods for system users:\n```php\n// Create system user\n$ploi-\u003eservers(123)-\u003esystemUsers()-\u003ecreate(\n    $name,\n    $sudo = false\n);\n\n// List system users\n$ploi-\u003eservers(123)-\u003esystemUsers()-\u003eget();\n\n// Paginate system users\n$ploi-\u003eservers(123)-\u003esystemUsers()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get system users\n$ploi-\u003eservers(123)-\u003esystemUsers(123)-\u003eget();\n\n// Delete system user\n$ploi-\u003eservers(123)-\u003esystemUsers(123)-\u003edelete();\n```\n\n### SSH Keys\n\nAvailable methods for SSH keys:\n```php\n// Create SSH key\n$ploi-\u003eservers(123)-\u003esshKeys()-\u003ecreate(\n    $name = 'ssh key name',\n    $key = 'ssh key here',\n    $systemUser = 'ploi'\n);\n\n// List SSH keys\n$ploi-\u003eservers(123)-\u003esshKeys()-\u003eget();\n\n// Paginate SSH keys\n$ploi-\u003eservers(123)-\u003esshKeys()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get SSH key\n$ploi-\u003eservers(123)-\u003esshKeys(123)-\u003eget();\n\n// Delete SSH key\n$ploi-\u003eservers(123)-\u003esshKeys(123)-\u003edelete();\n```\n\n### Insights\n```php\n// List insights\n$ploi-\u003eservers(123)-\u003einsights()-\u003eget();\n\n// Paginate insights\n$ploi-\u003eservers(123)-\u003einsights()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get insight\n$ploi-\u003eservers(123)-\u003einsights(123)-\u003eget();\n\n// Get insight detail\n$ploi-\u003eservers(123)-\u003einsights(123)-\u003edetail();\n\n// Automatically fix insight\n$ploi-\u003eservers(123)-\u003einsights(123)-\u003eautomaticallyFix();\n\n// Ignore insight\n$ploi-\u003eservers(123)-\u003einsights(123)-\u003eignore();\n\n// Delete insight\n$ploi-\u003eservers(123)-\u003einsights(123)-\u003edelete();\n```\n\n### User\n\nAvailable methods for user:\n```php\n// Get own user information\n$ploi-\u003euser()-\u003eget();\n\n// List server providers\n$ploi-\u003euser()-\u003eserverProviders();\n\n// Get server providers\n$ploi-\u003euser()-\u003eserverProviders($providerId);\n```\n\n### Status Pages\n\nAvailable methods for status pages:\n```php\n// List status pages\n$ploi-\u003estatusPage()-\u003eget();\n\n// Paginate status pages\n$ploi-\u003estatusPage()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get status page\n$ploi-\u003estatusPage(123)-\u003eget();\n```\n\n### Status Page Incidents\n\nAvailable methods for status page incidents:\n```php\n// Create incident\n$ploi-\u003estatusPage(123)-\u003eincident()-\u003ecreate(\n    $title,\n    $description,\n    $severity\n);\n\n// List incidents\n$ploi-\u003estatusPage(123)-\u003eincident()-\u003eget();\n\n// Paginate incidents\n$ploi-\u003estatusPage(123)-\u003eincident()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Delete incident\n$ploi-\u003estatusPage(123)-\u003eincident(123)-\u003edelete();\n```\n\n### Webserver Templates\n\nAvailable methods for webserver templates:\n```php\n// List webserver templates\n$ploi-\u003ewebserverTemplates()-\u003eget();\n\n// Paginate webserver templates\n$ploi-\u003ewebserverTemplates()-\u003eperPage($amountPerPage)-\u003epage($pageNumber);\n\n// Get webserver template\n$ploi-\u003ewebserverTemplates(123)-\u003eget();\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fploi%2Fploi-php-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fploi%2Fploi-php-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fploi%2Fploi-php-sdk/lists"}