PHPackages                             built-fast/vector-pro-sdk - 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. built-fast/vector-pro-sdk

ActiveLibrary[API Development](/categories/api)

built-fast/vector-pro-sdk
=========================

PHP SDK for the Vector Pro API

v0.1.0(4mo ago)00[2 PRs](https://github.com/built-fast/vector-pro-sdk-php/pulls)MITPHPPHP ^8.3CI passing

Since Feb 6Pushed 4mo agoCompare

[ Source](https://github.com/built-fast/vector-pro-sdk-php)[ Packagist](https://packagist.org/packages/built-fast/vector-pro-sdk)[ Docs](https://github.com/built-fast/vector-pro-sdk-php)[ RSS](/packages/built-fast-vector-pro-sdk/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (9)Versions (4)Used By (0)

 [![BuiltFast Logo Light Mode](/assets/images/logo-light-mode.svg#gh-light-mode-only)](/assets/images/logo-light-mode.svg#gh-light-mode-only) [![BuiltFast Logo Dark Mode](/assets/images/logo-dark-mode.svg#gh-dark-mode-only)](/assets/images/logo-dark-mode.svg#gh-dark-mode-only)

Vector Pro SDK for PHP
======================

[](#vector-pro-sdk-for-php)

Official PHP SDK for [Vector Pro](https://builtfast.dev/api) by [BuiltFast](https://builtfast.com).

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

[](#requirements)

- PHP 8.3+
- A PSR-18 HTTP client (e.g., Guzzle)

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

[](#installation)

```
composer require built-fast/vector-pro-sdk
```

You'll also need a PSR-18 HTTP client. If you don't have one:

```
composer require guzzlehttp/guzzle
```

Quick Start
-----------

[](#quick-start)

```
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\HttpFactory;
use VectorPro\VectorProClient;
use VectorPro\VectorProClientConfig;

$config = new VectorProClientConfig(
    apiKey: 'your-api-key',
);

$factory = new HttpFactory();
$client = new VectorProClient(
    $config,
    new Client(),
    $factory,
    $factory,
);

// List all sites (returns PaginatedResponse)
$response = $client->sites->list();
foreach ($response->data as $site) {
    echo $site->id . ': ' . $site->partner_customer_id . "\n";
}

// Get a specific site (returns Site)
$site = $client->sites->get('site-id');
echo $site->dev_php_version; // '8.3'
```

Response Objects
----------------

[](#response-objects)

All API methods return typed response objects for IDE autocomplete and type safety:

```
use VectorPro\Response\Actor;
use VectorPro\Response\Deployment;
use VectorPro\Response\Environment;
use VectorPro\Response\Event;
use VectorPro\Response\PaginatedResponse;
use VectorPro\Response\Site;

// Site properties
$site = $client->sites->get('site-id');
$site->id;                  // string
$site->partner_customer_id; // string
$site->dev_php_version;     // string
$site->tags;                // string[]
$site->status;              // ?string
$site->created_at;          // ?string
$site->updated_at;          // ?string

// Paginated responses
$response = $client->sites->list(['per_page' => 10, 'page' => 2]);
$response->data;         // Site[]
$response->current_page; // int
$response->per_page;     // int
$response->total;        // int
$response->last_page;    // int
```

API Reference
-------------

[](#api-reference)

### Sites

[](#sites)

```
// Returns PaginatedResponse
$client->sites->list(['per_page' => 10, 'page' => 1]);

// Returns Site
$client->sites->get('site-id');
$client->sites->create(['partner_customer_id' => 'cust-123', 'dev_php_version' => '8.3']);
$client->sites->update('site-id', ['tags' => ['production']]);
$client->sites->clone('site-id');

// Returns array
$client->sites->delete('site-id');
$client->sites->suspend('site-id');
$client->sites->unsuspend('site-id');
$client->sites->resetSftpPassword('site-id');
$client->sites->getLogs('site-id', ['type' => 'error', 'lines' => 100]);
$client->sites->purgeCache('site-id', ['paths' => ['/wp-content/*']]);
```

### Environments

[](#environments)

```
// Returns Environment[]
$client->environments->list('site-id');

// Returns Environment
$client->environments->get('env-id');
$client->environments->create('site-id', [
    'name' => 'staging',
    'php_version' => '8.3',
    'is_production' => false,
]);
$client->environments->update('env-id', ['php_version' => '8.2']);

// Returns array
$client->environments->delete('env-id');
$client->environments->resetDatabasePassword('env-id');
```

### Deployments

[](#deployments)

```
// Returns PaginatedResponse
$client->environments->deployments->list('env-id');

// Returns Deployment
$client->environments->deployments->create('env-id', [
    'description' => 'Release v1.0',
    'include_uploads' => true,
]);
$client->environments->deployments->get('deployment-id');
$client->environments->deployments->rollback('env-id', ['deployment_id' => 'prev-id']);
```

### Database

[](#database)

```
// Returns ImportStatus
$client->sites->db->import('site-id', [
    'url' => 'https://example.com/backup.sql.gz',
    'search_replace' => [
        ['search' => 'old-domain.com', 'replace' => 'new-domain.com'],
    ],
]);
$client->sites->db->createImportSession('site-id', ['filename' => 'backup.sql']);
$client->sites->db->runImport('site-id', 'import-id');
$client->sites->db->getImportStatus('site-id', 'import-id');

// Returns ExportStatus
$client->sites->db->createExport('site-id', ['format' => 'sql']);
$client->sites->db->getExportStatus('site-id', 'export-id');

// Returns array
$client->sites->db->resetPassword('site-id');
```

### WAF (Web Application Firewall)

[](#waf-web-application-firewall)

```
// Allowed referrers
$client->sites->waf->listAllowedReferrers('site-id');
$client->sites->waf->addAllowedReferrer('site-id', ['hostname' => 'trusted.com']);
$client->sites->waf->removeAllowedReferrer('site-id', 'trusted.com');

// Blocked referrers
$client->sites->waf->listBlockedReferrers('site-id');
$client->sites->waf->addBlockedReferrer('site-id', ['hostname' => 'spam.com']);
$client->sites->waf->removeBlockedReferrer('site-id', 'spam.com');

// Blocked IPs
$client->sites->waf->listBlockedIPs('site-id');
$client->sites->waf->addBlockedIP('site-id', ['ip' => '192.168.1.1']);
$client->sites->waf->removeBlockedIP('site-id', '192.168.1.1');

// Rate limiting
$client->sites->waf->listRateLimits('site-id');
$client->sites->waf->createRateLimit('site-id', [
    'path' => '/wp-login.php',
    'requests_per_second' => 5,
    'block_duration' => 300,
]);
$client->sites->waf->getRateLimit('site-id', 'rule-id');
$client->sites->waf->updateRateLimit('site-id', 'rule-id', ['requests_per_second' => 10]);
$client->sites->waf->deleteRateLimit('site-id', 'rule-id');
```

### SSL

[](#ssl)

```
// Returns SslStatus
$client->sites->ssl->getStatus('env-id');

// Returns array
$client->sites->ssl->nudge('env-id');
```

### SSH Keys

[](#ssh-keys)

```
// Account-level - Returns SshKey[] or SshKey
$client->account->sshKeys->list();
$client->account->sshKeys->create(['name' => 'My Key', 'public_key' => 'ssh-ed25519 ...']);
$client->account->sshKeys->get('key-id');
$client->account->sshKeys->delete('key-id');

// Site-level - Returns array
$client->sites->sshKeys->list('site-id');
$client->sites->sshKeys->attach('site-id', ['ssh_key_id' => 'key-id']);
$client->sites->sshKeys->detach('site-id', 'key-id');
```

### Secrets

[](#secrets)

```
// Global secrets - Returns Secret[] or Secret
$client->account->secrets->list();
$client->account->secrets->create(['name' => 'API_KEY', 'value' => 'secret']);
$client->account->secrets->get('secret-id');
$client->account->secrets->update('secret-id', ['value' => 'new-secret']);
$client->account->secrets->delete('secret-id');

// Environment secrets - Returns Secret[] or Secret
$client->environments->secrets->list('env-id');
$client->environments->secrets->create('env-id', ['name' => 'DB_HOST', 'value' => 'localhost']);
$client->environments->secrets->get('secret-id');
$client->environments->secrets->update('secret-id', ['value' => 'newhost']);
$client->environments->secrets->delete('secret-id');
```

### Webhooks

[](#webhooks)

```
// Returns Webhook[] or Webhook
$client->webhooks->list();
$client->webhooks->get('webhook-id');
$client->webhooks->create([
    'url' => 'https://example.com/webhook',
    'events' => ['site.created', 'deployment.completed'],
]);
$client->webhooks->update('webhook-id', ['enabled' => false]);
$client->webhooks->rotateSecret('webhook-id');

// Returns array
$client->webhooks->delete('webhook-id');
$client->webhooks->listLogs('webhook-id');
```

### API Keys

[](#api-keys)

```
// Returns ApiKey[] or ApiKey
$client->account->apiKeys->list();
$client->account->apiKeys->create(['name' => 'CI/CD Key']);

// Returns array
$client->account->apiKeys->delete('key-id');
```

### Events

[](#events)

```
// Returns PaginatedResponse
$response = $client->events->list([
    'site_id' => 'site-id',
    'type' => 'deployment',
    'per_page' => 50,
]);

// Event properties
$event = $response->data[0];
$event->id;          // string
$event->event;       // string (e.g., 'site.created', 'deployment.completed')
$event->model_type;  // ?string
$event->model_id;    // ?string
$event->context;     // mixed
$event->actor;       // ?Actor (ip, token_name)
$event->occurred_at; // ?string
$event->created_at;  // ?string
```

### PHP Versions

[](#php-versions)

```
$client->phpVersions->list();
```

License
-------

[](#license)

MIT

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance74

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

147d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8d39d644bf847aa005e8f6e81057468224a36d11d2b42098ec8b440867182764?d=identicon)[itspriddle](/maintainers/itspriddle)

---

Top Contributors

[![itspriddle](https://avatars.githubusercontent.com/u/49571?v=4)](https://github.com/itspriddle "itspriddle (24 commits)")

---

Tags

apiphpvector-pro

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/built-fast-vector-pro-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/built-fast-vector-pro-sdk/health.svg)](https://phpackages.com/packages/built-fast-vector-pro-sdk)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[telnyx/telnyx-php

Official Telnyx PHP SDK — APIs for Voice, SMS, MMS, WhatsApp, Fax, SIP Trunking, Wireless IoT, Call Control, and more. Build global communications on Telnyx's private carrier-grade network.

35789.4k2](/packages/telnyx-telnyx-php)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

85036.3k](/packages/flow-php-flow)[mollie/mollie-api-php

Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.

60216.0M85](/packages/mollie-mollie-api-php)[cakephp/cakephp

The CakePHP framework

8.9k19.5M1.8k](/packages/cakephp-cakephp)[getbrevo/brevo-php

Official Brevo provided RESTFul API V3 php library

1003.9M50](/packages/getbrevo-brevo-php)

PHPackages © 2026

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