VECTOR
Vector Pro

Getting Started

Walk through your first interactions with the Vector Pro API. By the end, you'll have created a site, set up an environment, and triggered your first deployment.

What You'll Need

After onboarding, BuiltFast provides you with:

  • Your partner domain — The domain where your customers' sites will live (e.g., yourpartnerdomain.com)
  • API credentials — A Bearer token for authenticating API requests
  • Account access — Your account is pre-configured and ready to use

If you're missing any of these, reach out to your BuiltFast contact.

Authentication

All API requests require authentication via Bearer token. Include your token in the Authorization header:

Authorization: Bearer {your-api-token}

The API is hosted at https://api.builtfast.com. All requests should use HTTPS.

Example request:

curl -X GET https://api.builtfast.com/api/v1/vector/sites \
  -H "Authorization: Bearer {your-api-token}" \
  -H "Accept: application/json"

If authentication fails, you'll receive a 401 Unauthenticated response.

API Response Format

All responses follow a consistent structure:

{
  "data": { ... },
  "message": "Description of what happened",
  "http_status": 200
}

For list endpoints, data is an array. For single-resource endpoints, data is an object. Error responses include details about what went wrong.

Creating Your First Site

Let's create a site. This provisions the development container where your customer will manage their WordPress installation.

curl -X POST https://api.builtfast.com/api/v1/vector/sites \
  -H "Authorization: Bearer {your-api-token}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "partner_customer_id": "cust_12345",
    "dev_php_version": "8.3"
  }'

Parameters:

  • partner_customer_id (required) — Your internal identifier for this customer
  • dev_php_version (required) — PHP version for the development container (e.g., "8.2", "8.3", "8.4")
  • tags (optional) — Array of tags for categorizing the site

Response:

{
  "data": {
    "id": "01JFGXK4NQRST5VWX9YZ0ABCDE",
    "partner_customer_id": "cust_12345",
    "status": "pending",
    "tags": [],
    "dev_domain": "abc123.yourpartnerdomain.com",
    "dev_db_username": "db-01jfgxk4nqrst5vwx9yz0abcde",
    "dev_db_password": "aBcD1234!@#$EfGh5678",
    "environments": [],
    "created_at": "2025-05-27T09:50:21+00:00",
    "updated_at": "2025-05-27T09:50:21+00:00"
  },
  "message": "Vector site creation initiated",
  "http_status": 201
}

Store credentials securely

The dev_db_username and dev_db_password are the credentials for direct database access if needed. Store them securely.

Checking Site Status

Poll the site endpoint to check when provisioning completes:

curl -X GET https://api.builtfast.com/api/v1/vector/sites/{site_id} \
  -H "Authorization: Bearer {your-api-token}" \
  -H "Accept: application/json"

When status changes to active, the development environment is ready. Your customer can now:

  • Access WordPress admin at https://{dev_domain}/wp-admin
  • Connect via SFTP to upload files
  • Install plugins, themes, and create content

Creating an Environment

With the site active, create an environment to deploy to. Let's create a production environment:

curl -X POST https://api.builtfast.com/api/v1/vector/sites/{site_id}/environments \
  -H "Authorization: Bearer {your-api-token}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "production",
    "php_version": "8.3",
    "custom_domain": null,
    "is_production": true
  }'

Parameters:

  • name (required) — A slug-format identifier for the environment
  • php_version (required) — PHP version for the environment
  • custom_domain (required, nullable) — Custom domain or null
  • is_production (optional) — Set to true for production (enables CDN)
  • tags (optional) — Array of tags

Response:

{
  "data": {
    "id": "01JFGXK4NQRST5VWX9YZ0ABCDG",
    "vector_site_id": "01JFGXK4NQRST5VWX9YZ0ABCDE",
    "name": "production",
    "is_production": true,
    "status": "pending",
    "provisioning_step": "pending",
    "php_version": "8.3",
    "fqdn": "def456.yourpartnerdomain.com",
    "custom_domain": null,
    "subdomain": "def456",
    "created_at": "2025-05-27T09:55:00+00:00",
    "updated_at": "2025-05-27T09:55:00+00:00"
  },
  "message": "Environment creation initiated",
  "http_status": 201
}

Triggering a Deployment

Once the environment is active, you can deploy. This pushes the current state of the development container to the environment:

curl -X POST https://api.builtfast.com/api/v1/vector/sites/{site_id}/environments/{environment_id}/deployments \
  -H "Authorization: Bearer {your-api-token}" \
  -H "Accept: application/json"

Response:

{
  "data": {
    "id": "01JFGXK4NQRST5VWX9YZ0ABCDH",
    "status": "pending",
    "actor": "api@yourcompany.com",
    "environment": {
      "id": "01JFGXK4NQRST5VWX9YZ0ABCDG",
      "name": "production",
      "is_production": true
    },
    "created_at": "2025-05-27T10:00:00+00:00"
  },
  "message": "Deployment initiated",
  "http_status": 201
}

The deployment progresses through pendingdeployingdeployed (or failed). Once deployed, the site is live at the environment's domain.

What Just Happened

You've completed the core workflow:

  1. Created a site — Provisioned a development container with WordPress
  2. Created an environment — Set up production infrastructure (serverless, with CDN)
  3. Deployed — Pushed development content to production

Your customer's site is now live on serverless infrastructure that scales automatically.

SDK & CLI

If you'd rather not write curl commands, we provide a PHP SDK and CLI tool:

# PHP SDK
composer require built-fast/vector-pro-sdk

# CLI
composer global require built-fast/vector-pro-cli

The SDK gives you a typed client with methods like $client->createSite() and $client->createDeployment(). The CLI lets you manage sites directly from your terminal with commands like vector site:list and vector deploy:create.

See the Developer Tools guide for full documentation.

Quick Reference

Operation Method Endpoint
List sites GET /api/v1/vector/sites
Create site POST /api/v1/vector/sites
Get site GET /api/v1/vector/sites/{site_id}
List environments GET /api/v1/vector/sites/{site_id}/environments
Create environment POST /api/v1/vector/sites/{site_id}/environments
Deploy POST /api/v1/vector/sites/{site_id}/environments/{env_id}/deployments
List deployments GET /api/v1/vector/sites/{site_id}/environments/{env_id}/deployments