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

v1.3.0 2025-10-15 20:45 UTC

README

Latest Version on Packagist Total Downloads Software License Chat on Discord

This project is for Pterodactyl Panel v1.x

Documentation

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

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.