PHPackages                             vented/vented-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. vented/vented-laravel

ActiveLibrary[API Development](/categories/api)

vented/vented-laravel
=====================

The official Laravel SDK for the Vented API.

v0.1.1(2w ago)010↓66.7%MITPHPPHP ^8.3CI passing

Since Jul 18Pushed 1w agoCompare

[ Source](https://github.com/Vented-Labs/vented-laravel)[ Packagist](https://packagist.org/packages/vented/vented-laravel)[ Docs](https://vented.com)[ RSS](/packages/vented-vented-laravel/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (3)Dependencies (22)Versions (3)Used By (0)

Vented for Laravel
==================

[](#vented-for-laravel)

The official Laravel package for the Vented JSON:API. It provides generated resource clients, strict readonly DTOs, and one Artisan command for every API-key endpoint.

Requirements
------------

[](#requirements)

- PHP 8.3 or later
- Laravel 12 or 13

Installation
------------

[](#installation)

Install the package with Composer:

```
composer require vented/vented-laravel
```

Laravel discovers `Vented\VentedServiceProvider` automatically. Publish the configuration if you need to customize it:

```
php artisan vendor:publish --tag=vented-config
```

Set the API key in your application environment:

```
VENTED_API_KEY=your-api-key
VENTED_BASE_URL=https://vented.com
VENTED_COMMANDS_ENABLED=true
```

Optional transport settings are `VENTED_TIMEOUT`, `VENTED_CONNECT_TIMEOUT`, `VENTED_RETRY_TIMES`, and `VENTED_RETRY_DELAY_MILLISECONDS`.

Usage
-----

[](#usage)

Inject the immutable client:

```
use Vented\Data\StoreProjectData;
use Vented\Vented;

final class SyncProjects
{
    public function __construct(private Vented $vented) {}

    public function __invoke(): void
    {
        $projects = $this->vented->projects()->list();

        foreach ($projects->data as $project) {
            // $project is a generated ProjectData instance.
        }

        $this->vented->projects()->create(new StoreProjectData(
            name: 'Production',
            location_id: 'location-id',
        ));
    }
}
```

```
use Vented\Facades\Vented;

$result = Vented::projects()->find('project-id');

$rawResponse = $result->response;
```

For multi-account applications, create immutable variants rather than mutating the scoped client:

```
$customer = $vented->forApiKey($customerToken);
```

Every send creates a fresh Laravel `PendingRequest`. Automatic retries are limited to transient failures on idempotent HTTP methods; POST and PATCH requests are never retried.

Artisan Commands
----------------

[](#artisan-commands)

Every API-key endpoint has a generated command:

```
php artisan vented:projects:list --json
php artisan vented:projects:show project-id --json
php artisan vented:projects:create --data='{"name":"Production","location_id":"location-id"}'
php artisan vented:projects:delete project-id --force
```

Set `VENTED_COMMANDS_ENABLED=false` to avoid registering the generated commands.

Octane
------

[](#octane)

`Vented` is registered as a scoped service and is recreated for each Octane request or task. Credentials, requests, responses, and resources are never stored statically. Generated operation and command metadata use bounded class constants so workers avoid repeatedly rebuilding immutable tables, while the package version uses one bounded process-wide cache.

Errors
------

[](#errors)

Missing credentials throw `Vented\Exceptions\MissingApiKeyException`. HTTP errors throw `Vented\Exceptions\ApiException`, which retains the raw Laravel response and parsed JSON:API error objects. Connection failures are normalized to `Vented\Exceptions\TransportException`.

Generated Code
--------------

[](#generated-code)

The client, DTOs, resource methods, endpoint registry, and commands are generated from Vented's OpenAPI contract. Generation happens in Vented's private source repository; no generator, reflection helper, template, or OpenAPI document ships in this package. The generated runtime uses explicit methods and direct hydration without runtime reflection.

License
-------

[](#license)

The MIT License. See [LICENSE.md](LICENSE.md).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance97

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~26 days

Total

2

Last Release

19d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/168465940?v=4)[masoncurry](/maintainers/masoncurry)[@Masoncurry](https://github.com/Masoncurry)

---

Tags

laravelsdkJSON-APIvented

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/vented-vented-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/vented-vented-laravel/health.svg)](https://phpackages.com/packages/vented-vented-laravel)
```

###  Alternatives

[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

80732.6M276](/packages/laravel-mcp)[psalm/plugin-laravel

Psalm plugin for Laravel

3365.5M359](/packages/psalm-plugin-laravel)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

818355.4k3](/packages/defstudio-telegraph)[spatie/laravel-health

Monitor the health of a Laravel application

89313.5M196](/packages/spatie-laravel-health)[laravel/ai

The official AI SDK for Laravel.

1.1k6.4M363](/packages/laravel-ai)[laravel/sail

Docker files for running a basic Laravel application.

1.9k220.0M1.5k](/packages/laravel-sail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
