timdesm / pterodactyl-php-api
Pterodactyl PHP API
Installs: 3 854
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/timdesm/pterodactyl-php-api
Requires
- php: >=7.2.5
- guzzlehttp/guzzle: ^6.0|^7.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.0
This package is auto-updated.
Last update: 2025-12-15 22:04:00 UTC
README
This project is for Pterodactyl Panel v1.x
Install Pterodactyl PHP API via Composer
You can install the Pterodactyl PHP API into your project using Composer.
$ composer require timdesm/pterodactyl-php-api
This project requires PHP version 7.2.5 or later.
Usage
First create an Application or Account (client) API key. Some features work only with Application or Client API keys.
The API type is specified as a string, default is application. To use the Account API specify client as API type.
$pterodactylApi = new \Timdesm\PterodactylPhpApi\PterodactylApi(BASE_URI_HERE, API_KEY_HERE, API_TYPE_HERE);
Or use the following method
use Timdesm\PterodactylPhpApi\PterodactylApi; $pterodactylApi = new PterodactylApi(BASE_URI_HERE, API_KEY_HERE, API_TYPE_HERE);
Features
This SDK now mirrors the structure of the official API surface and exposes helpers for both Application and Client integrations:
- Full account management including API keys, permissions, activity logs and two factor enable/disable flows.
- Extended server tooling with dedicated managers for backups, databases, files (including chmod, remote pulls, uploads), schedules and subusers.
- Updated HTTP layer with automatic JSON encoding, query filtering and support for every v1 endpoint prefix.
Examples
// Fetch the current user's API keys $client = new PterodactylApi('https://panel.example.com', 'client-token', 'client'); $keys = $client->account->apiKeys(); // Schedule a power action on a server $schedule = $client->server_schedules->create($serverId, [ 'name' => 'Restart every night', 'cron_day_of_week' => '*', 'cron_day_of_month' => '*', 'cron_hour' => '3', 'cron_minute' => '0', 'is_active' => true, ]); $client->server_schedules->createTask($serverId, $schedule->id, [ 'action' => 'power', 'payload' => 'restart', 'time_offset'=> 0, ]);
Some Handy Links
- Documentation - The community maintained Pterodactyl API documentation.
- Pterodactyl - The Pterodactyl Panel project website.
- Pterodactyl API v1 - Pterodactyl API v1 Documentation.
Get Support!
First check the Documentation for more information regarding the usage of this project. Note: The documentation- pages are still under construction.
You can get support by going to our Discord server or submitting new issue.
Contributing
If you want to contribute to this project, fetch it locally and open a pull request to get your branch merged.
License
timdesm/pterodactyl-php-api is licensed under the MIT License (MIT). Please see the
license file for more information.