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 customerdev_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 environmentphp_version(required) — PHP version for the environmentcustom_domain(required, nullable) — Custom domain ornullis_production(optional) — Set totruefor 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 pending → deploying → deployed (or failed). Once deployed, the site is live at the environment's domain.
What Just Happened
You've completed the core workflow:
- Created a site — Provisioned a development container with WordPress
- Created an environment — Set up production infrastructure (serverless, with CDN)
- 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 |