Events
Read the Vector Pro audit trail: every site, environment, deployment, CDN, WAF, and webhook action, retained for 90 days.
View event logs for Vector Pro resources. Events are logged automatically when actions occur (site creation, deployments, etc.) and are retained for 90 days.
Event logs provide an audit trail of all activity in your account.
Actor Tracking
Each event includes an actor object when the action was triggered via the API:
ip- The IP address of the requesttoken_name- The name of the API token used
The actor field is omitted for events triggered by system processes (scheduled tasks,
queue workers processing internal jobs, etc.) where no user context exists.
Event Naming Convention
Events follow a consistent dot-notation pattern:
- Simple actions:
{entity}.{action}(e.g.,site.created,site.updated) - Lifecycle operations:
{entity}.{operation}.{phase}(e.g.,site.provisioning.started)
Available Event Types
Site Events
| Event | Description |
|---|---|
site.created |
Site record has been created |
site.updated |
Site settings have been modified |
site.cloned |
Site has been cloned from another site |
site.provisioning.started |
Container provisioning has started |
site.provisioning.completed |
Site is fully provisioned and running |
site.provisioning.failed |
Site provisioning failed |
site.suspension.started |
Site suspension has started |
site.suspension.completed |
Site has been suspended |
site.unsuspension.started |
Site unsuspension has started |
site.unsuspension.completed |
Site has been unsuspended |
site.termination.started |
Site termination has started |
site.termination.completed |
Site has been terminated |
site.sftp.password.reset |
SFTP password has been reset |
site.database.password.reset |
Database password has been reset |
site.sshkey.added |
SSH key has been added to site |
site.sshkey.removed |
SSH key has been removed from site |
site.database.import.started |
Database import has started |
site.database.import.completed |
Database import completed successfully |
site.database.import.failed |
Database import failed |
site.database.export.started |
Database export has started |
site.database.export.completed |
Database export completed successfully |
site.database.export.failed |
Database export failed |
SSH Key Events
| Event | Description |
|---|---|
sshkey.created |
SSH key has been created |
sshkey.deleted |
SSH key has been deleted |
Environment Events
| Event | Description |
|---|---|
environment.created |
Production environment has been created |
environment.updated |
Environment settings have been modified |
environment.provisioning.started |
Environment provisioning has started |
environment.provisioning.completed |
Environment is fully provisioned |
environment.provisioning.failed |
Environment provisioning failed |
environment.suspension.started |
Environment suspension has started |
environment.suspension.completed |
Environment has been suspended |
environment.unsuspension.started |
Environment unsuspension has started |
environment.unsuspension.completed |
Environment has been unsuspended |
environment.termination.started |
Environment termination has started |
environment.termination.completed |
Environment has been terminated |
environment.database.password.reset |
Database password has been reset |
Deployment Events
| Event | Description |
|---|---|
deployment.started |
Deployment to production has started |
deployment.completed |
Deployment completed successfully |
deployment.failed |
Deployment failed |
deployment.rollback.started |
Deployment rollback has started |
deployment.rollback.completed |
Deployment rollback completed |
deployment.rollback.failed |
Deployment rollback failed |
CDN Events
| Event | Description |
|---|---|
cdn.setup.started |
CDN configuration has started |
cdn.setup.completed |
CDN setup completed successfully |
cdn.setup.failed |
CDN setup failed |
DNS Events
| Event | Description |
|---|---|
dns.record.created |
DNS record has been created |
dns.record.deleted |
DNS record has been deleted |
WAF Events
| Event | Description |
|---|---|
waf.ratelimit.created |
Rate limit rule has been created |
waf.ratelimit.updated |
Rate limit rule has been updated |
waf.ratelimit.deleted |
Rate limit rule has been deleted |
waf.blockedip.created |
IP block has been created |
waf.blockedip.deleted |
IP block has been removed |
waf.blockedreferrer.created |
Referrer block has been created |
waf.blockedreferrer.deleted |
Referrer block has been removed |
waf.allowedreferrer.created |
Allowed referrer has been added |
waf.allowedreferrer.deleted |
Allowed referrer has been removed |
Secret Events
| Event | Description |
|---|---|
secret.created |
Secret has been created |
secret.updated |
Secret has been updated |
secret.deleted |
Secret has been deleted |
Domain Events
| Event | Description |
|---|---|
domain.created |
Domain has been registered |
domain.deleted |
Domain has been deleted |
API Key Events
| Event | Description |
|---|---|
apikey.created |
API key has been created |
apikey.deleted |
API key has been deleted |
Webhook Events
| Event | Description |
|---|---|
webhook.created |
Webhook endpoint has been registered |
webhook.updated |
Webhook configuration has been modified |
webhook.deleted |
Webhook endpoint has been removed |
Cache Events
| Event | Description |
|---|---|
cache.purged |
Cache has been purged |
List Events
Retrieves a paginated list of event logs for the authenticated account. Logs are returned in reverse chronological order (newest first).
Event logs are automatically pruned after 90 days.
Query Parameters
| Name | Type | Description |
|---|---|---|
from optional | string | Filter events that occurred on or after this timestamp (ISO 8601). Example: "2025-01-01T00:00:00+00:00" |
to optional | string | Filter events that occurred on or before this timestamp (ISO 8601). Example: "2025-01-31T23:59:59+00:00" |
event optional | string | Filter by event type(s). Accepts a single event or comma-separated list. Example: "site.provisioning.completed,deployment.completed" |
per_page optional | integer | Number of items per page (max 100). Default: 15. Example: 25 |
page optional | integer | Page number for pagination. Default: 1. Example: 1 |
Request
curl -X GET \
"https://api.builtfast.com/api/v1/vector/events?from=2025-01-01T00%3A00%3A00%2B00%3A00&to=2025-01-31T23%3A59%3A59%2B00%3A00&event=site.provisioning.completed%2Cdeployment.completed&per_page=25&page=1" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$events = $client->events->list([
'from' => '2025-01-01T00:00:00+00:00',
'to' => '2025-01-31T23:59:59+00:00',
'event' => 'site.provisioning.completed,deployment.completed',
'per_page' => 25,
'page' => 1,
]);const events = await client.events.list({
from: '2025-01-01T00:00:00+00:00',
to: '2025-01-31T23:59:59+00:00',
event: 'site.provisioning.completed,deployment.completed',
per_page: 25,
page: 1,
});Response
{
"data": [
{
"id": "01jfgxk4nqrst5vwx9yz0abcdl",
"event": "site.provisioning.completed",
"model_type": "VectorSite",
"model_id": "01jfgxk4nqrst5vwx9yz0abcde",
"context": null,
"actor": {
"id": 1,
"ip": "192.0.2.1",
"token_id": 1,
"token_name": "Production API Key"
},
"occurred_at": "2025-01-15T12:00:00+00:00",
"created_at": "2025-01-15T12:00:00+00:00"
}
],
"links": {},
"meta": {},
"message": "Event logs retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}