Account
Read and update your Vector Pro account, and manage the API keys, SSH keys, and global secrets it owns.
Manage your Vector Pro account settings including API keys, SSH keys, and global secrets.
Get Account Summary
Retrieves a summary of the authenticated account's Vector Pro information including owner details, cluster DNS endpoints, verified domains, site/environment counts grouped by status, deployment metrics, backup counts, and recent activity.
Site counts exclude sites in a terminal state (terminated, termination_requested,
canceled). Environment counts exclude environments in a terminal state (terminated,
terminating). Those statuses are therefore omitted from the by_status breakdowns
and are not included in any of the total/convenience counts.
Responses are cached for 5 minutes per account.
Request
curl -X GET \
"https://api.builtfast.com/api/v1/vector/account" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$response = $client->account->getSummary();const response = await client.account.getSummary();Response
{
"data": {
"owner": {
"name": "John Doe",
"email": "user@example.com"
},
"account": {
"name": "My Account",
"company": "Acme Corp"
},
"partner": {
"external_customer_url": "https://myapp.com/customers/YOUR_ID"
},
"cluster": {
"alb_dns_name": "alb-abc123.us-west-2.elb.amazonaws.com",
"aurora_cluster_endpoint": "cluster.abc123.us-east-1.rds.amazonaws.com",
"ssh_nlb_dns": "nlb-abc123.us-west-2.elb.amazonaws.com"
},
"domains": [
"example.com",
"example.org"
],
"sites": {
"total": 4,
"by_status": {
"pending": 0,
"activation_requested": 0,
"active": 3,
"suspension_requested": 0,
"suspended": 1,
"unsuspension_requested": 0
}
},
"environments": {
"total": 7,
"by_status": {
"pending": 1,
"provisioning": 0,
"active": 5,
"suspending": 0,
"suspended": 1,
"unsuspending": 0,
"failed": 0
}
},
"total_sites": 4,
"pending_sites": 0,
"total_environments": 7,
"production_environments": 3,
"deployments_7d": 12,
"failed_deployments_7d": 1,
"active_backups": 4,
"recent_activity": [],
"recent_deployments": []
},
"message": "Account summary retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}Update Account Settings
Update partner-level configuration on the authenticated account. The most
important setting today is external_customer_url, a URL template containing
the literal token YOUR_ID. When a site's your_customer_id is rendered in
the Vector Pro control panel, that token is substituted with the value and
the customer ID is shown as a link to the partner's own system.
On success this endpoint returns the same shape as GET /vector/account so
clients can refresh their cached account state in a single round trip.
Body Parameters
| Name | Type | Description |
|---|---|---|
external_customer_url optional | string | nullable A URL template that must contain the literal token Example: "https://myapp.com/customers/YOUR_ID" |
Request
curl -X PATCH \
"https://api.builtfast.com/api/v1/vector/account" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"external_customer_url":"https://myapp.com/customers/YOUR_ID"}'$response = $vectorPro
->account
->patch([
'external_customer_url' => 'https://myapp.com/customers/YOUR_ID',
]);const response = await vectorPro
.account
.patch({
external_customer_url: 'https://myapp.com/customers/YOUR_ID',
});Response
{
"data": {
"owner": {
"name": "John Doe",
"email": "user@example.com"
},
"account": {
"name": "My Account",
"company": "Acme Corp"
},
"partner": {
"external_customer_url": "https://myapp.com/customers/YOUR_ID"
},
"cluster": null,
"domains": [],
"sites": {
"total": 0,
"by_status": {}
},
"environments": {
"total": 0,
"by_status": {}
}
},
"message": "Account updated successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"errors": {
"external_customer_url": [
"The external customer URL must contain the literal token YOUR_ID, which is replaced with each site's your_customer_id when the link is rendered."
]
},
"message": "Validation failed",
"http_status": 422
}API Keys
Manage API access tokens for authentication. Tokens provide Bearer token authentication for all API requests.
The plain text token is returned only once when created - store it securely as it cannot be retrieved again. Tokens can be revoked at any time.
List API Keys
Retrieves a paginated list of API keys for the authenticated user. Token values are never returned - only metadata like name, creation date, and last used timestamp.
Query Parameters
| Name | Type | Description |
|---|---|---|
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/api-keys?per_page=25&page=1" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$apiKeys = $client->account->apiKeys->list();const apiKeys = await client.account.apiKeys.list();Response
{
"data": [
{
"name": "Production API Key",
"abilities": [
"*"
],
"last_used_at": "2025-01-15T12:00:00+00:00",
"expires_at": null,
"created_at": "2025-01-15T12:00:00+00:00"
}
],
"links": {},
"meta": {},
"message": "API keys retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}Create API Key
Creates a new API key for the authenticated user.
The API key is returned ONLY in this response. Store it securely—it cannot be retrieved again.
Use this token in the Authorization header for all API requests.
Abilities
Abilities control what operations the token can perform. Available abilities:
*- Full access (default)mcp- Full MCP access (for AI assistants like Claude)account:read- Read account informationsite:read- Read sites, environments, deployments, database operationssite:write- Manage sites, environments, deployments, database import/exportdomain:read- Read domainsdomain:write- Manage domainslog:read- Read site logscdn:read- Read CDN settingscdn:write- Manage CDN settings and cachewebhook:read- Read webhookswebhook:write- Manage webhookssecret:read- Read API keys and global secretssecret:write- Manage API keys and global secretssshkey:read- Read SSH keyssshkey:write- Manage SSH keysevents:read- Read event logs
Body Parameters
| Name | Type | Description |
|---|---|---|
name required | string | A descriptive name for this API key. Example: "Production API Key" |
abilities optional | string[] | Optional array of abilities. Defaults to ["*"] for full access. Example: ["site:read","site:write"] |
expires_at optional | datetime | Optional expiration date for the token. Must be in the future. Example: "2025-12-31T23:59:59+00:00" |
Request
curl -X POST \
"https://api.builtfast.com/api/v1/vector/api-keys" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"Production API Key","abilities":["site:read","site:write"],"expires_at":"2025-12-31T23:59:59+00:00"}'$apiKey = $client->account->apiKeys->create([
'name' => 'Production API Key',
'abilities' => ['site:read', 'site:write'],
'expires_at' => '2025-12-31T23:59:59+00:00',
]);const apiKey = await client.account.apiKeys.create({
name: 'Production API Key',
abilities: ['site:read', 'site:write'],
expires_at: '2025-12-31T23:59:59+00:00',
});Response
{
"data": {
"name": "Production API Key",
"token": "1|a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd",
"abilities": [
"*"
],
"expires_at": null,
"created_at": "2025-01-15T12:00:00+00:00"
},
"message": "API key created successfully. Store this token securely - it will not be shown again.",
"http_status": 201
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"errors": {
"name": [
"The name field is required."
]
},
"message": "Validation failed",
"http_status": 422
}Delete API Key
Deletes an API key. You cannot delete the token currently being used for authentication. This operation is irreversible.
URL Parameters
| Name | Type | Description |
|---|---|---|
token required | integer | The API key ID. Example: 1 |
Request
curl -X DELETE \
"https://api.builtfast.com/api/v1/vector/api-keys/1" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$response = $client->account->apiKeys->delete('1');const response = await client.account.apiKeys.delete('1');Response
{
"data": {
"name": "Production API Key",
"abilities": [
"*"
],
"last_used_at": "2025-01-15T12:00:00+00:00",
"expires_at": null,
"created_at": "2025-01-15T12:00:00+00:00"
},
"message": "API key deleted successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "Cannot delete the token currently in use",
"http_status": 403
}{
"data": {},
"message": "API key not found",
"http_status": 404
}Secrets
Manage account-level secrets and environment variables that are available to all sites within your account. These are injected during site deployment.
Global secrets apply to all environments across all sites in your account. For environment-specific secrets, use the Environment Secrets API instead.
Items with is_secret=true (the default) are stored in AWS Secrets Manager and their values
are never returned in API responses. Items with is_secret=false are stored as Lambda
environment variables and their values ARE returned in API responses.
Certain keys are reserved for system use and cannot be used.
List Secrets
Retrieves a paginated list of all global secrets and environment variables for your account.
Values are only included for environment variables (is_secret=false).
Query Parameters
| Name | Type | Description |
|---|---|---|
per_page optional | integer | Number of items per page (max 100). Default: 15. Example: 10 |
page optional | integer | Page number for pagination. Example: 1 |
Request
curl -X GET \
"https://api.builtfast.com/api/v1/vector/global-secrets?per_page=10&page=1" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$secrets = $client->account->secrets->list();const secrets = await client.account.secrets.list();Response
{
"data": [
{
"id": "01jfgxk4nqrst5vwx9yz0abcde",
"key": "STRIPE_SECRET_KEY",
"is_secret": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
{
"id": "01jfgxk4nqrst5vwx9yz0abcdf",
"key": "APP_ENV",
"is_secret": false,
"value": "production",
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
}
],
"links": {},
"meta": {},
"message": "Global secrets retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}Get Secret
Retrieves details of a specific global secret or environment variable.
The value is only included for environment variables (is_secret=false).
URL Parameters
| Name | Type | Description |
|---|---|---|
secret required | string | The secret ID. Example: "01jfgxk4nqrst5vwx9yz0abcde" |
Request
curl -X GET \
"https://api.builtfast.com/api/v1/vector/global-secrets/01jfgxk4nqrst5vwx9yz0abcde" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$secret = $client->account->secrets->get('01jfgxk4nqrst5vwx9yz0abcde');const secret = await client.account.secrets.get('01jfgxk4nqrst5vwx9yz0abcde');Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcde",
"key": "STRIPE_SECRET_KEY",
"is_secret": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "Global secret retrieved successfully",
"http_status": 200
}{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcdf",
"key": "APP_ENV",
"is_secret": false,
"value": "production",
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "Global secret retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "Global secret not found",
"http_status": 404
}Create Secret
Creates a new global secret or environment variable for your account. It will be available to all sites within your account during deployment.
Set is_secret to false to create a plain environment variable instead of a secret.
Environment variables are stored as Lambda env vars (cheaper) and their values are
returned in API responses. Secrets are stored in AWS Secrets Manager and their values
are never returned.
The following keys are reserved and cannot be used: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT, AUTOMATIC_UPDATER_DISABLED, DISABLE_WP_CRON, DISALLOW_FILE_EDIT, DISALLOW_FILE_MODS, DOMAIN_CURRENT_SITE, WP_HOME, WP_SITEURL, YMIR_ASSETS_PATH, YMIR_ASSETS_URL, YMIR_CACHE_PREFIX, YMIR_CACHE_TABLE, YMIR_CDN_IMAGE_PROCESSING_ENABLED, YMIR_DISTRIBUTION_ID, YMIR_DOMAIN_NAMES, YMIR_ENVIRONMENT, YMIR_MAX_EXECUTION_TIME, YMIR_PRIMARY_DOMAIN_NAME, YMIR_PROJECT_TYPE, YMIR_PUBLIC_STORE, YMIR_REDIS_ENDPOINT, YMIR_SECRETS_PATH, YMIR_UPLOAD_URL, _HANDLER, AWS_ACCESS_KEY_ID, AWS_EXECUTION_ENV, AWS_LAMBDA_FUNCTION_MEMORY_SIZE, AWS_LAMBDA_FUNCTION_NAME, AWS_LAMBDA_FUNCTION_VERSION, AWS_LAMBDA_LOG_GROUP_NAME, AWS_LAMBDA_LOG_STREAM_NAME, AWS_LAMBDA_RUNTIME_API, AWS_REGION, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, LAMBDA_RUNTIME_DIR, LAMBDA_TASK_ROOT, TZ
Body Parameters
| Name | Type | Description |
|---|---|---|
key required | string | The secret key name. Must start with a letter and contain only uppercase letters, numbers, and underscores. Example: "STRIPE_SECRET_KEY" |
value required | string | The secret value. Example: "sk_live_xxxx" |
is_secret optional | boolean | Whether this is a secret (stored in AWS Secrets Manager) or a plain environment variable. Default: true. Example: true |
Request
curl -X POST \
"https://api.builtfast.com/api/v1/vector/global-secrets" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"key":"STRIPE_SECRET_KEY","value":"sk_live_xxxx","is_secret":true}'$secret = $client->account->secrets->create([
'key' => 'STRIPE_SECRET_KEY',
'value' => 'sk_live_xxxx',
'is_secret' => true,
]);const secret = await client.account.secrets.create({
key: 'STRIPE_SECRET_KEY',
value: 'sk_live_xxxx',
is_secret: true,
});Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcde",
"key": "STRIPE_SECRET_KEY",
"is_secret": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "Global secret created successfully",
"http_status": 201
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"errors": {
"key": [
"The secret key is required."
]
},
"message": "Validation failed",
"http_status": 422
}Update Secret
Updates an existing global secret or environment variable. You can update the key, value, is_secret flag, or any combination.
The following keys are reserved and cannot be used: AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT, AUTOMATIC_UPDATER_DISABLED, DISABLE_WP_CRON, DISALLOW_FILE_EDIT, DISALLOW_FILE_MODS, DOMAIN_CURRENT_SITE, WP_HOME, WP_SITEURL, YMIR_ASSETS_PATH, YMIR_ASSETS_URL, YMIR_CACHE_PREFIX, YMIR_CACHE_TABLE, YMIR_CDN_IMAGE_PROCESSING_ENABLED, YMIR_DISTRIBUTION_ID, YMIR_DOMAIN_NAMES, YMIR_ENVIRONMENT, YMIR_MAX_EXECUTION_TIME, YMIR_PRIMARY_DOMAIN_NAME, YMIR_PROJECT_TYPE, YMIR_PUBLIC_STORE, YMIR_REDIS_ENDPOINT, YMIR_SECRETS_PATH, YMIR_UPLOAD_URL, _HANDLER, AWS_ACCESS_KEY_ID, AWS_EXECUTION_ENV, AWS_LAMBDA_FUNCTION_MEMORY_SIZE, AWS_LAMBDA_FUNCTION_NAME, AWS_LAMBDA_FUNCTION_VERSION, AWS_LAMBDA_LOG_GROUP_NAME, AWS_LAMBDA_LOG_STREAM_NAME, AWS_LAMBDA_RUNTIME_API, AWS_REGION, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, LAMBDA_RUNTIME_DIR, LAMBDA_TASK_ROOT, TZ
URL Parameters
| Name | Type | Description |
|---|---|---|
secret required | string | The secret ID. Example: "01jfgxk4nqrst5vwx9yz0abcde" |
Body Parameters
| Name | Type | Description |
|---|---|---|
key optional | string | The new secret key name. Must start with a letter and contain only uppercase letters, numbers, and underscores. Example: "STRIPE_API_KEY" |
value optional | string | The new secret value. Example: "sk_live_yyyy" |
is_secret optional | boolean | Whether this is a secret or a plain environment variable. Example: true |
Request
curl -X PUT \
"https://api.builtfast.com/api/v1/vector/global-secrets/01jfgxk4nqrst5vwx9yz0abcde" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"key":"STRIPE_API_KEY","value":"sk_live_yyyy","is_secret":true}'$secret = $client->account->secrets->update(
'01jfgxk4nqrst5vwx9yz0abcde',
[
'key' => 'STRIPE_API_KEY',
'value' => 'sk_live_yyyy',
'is_secret' => true,
]
);const secret = await client.account.secrets.update(
'01jfgxk4nqrst5vwx9yz0abcde',
{
key: 'STRIPE_API_KEY',
value: 'sk_live_yyyy',
is_secret: true,
}
);Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcde",
"key": "STRIPE_API_KEY",
"is_secret": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "Global secret updated successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "Global secret not found",
"http_status": 404
}{
"data": {},
"errors": {
"key": [
"The secret key must start with a letter and contain only uppercase letters, numbers, and underscores."
]
},
"message": "Validation failed",
"http_status": 422
}Delete Secret
Deletes a global secret from your account.
URL Parameters
| Name | Type | Description |
|---|---|---|
secret required | string | The secret ID. Example: "01jfgxk4nqrst5vwx9yz0abcde" |
Request
curl -X DELETE \
"https://api.builtfast.com/api/v1/vector/global-secrets/01jfgxk4nqrst5vwx9yz0abcde" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$response = $client->account->secrets->delete('01jfgxk4nqrst5vwx9yz0abcde');const response = await client.account.secrets.delete('01jfgxk4nqrst5vwx9yz0abcde');Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcde",
"key": "STRIPE_SECRET_KEY",
"is_secret": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "Global secret deleted successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "Global secret not found",
"http_status": 404
}SSH Keys
Manage account-level default SSH keys. These keys serve as templates that are automatically installed on new dev sites when they are created.
Important: Changes to account-level keys do not affect existing sites. To add or remove keys from an existing site, use the site-specific SSH key endpoints instead.
List SSH Keys
Retrieves a paginated list of account-level default SSH keys. These are template keys that will be installed on new dev sites.
Query Parameters
| Name | Type | Description |
|---|---|---|
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/ssh-keys?per_page=25&page=1" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$sshKeys = $client->account->sshKeys->list();const sshKeys = await client.account.sshKeys.list();Response
{
"data": [
{
"id": "01jfgxk4nqrst5vwx9yz0abcdi",
"account_id": 1,
"vector_site_id": null,
"name": "deploy key",
"fingerprint": "SHA256:abc123def456...",
"public_key_preview": "ssh-rsa AAAAB3NzaC1yc2EA...user@host",
"is_account_default": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
}
],
"links": {},
"meta": {},
"message": "SSH keys retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}Get SSH Key
Retrieves details of a specific account-level SSH key.
URL Parameters
| Name | Type | Description |
|---|---|---|
key required | string | The SSH key ID. Example: "01jfgxk4nqrst5vwx9yz0abcdi" |
Request
curl -X GET \
"https://api.builtfast.com/api/v1/vector/ssh-keys/01jfgxk4nqrst5vwx9yz0abcdi" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$sshKey = $client->account->sshKeys->get('01jfgxk4nqrst5vwx9yz0abcdi');const sshKey = await client.account.sshKeys.get('01jfgxk4nqrst5vwx9yz0abcdi');Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcdi",
"account_id": 1,
"vector_site_id": null,
"name": "deploy key",
"fingerprint": "SHA256:abc123def456...",
"public_key_preview": "ssh-rsa AAAAB3NzaC1yc2EA...user@host",
"is_account_default": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "SSH key retrieved successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "SSH key not found",
"http_status": 404
}Create SSH Key
Creates a new account-level default SSH key. This key will be automatically installed on any new dev sites created after this point.
Note: This does not affect existing sites. To add a key to an existing site, use the site-specific SSH key endpoint.
Body Parameters
| Name | Type | Description |
|---|---|---|
name required | string | A friendly name for the SSH key. Example: "deploy key" |
public_key required | string | The SSH public key in OpenSSH format. Example: "ssh-rsa AAAAB3NzaC1yc2EA... user@host" |
Request
curl -X POST \
"https://api.builtfast.com/api/v1/vector/ssh-keys" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"name":"deploy key","public_key":"ssh-rsa AAAAB3NzaC1yc2EA... user@host"}'$sshKey = $client->account->sshKeys->create([
'name' => 'deploy key',
'public_key' => 'ssh-rsa AAAAB3NzaC1yc2EA... user@host',
]);const sshKey = await client.account.sshKeys.create({
name: 'deploy key',
public_key: 'ssh-rsa AAAAB3NzaC1yc2EA... user@host',
});Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcdi",
"account_id": 1,
"vector_site_id": null,
"name": "deploy key",
"fingerprint": "SHA256:abc123def456...",
"public_key_preview": "ssh-rsa AAAAB3NzaC1yc2EA...user@host",
"is_account_default": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "SSH key created successfully",
"http_status": 201
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"errors": {
"public_key": [
"Unable to parse SSH public key. Ensure it is in valid OpenSSH format."
]
},
"message": "Validation failed",
"http_status": 422
}{
"data": {},
"errors": {
"public_key": [
"An SSH key with this fingerprint already exists for this account."
]
},
"message": "Validation failed",
"http_status": 422
}Delete SSH Key
Deletes an account-level default SSH key. This does not remove the key from any existing sites where it has already been installed.
URL Parameters
| Name | Type | Description |
|---|---|---|
key required | string | The SSH key ID. Example: "01jfgxk4nqrst5vwx9yz0abcdi" |
Request
curl -X DELETE \
"https://api.builtfast.com/api/v1/vector/ssh-keys/01jfgxk4nqrst5vwx9yz0abcdi" \
-H "Authorization: Bearer $API_KEY" \
-H "Accept: application/json"$response = $client->account->sshKeys->delete('01jfgxk4nqrst5vwx9yz0abcdi');const response = await client.account.sshKeys.delete('01jfgxk4nqrst5vwx9yz0abcdi');Response
{
"data": {
"id": "01jfgxk4nqrst5vwx9yz0abcdi",
"account_id": 1,
"vector_site_id": null,
"name": "deploy key",
"fingerprint": "SHA256:abc123def456...",
"public_key_preview": "ssh-rsa AAAAB3NzaC1yc2EA...user@host",
"is_account_default": true,
"created_at": "2025-01-15T12:00:00+00:00",
"updated_at": "2025-01-15T12:00:00+00:00"
},
"message": "SSH key deleted successfully",
"http_status": 200
}{
"data": {},
"message": "Unauthenticated",
"http_status": 401
}{
"data": {},
"message": "SSH key not found",
"http_status": 404
}