2026.09.2
Official clients for PHP and Laravel
If you drive LIVCK from PHP or Laravel, you no longer have to build requests, retries and error handling yourself. The API also accepts tags by name, finds status pages by their slug and checks token permissions more closely.
Security
A token that deletes a service with
delete_orphaned_incidentsordelete_orphaned_maintenancesnow also needs Delete Incidents or Delete Maintenances respectively, otherwise the API answers403. A token whose creator is limited to access areas now links incidents and maintenance only to services and status pages inside those areas. If your script uses either parameter, give its token the matching permission.
New
With
livck/cloud-phpyou drive LIVCK Cloud from PHP without building JSON by hand. Services come from a typed builder, every error arrives as an exception of its own, and the client pages through lists itself. If a connection drops, it repeats the request with the sameIdempotency-Key, and nothing is created twice.livck/cloud-laraveladds configuration, a facade, several connections and a fake for tests. Both packages are MIT-licensed.composer require livck/cloud-phpcomposer require livck/cloud-laravel
GET /v1/statuspages?slug=customer-4711returns exactly that page or an empty list. Every status page now gives its public address inurl, and every component the status visitors see ineffective_status.
Improved
When a service or a custom domain hits a limit of your plan, the
403response now carriesupsellwith the limit concerned, pluslimitandusage. A script can tell a full quota from missing permissions that way.The API's error messages are now always in English, also for organisations with German content.
Accept-Languageonly decides the language of content, such as incident titles.GET /v1/services?tag=with an empty value now returns an empty list instead of every service. A script whose variable came out empty never gets all services by accident.
Fixed
statuspage_idwas empty on custom domains. It now names the domain's status page.Editing a status page with
email_whitelist: nullended in a500.nullnow counts as an empty list.An oversized request got an HTML page back. The API now answers
413with an error message in JSON.