laravel-livestorm maintained by jeffersongoncalves
Description
A lightweight Livestorm webinar API client for Laravel — events, sessions, people, and webhooks.
Author
Last update
2026/09/07 22:45
(dev-main)
License
Downloads
2

Laravel Livestorm
A lightweight Livestorm webinar API client for Laravel. It wraps the api.livestorm.co/v1 JSON:API endpoints behind a small static client, threads your Bearer token, and centralises 401 detection so callers get a thrown LivestormAuthenticationException rather than a silent failure during a bad-credential window.
Features
- Events —
events(),event(),createEvent(),updateEvent(),deleteEvent(),eventPeople() - Sessions —
sessions(),session(),createSession(),deleteSession(),sessionPeople(),registerToSession(),unregisterFromSession(),sessionChatMessages(),sessionQuestions(),sessionRecordings() - People —
people(),person() - Webhooks —
webhooks(),createWebhook(),deleteWebhook() - Health check —
ping(),organization() - Credential aware — throws
LivestormAuthenticationExceptionon a 401 so a bad token doesn't look like "no data"
Installation
composer require jeffersongoncalves/laravel-livestorm
Optionally publish the config file:
php artisan vendor:publish --tag="livestorm-config"
Configuration
Add to your .env:
LIVESTORM_API_TOKEN=your-api-token
Find yours at app.livestorm.co/settings/integrations/api.
Config Options
// config/livestorm.php
return [
'api_token' => env('LIVESTORM_API_TOKEN'),
'base_url' => env('LIVESTORM_BASE_URL', 'https://api.livestorm.co/v1'),
'timeout' => (int) env('LIVESTORM_TIMEOUT', 8),
];
Usage
use JeffersonGoncalves\Livestorm\LivestormClient;
// Health check
LivestormClient::ping();
LivestormClient::organization();
// Events
$events = LivestormClient::events(title: 'Product Launch');
$event = LivestormClient::event('event-id');
$event = LivestormClient::createEvent('Product Launch', description: 'Q4 launch webinar');
LivestormClient::updateEvent('event-id', title: 'Product Launch 2.0');
LivestormClient::deleteEvent('event-id');
$attendees = LivestormClient::eventPeople('event-id');
// Sessions
$sessions = LivestormClient::sessions();
$session = LivestormClient::createSession('event-id', estimatedStartedAt: '2026-10-01T10:00:00Z');
LivestormClient::registerToSession('session-id', 'jane@example.com', firstName: 'Jane', lastName: 'Doe');
LivestormClient::unregisterFromSession('session-id', 'jane@example.com');
$recordings = LivestormClient::sessionRecordings('session-id');
// People
$people = LivestormClient::people(email: 'jane@example.com');
// Webhooks
LivestormClient::createWebhook('https://example.com/webhooks/livestorm', event: 'attendance');
Handling authentication failures
use JeffersonGoncalves\Livestorm\Exceptions\LivestormAuthenticationException;
try {
$events = LivestormClient::events();
} catch (LivestormAuthenticationException $e) {
// LIVESTORM_API_TOKEN is missing, wrong, or revoked.
}
Testing
composer test
Static Analysis
composer analyse
Code Formatting
composer format
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email the author instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.