hallerweb / prioritize-php-client
REST API of Prioritize, a resource, project and IoT orchestration platform. All endpoints live under /api/v1. From 1.0.0 on this REST surface is the stable public contract (SemVer); the Vaadin admin GUI and its @Route URLs are an implementation detail and NOT part of that promise. A few areas are ma
Package info
github.com/phaller222/prioritize-php-client
pkg:composer/hallerweb/prioritize-php-client
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
README
Official PHP client library for the Prioritize REST API (/api/v1).
The client is spec-first: every API and model class under src/ is generated at build
time from the frozen OpenAPI specification in openapi/openapi.json (a copy of the
docs/openapi.json released from the main Prioritize repo) and is never hand-edited.
The client version tracks the API version — 1.x of the client targets API 1.x.
Install
composer require hallerweb/prioritize-php-client
Published on Packagist.
Usage
use Hallerweb\Prioritize\Client\Configuration; use Hallerweb\Prioritize\Client\Api\ProjectApi; use GuzzleHttp\Client; $config = Configuration::getDefaultConfiguration() ->setHost('http://localhost:8080') // /api/v1 is already part of the spec paths ->setUsername('admin') // HTTP Basic ->setPassword('p@ssword'); // or Bearer (Keycloak): $config->setAccessToken('<token>'); $projects = new ProjectApi(new Client(), $config); $mine = $projects->projectGetMyProjects();
- Transport: Guzzle (
guzzlehttp/guzzle) - Auth: HTTP Basic (
setUsername/setPassword) or Bearer (setAccessToken) - Namespaces:
Hallerweb\Prioritize\Client\{Api,Model} - License: Apache-2.0 · PHP 7.4+
Regenerating
To move the client to a new API version, drop the released openapi.json into openapi/
and regenerate — the generated sources are never edited by hand:
./generate.sh
generate.sh pins the spec's openapi header to 3.0.1 if needed (the OpenAPI Generator
cannot resolve a 3.1.0 header), then runs the generator via the Maven harness in pom.xml.