upsun / upsun-sdk-php
The official Upsun SDK for PHP
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/psr7: ^1.8 || ^2.0
- nyholm/psr7: ^1.8
- php-http/async-client-implementation: ^1.0
- php-http/client-common: ^2.4
- php-http/discovery: ^1.14
- php-http/httplug: ^2.2
- psr/http-client-implementation: ^1.0
- psr/http-factory: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.0
- symfony/http-client: ^6.3|^7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.89
- guzzlehttp/guzzle: ^7.0
- php-http/guzzle7-adapter: ^1.0
- phpunit/phpunit: ^8.0 || ^9.0
- rector/rector: *
- slevomat/coding-standard: ^8.22
- squizlabs/php_codesniffer: ^3.13
This package is auto-updated.
Last update: 2026-04-04 12:56:26 UTC
README
The official Upsun SDK for PHP. This SDK provides a PHP interface that maps to the Upsun CLI commands.
For more information, read the documentation.
CAUTION: This project is currently in Beta, meaning features and APIs may evolve over time.
Please report bugs or request new features by creating a GitHub issue.
Installation
Install the SDK via Composer:
composer require upsun/upsun-sdk-php
Then include Composer's autoloader in your PHP application:
require __DIR__ . '/vendor/autoload.php';
Authentication
You will need an Upsun API token to use this SDK. Store it securely, preferably in an environment variable.
use Upsun\UpsunConfig; use Upsun\UpsunClient; $config = new UpsunConfig(apiToken: getenv('UPSUN_API_TOKEN')); $upsunClient = new UpsunClient($config);
Usage
Example: List organizations
$organizations = $upsunClient->organizations->list();
Example: List projects in an organization
$projects = $upsunClient->projects->list('<organizationId>');
Example: Redeploy an environment
$response = $upsunClient->environments->redeploy('<projectId>', '<environmentId>');
Development
Clone the repository and install dependencies:
git clone git@github.com:upsun/upsun-sdk-php.git composer install
Architecture of this SDK
The SDK is built as follows:
- From the JSON specs of our API
- Using
@openapitools/openapi-generator-cli - Which generates:
- PHP Models (in
src/Model/) - PHP APIs (in
src/Api/)
- PHP Models (in
- Higher-level PHP (Facade) oriented Tasks (in
src/Core/Tasks/)
Regenerating API & Model classes
API and Model classes are generated using openapi-generator-cli from the Upsun OpenAPI spec.
composer run spec:install composer run spec:full
Contributing
Contributions are welcome!
Please open a pull request or an issue
for any improvements, bug fixes, or new features.
Tests
To run the tests, use:
composer install
composer run test
License
This project is licensed under the Apache License 2.0. See the LICENSE and NOTICE files for details.